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

How to compute distances along a network in shapefile? in R

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

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

我找到的最接近的东西是包 "secrlinear" 中的函数 "networkdistance",但是我无法将我的 shapefile 转换为使用该函数所需的格式("linearmask"对象)。

如有任何帮助,我们将不胜感激。

提前致谢,

蒂娜。

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

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

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

抱歉,这不是更及时 -