我是gis的新手,并为此感到震惊。我有一个由小线串(折线)组成的河流网络。在不同的shapefile中,我在河上有几个工作站的位置。我需要找到从每个车站到河尾的沿河距离。
问题是我没有一条完整的河线。而且没有通用属性可以用来合并或合并线串。另外,一些车站在支流上。
因此,最重要的是,我需要建立包括支流的大型河流网络并执行班轮参考。但是我不知道该怎么做。任何帮助深表感谢。请尽可能清楚地说明。
如果您需要更多信息,请发表评论。
我是gis的新手,并为此感到震惊。我有一个由小线串(折线)组成的河流网络。在不同的shapefile中,我在河上有几个工作站的位置。我需要找到从每个车站到河尾的沿河距离。
问题是我没有一条完整的河线。而且没有通用属性可以用来合并或合并线串。另外,一些车站在支流上。
因此,最重要的是,我需要建立包括支流的大型河流网络并执行班轮参考。但是我不知道该怎么做。任何帮助深表感谢。请尽可能清楚地说明。
如果您需要更多信息,请发表评论。
Answers:
我会同意威尔。您的主要问题是定义每条折线的原点。什么是“河流”?我将假设支流是从支流的0->长度开始的独立“路线”。然后,对于主要河流,我将保持不变,但是在这种情况下,我将从所有组成的折线创建一条合并的折线。我认为一旦有了,您就“几乎”在那里。然后:将所有合并的折线转换为测量的折线(PolylineM)-包括支路。然后,您便有了“路由网络”。从那时起,只需找到沿每个路线的路线的距离即可。我想测站位置是在XY中定义的?还有-另一个猜测-他们没有完全落在河顶,他们吗?无论如何,您都将需要一种方法来找到车站从每条河流或三分之三开始处的距离。从理论上讲,如果一个站位于河流和支流的交汇处,则它可能有两个位置(每个位置一个)。
要找到此位置,您可以使用ArcMap工具,但是已经有一段时间没有使用它们了,所以记不起我的头了。另一方面,如果将shapefile(?)导入PostGIS,则可以使用ST_Line_Locate_Point。该功能:
返回介于0和1之间的浮点数,表示LineString上与给定Point点最近的点的位置,以总2d线长的一部分表示。
这意味着您可以找到沿河的位置乘以(合并的)河段长度。最后说明-如果您使用PostGIS,则不必执行创建PolylineM的步骤,仅ArcGIS要求使用它进行线性参考。
希望这有道理!
从我同样的问题来看,
以下有用的链接出现了。
grass.osgeo.org/gdp/html_grass63/lrs.html
wiki.faunalia.it/dokuwiki/doku.php/qgis/lrs
我不会因为缺乏努力而完成任务。我相信您将遇到的乏味正在提名每条折线的来源。