Divides SpatialLinesDataFrame objects into separate Lines. Each new Lines object is the aggregate of a single number of aggregated lines.

gsection(sl, buff_dist = 0)

Arguments

sl

SpatialLinesDataFrame with overlapping Lines to split by number of overlapping features.

buff_dist

A number specifying the distance in meters of the buffer to be used to crop lines before running the operation. If the distance is zero (the default) touching but non-overlapping lines may be aggregated.

See also

Examples

lib_versions <- sf::sf_extSoftVersion() lib_versions
#> GEOS GDAL proj.4 GDAL_with_GEOS USE_PROJ_H #> "3.8.0" "3.0.4" "6.3.1" "true" "true" #> PROJ #> "6.3.1"
# fails on some systems (with early versions of PROJ) if (lib_versions[3] >= "6.3.1") { sl <- routes_fast_sf[2:4, ] rsec <- gsection(sl) length(rsec) # sections plot(rsec, col = seq(length(rsec))) rsec <- gsection(sl, buff_dist = 50) length(rsec) # 4 features: issue plot(rsec, col = seq(length(rsec))) # dont test due to issues with sp classes on some set-ups # sl <- routes_fast[2:4, ] # rsec <- gsection(sl) # rsec_buff <- gsection(sl, buff_dist = 1) # plot(sl[1], lwd = 9, col = 1:nrow(sl)) # plot(rsec, col = 5 + (1:length(rsec)), add = TRUE, lwd = 3) # plot(rsec_buff, col = 5 + (1:length(rsec_buff)), add = TRUE, lwd = 3) }