geo_match | R Documentation |
Match Across Geographic Layers
geo_match(
from,
to,
method = "center",
by = NULL,
tiebreaker = TRUE,
epsg = 3857
)
from |
smaller geographic level to match up from |
to |
larger geographic level to be matched to |
method |
string from 'center', 'centroid', 'point', 'circle', or 'area' for matching method |
by |
A character vector to match by. One element if both |
tiebreaker |
Should ties be broken? boolean. If FALSE, precincts with no matches get value -1 and precincts with multiple matches get value -2. |
epsg |
numeric EPSG code to planarize to. Default is 3857. |
Methods are as follows:
centroid: matches each element of from
to the to
entry that the geographic centroid intersects
center: very similar to centroid, but it matches an arbitrary center point within from
if the centroid of from
is outside the bounds of from. (This happens for non-convex shapes only).
point: matches each element of from
to the to
entry that the "point on surface" intersects.
circle: matches each element of from
to the to
entry that the centroid
of the maximum inscribed circle intersects
area: matches each element of from
to the to
element which has the largest area overlap
Integer Vector of matches length(to) with values in 1:nrow(from)
library(dplyr)
data(checkerboard)
counties <- sf::st_as_sf(as.data.frame(rbind(
sf::st_union(checkerboard %>% filter(i < 4)),
sf::st_union(checkerboard %>% filter(i >= 4))
)))
geo_match(from = checkerboard, to = counties)
geo_match(from = checkerboard, to = counties, method = 'area')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.