我在shapefile中有一个河网(类:" SpatialLinesDataFrame"),上面有一些点(见下图)。
我想计算点之间的距离,但是沿着河流。我一直在搜索,我无法找到任何直接允许的功能。
我发现最接近的是功能" networkdistance"在包" secrlinear"中,但是我没有设法将我的shapefile转换为使用该函数所需的格式(" linearmask" object)。
对此有任何帮助将非常感激。
提前致谢,
蒂娜。
答案 0 :(得分:2)
我知道这是一个旧线程,但万一将来有人会遇到这个问题:我刚刚发布了一个处理这个问题的R软件包(riverdist),还提供了一些网络编辑和数据摘要和工具的工具。 ;可视化。它是以渔业工作为基础编写的,但可能适用于您正在进行的工作,或者至少是希望!
https://cran.r-project.org/web/packages/riverdist/vignettes/riverdist_vignette.html
对不起,这不是更及时 -
答案 1 :(得分:0)
我认为我们离线解决了这个问题:shapefile的地理坐标(lat / long)需要先投影才能在secrlinear中使用。该软件包近似于线性网络,并使用igraph函数进行距离。