Cast shp
to component polygons, build the adjacency, and check the contiguity.
Avoids issues where a precinct is actually a multipolygon
check_polygon_contiguity(shp, group, epsg = 3857)
An sf data frame
unquoted name of group identifier in shp. Typically, this is district assignment. If you're looking for dis-contiguous precincts, this should be a row number.
numeric EPSG code to planarize to. Default is 3857.
tibble with a column for each of inputted group, created group number, and the identified connected component number
data(checkerboard)
check_polygon_contiguity(checkerboard, i)
#> Warning: Planarizing skipped. `x` missing CRS.
#> # A tibble: 64 × 3
#> group group_number component
#> <int> <int> <int>
#> 1 0 1 1
#> 2 0 1 1
#> 3 0 1 1
#> 4 0 1 1
#> 5 0 1 1
#> 6 0 1 1
#> 7 0 1 1
#> 8 0 1 1
#> 9 1 2 1
#> 10 1 2 1
#> # ℹ 54 more rows