我有一个大型河网作为SpatialLines(DataFrame),并希望对其进行子集处理,所以我得到了一条SpatialLine,其中只有两个SpatialPoints(DataFrame)之间的路径最短/最快,这很可能需要首先捕捉到该线上。 >
在示例代码中,我想在红点之间移动时保持最接近的直线。我也想在左红色点和右蓝色点之间移动,需要将其捕捉到最近的SpatialLine
library(sp)
x <- c(1,5,6,8)
y1 <- c(1,3,4,7)
y2 <- c(5,5,5,2)
L <- SpatialLines(list(Lines(Line(cbind(x,y1)), ID="a"),Lines(Line(cbind(x,y2)), ID="b")))
P <- SpatialPoints(data.frame(x=c(1,8),y=c(1,2)))
P_snap <- SpatialPoints(data.frame(x=c(8),y=c(1)))
plot(L)
points(P,col="red")
points(P_snap,col="blue")