从SpatialLines(DataFrame)获取两点之间的最短/最快路径

时间:2019-08-09 11:36:50

标签: r geospatial gdal polyline sp

我有一个大型河网作为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")

0 个答案:

没有答案