I've been working on a problem related to the contents of this thread. Suppose I have a SpatialLines object representing the boundary of a study area, and I would like to split/segment the line at sample points equally spaced along the line. I can connect the sample points with straight lines, but I haven't figured out how to include the vertices of the SpatialLines object between a given pair of sample points. An example is below:
library(sp) Sl = SpatialLines(list(Lines(list(Line(cbind(c(1,2,2,1,1),c(1,1,2,2,1)))), ID="a"))) set.seed(123) sample.points <- spsample(Sl, 10, type="regular") plot(Sl) plot(sample.points, pch=1, col="red", add=T) cc <- coordinates(sample.points) cc <- rbind(cc, cc[1,]) outputlist = list() i <- 1 while(i < (nrow(cc))){ coords1 <- cc[i,] coords2 <- cc[i+1,] bind <- rbind(coords1, coords2) outputlist[[i]] <- Lines(list(Line(bind)), as.character(i)) i <- i+1 } out <- SpatialLines(outputlist) plot(out, lty=2, col="green", add=T) In this example, simply connecting the sample points with a straight line would effectively cut off the corners of the original SpatialLines object. I can't seem to find an efficient solution that can be transferred to my highly irregular SpatialLines object with thousands of sample points. Thanks for any insight, Kevin -- View this message in context: http://r-sig-geo.2731867.n2.nabble.com/split-divide-SpatialLines-sp-into-n-segments-tp7583234p7583629.html Sent from the R-sig-geo mailing list archive at Nabble.com. _______________________________________________ R-sig-Geo mailing list R-sig-Geo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo