【发布时间】:2015-05-09 11:31:05
【问题描述】:
我有一个莫桑比克铁路的 Shapefile,并使用下面的代码沿铁路生成了 100 个随机点。
我的问题很简单,但我找不到答案:您如何计算铁路沿两点之间的距离?
我不想要欧几里得距离,我想要从 A 点到 B 点的距离,沿着铁轨走。
提前致谢!
library(sp)
library(rgdal)
library(spgrass6)
library(maptools)
library(igraph)
library(fields)
railroads <- readShapeLines("MOZ_rails.shp")
#Generate 100 random points, and put them on a matrix:
RandomPoints<-spsample(railroads, 100, type="random")
【问题讨论】:
-
我想,你可以把路径分成几条准无穷小腿,计算每条腿的欧几里得距离,然后求和。
-
也许这是一个开始,假设您还没有阅读它? rpubs.com/geospacedman/routing
-
嗨,Alexey,这可行,但我实际上有 100 个点,需要找到每个点之间的距离 - 该方法可能需要大量计算。嗨,罗曼,我会看看你建议的方法。谢谢!
-
R 没有简单的解决方案。This 可能会有所帮助。另一个解决方案可能是spatialSQL。