计算线段的长度,以R为单位

时间:2018-07-17 09:08:03

标签: r geospatial distance

我有一个公交网络提供的GTFS,想计算给定线路内每对站点之间的距离(以公里为单位)。

我有两个成对的清单(lon,lat)。第一个列表代表路线,第二个列表代表车站。重要的是要注意,这些停靠点可以在直线上或旁边,因此它们可以或不能成为第一个点列表的一部分:

linea <- shape_ruta %>% 
select(shape_pt_lon, shape_pt_lat)

puntos <- viaje_ruta %>% 
select(stop_lon, stop_lat)

head of linea

head of puntos

直到现在我要做的是使用以下代码来识别最接近停靠点的直线点:

d = dist2Line(puntos, linea, distfun=distHaversine)
plot(makeLine(linea), type = 'l')
points(linea)
points(puntos, col = 'blue', pch = 20)
points(d[,2], d[,3], col = 'red', pch = 'x')
for (i in 1:nrow(d)) lines(gcIntermediate(puntos[i,], d[i,2:3], 10), lwd = 2)

有了这个,我得到“ d”,它是直线上与每个停靠点和下图最接近的点:

Graph with the line, stops and closest points in the line

我现在不知道该怎么做,是按照线的形状计算该线段中每个线段(从一个红色的点到另一个,基本上是“ d”中的点)的距离(以公里为单位)

我已经使用了几天,将非常感谢您的帮助:)

0 个答案:

没有答案