Cluster junction points into polygons

cluster_junction(x, dist = 15, nQuadSegs = 3)

Arguments

x

a SF data frame of joints

dist

buffer distance past to sf::st_buffer

nQuadSegs

how many segments per quatrant? 5 is the default.

Value

Returns an SF data frame of POLYGONS

Details

This function clusters points together and defines junction polygons, the size of the polygons is dictated by dist. For single junction points a circle around the junction point is returned. For clustered junctions a polygon enclosing the whole junction area is returned. A column called junction_ids provides a looup list between the junction clusters and the junction points.

See also

Examples

x = osm_main_roads(tc_data_osm)
#> Loading required namespace: sf
junctions = osm_get_junctions(x)
#> Linking to GEOS 3.8.1, GDAL 3.2.1, PROJ 7.2.1
junction_polygons_15 = cluster_junction(junctions)
#> Clustering 50 junctions
#> Creating 35 geometries
junction_polygons_30 = cluster_junction(junctions, dist = 30)
#> Clustering 50 junctions
#> Creating 22 geometries
plot(x$geometry, col = "grey")
plot(junction_polygons_30, add = TRUE)
#> Warning: ignoring all but the first attribute
plot(junction_polygons_15, add = TRUE)
#> Warning: ignoring all but the first attribute