如何在shapefile中计算网络距离?在R

时间:2015-04-08 17:57:35

标签: r networking gis distance shapefile

我在shapefile中有一个河网(类:" SpatialLinesDataFrame"),上面有一些点(见下图)。

我想计算点之间的距离,但是沿着河流。我一直在搜索,我无法找到任何直接允许的功能。

我发现最接近的是功能" networkdistance"在包" secrlinear"中,但是我没有设法将我的shapefile转换为使用该函数所需的格式(" linearmask" object)。

对此有任何帮助将非常感激。

提前致谢,

蒂娜。

enter image description here

2 个答案:

答案 0 :(得分:2)

我知道这是一个旧线程,但万一将来有人会遇到这个问题:我刚刚发布了一个处理这个问题的R软件包(riverdist),还提供了一些网络编辑和数据摘要和工具的工具。 ;可视化。它是以渔业工作为基础编写的,但可能适用于您正在进行的工作,或者至少是希望!

https://cran.r-project.org/web/packages/riverdist/vignettes/riverdist_vignette.html

对不起,这不是更及时 -

答案 1 :(得分:0)

我认为我们离线解决了这个问题:shapefile的地理坐标(lat / long)需要先投影才能在secrlinear中使用。该软件包近似于线性网络,并使用igraph函数进行距离。