【发布时间】:2015-04-08 17:57:34
【问题描述】:
我在 shapefile(类:“SpatialLinesDataFrame”)中有一个河流网络,上面有一些点(见下图)。
我想计算点之间的距离,但是沿着河流。我一直在搜索,但找不到任何直接允许这样做的功能。
我发现最接近的是“secrlinear”包中的“networkdistance”函数,但是我无法将我的 shapefile 转换为使用该函数所需的格式(“linearmask”对象)。
对此的任何帮助将不胜感激。
提前致谢,
蒂娜。
【问题讨论】:
-
假设您可以唯一地识别每个点,您可以计算沿河流的点到点的距离的累积总和。您需要对河流(即点)进行“分组”,例如点数最多的河流中的四个。结果是近似的,但是有几个包可以计算点之间的陆地英里(或公里)。
-
路由可能会有所帮助:rpubs.com/geospacedman/routing
-
谢谢!按照@lawyeR 的建议去做,我需要以某种方式提取两个给定点之间的河流部分。一旦我有了它,就更容易获得形成河流形状文件的点之间的累积和。问题是我不得不承认我不知道如何隔离两点之间的河流部分......
-
感谢@Edi,但显然我也无法将我的 shapefile 转换为 igraph 类...
-
但是,如果您可以找到河网上的点(您必须将它们绘制为红点),您可以添加一列以按河流对它们进行分组并沿河流排序,对吗?
标签: r networking gis distance shapefile