我们需要找到沿着给定折线的一系列点的距离。

我们有一条折线数据集,代表流域中的河流,分为河流段(例如FID 1到35)。

在该流域中,我们还有一个抽象许可的点数据集,其中一些许可沿着河流分布-我们可以从属性表中得知这些许可被定义为地下水许可或地表水许可。

两者不相关-即一个不是从另一个派生的。
因此,尽管在这些河流上存在“现实”,但并非所有地表水许可证都完全位于河流多义线上方。

我们需要能够看到哪些点在“上游/下游” ”,因此希望列出该点到达哪条河的清单,然后是该河段起点下游的距离。然后,我们可以比较两个点的下游距离,以查看哪个上游和哪个下游-理想的结果!

要解决在我们告诉我们的河流附近/非常靠近的地方寻找点的问题在每个河段周围使用一个(小)缓冲区,然后查询缓冲区以查找其中的点。

这很好,但是我们剩下一个区域(缓冲区),而不是一条线,因此我们无法在此范围内/之内测量距离。

是否可以使用上述缓冲区来查找有关河流段上/附近的点,然后以某种方式(?!)查询这些点沿河流段(折线段)的距离?

评论

在折线要素类上是否有一个包含下游到达FID的字段?

您必须在arcmap中执行此操作还是可以使用arcobjects?

RivEX可以生成这种类型的输出,请查看用于捕捉和链接的工具。

#1 楼

对于ArcGIS中的线性参考功能而言,这是一项完美的任务。请参见有关沿路线定位要素的帮助,并从那里进行探测。这些工具包括将路线(河流到达)附近的点的图层转换为“点事件”描述符的功能,该描述符描述了路线(到达)和距路线起点的距离。那正是您想要的。此外,这些工具允许用户设置“公差”:点不必精确地位于路线上。

工作流程是:


使河流达到“​​可测量的”。这样可以设置沿每个范围的距离。
将点表示为点层。
使用该工具为相对于路线的点创建“事件表”。
检查您的工作,因为您可能需要逆转某些河流的方向,具体取决于它们被数字化的程度。


评论


+1。他们还应该考虑使河流成为一个几何网络,以使用将获得上游/下游特征,路径等的工具。

– geoographika
2011-2-24在12:17



同上。 ArcGIS可以解决这个插值问题,所有繁重的工作en.wikipedia.org/wiki/Interpolation

–拉吉·亚瑟(Ragi Yaser Burhum)
2011-10-18 1:07

应该注意的是,您需要将点数据集和路线数据集放在同一坐标系中。直到我将线要素重新投影到与点文件相同的坐标系统后,然后沿上述重新投影的线要素创建了一个路线事件,“沿路线定位要素”工具对我来说无法正常工作。

–giski
13-10-23在21:05



@Matiss谢谢您的提醒。尽管当今的GIS具有“即时”重新投影功能,但仍然可以进行分析的唯一可靠方法是,确保所有输入数据集物理存储在一个公共(且适当的)坐标系中。

– hu
13-10-23在21:46

@whuber,您将始终为您提供帮助。

– SIslam
15年8月27日在6:25

#2 楼

我从没有尝试过,但是您可以考虑将其视为反向地理编码问题。为此,您可以为您的河流创建一个地址定位器,将该度量值视为“发件人”和“发件人”地址。

#3 楼

使用Near(分析)

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00080000001q000000.htm



评论


我认为这不会给到达范围的下游/上游带来距离。

– Kirk Kuykendall
2011-2-23在22:27

#4 楼

http://help.arcgis.com/zh-CN/sdk/10.0/arcobjects_net/componenthelp/index.html#/QueryPointAndDistance_Method/002m00000116000000/

#5 楼

http://resources.arcgis.com/zh-CN/help/main/10.1/index.html#//004800000006000000

此工具可用于网络(您必须具有Network Analyst)并指向。应用工具后,最终将t值(0到1之间的值)作为PosAlong。值存储在输入点表中。由于0是折线的起点,而1是终点,因此您需要将其乘以折线长度。您还具有SourceOID,它是同一表中的折线ID。