gsection: Function to split overlapping SpatialLines into segments

Description Usage Arguments Examples

View source: R/overline.R

Description

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

Usage

1
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.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
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)
# sf implementation (needs lwgeom)
if (!is.na(sf::sf_extSoftVersion()["lwgeom"])) {
  sl <- routes_fast_sf[2:4,]
  rsec <- gsection(sl)
  rsec <- gsection(sl, buff_dist = 100) # 4 features: issue
}

stplanr documentation built on March 18, 2018, 2:29 p.m.