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)

Arguments

shp

An sf data frame

group

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.

epsg

numeric EPSG code to planarize to. Default is 3857.

Value

tibble with a column for each of inputted group, created group number, and the identified connected component number

Examples

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