在ArcGIS Desktop中捕捉点到线并使用VBA自动进行?


11

我使用ArcGIS Desktop,并且要创建一个具有点要素和线要素的网络。我需要将点要素放在线要素上,因此我应该点对点对齐。

但是,我不知道如何在ArcGIS中执行此操作,然后在VBA中使用此代码将其自动化。


您是否尝试了编辑器捕捉环境?
Jakub Sisak GeoGraphics 2010年

“然后在VBA中为此编写代码使其自动化”
Simon,2010年

如果分数不包含关键信息。你也可以TR改变你的行成点
纳迪姆法里德

Answers:


22

使用ArcGIS地理处理工具将点捕捉到直线

假设:

您有一个点层和一个线层。您希望将点捕捉到线层。

使用说明

1.使用该Near工具查找捕捉位置

  1. 在ArcGIS的“工具箱”窗格中,选择Analysis Tools-> Proximity->Near
  2. 选择点层为Input features,将线层选择为Near features确保选中该Location复选框。
  3. 四个新的属性将被添加到您的点层NEAR_FIDNEAR_DISTNEAR_XNEAR_Y

2.将图层导出为表格

  1. 打开点层的属性表
  2. 单击Table Options属性表窗口中的按钮,然后选择Export...。将其保存为dbase(.dbf)文件。
  3. 当系统提示您是否要将表格添加到当前地图时,请选择Yes

3.从表中重新创建点图层

  1. Table of Contents窗格中找到您刚刚添加的表。如果使用ArcGIS 9.3,则可能需要将选项卡切换到Source选项卡。
  2. 右键单击表格,然后选择Add XY Data
  3. 确保X字段设置为NEAR_X,Y字段设置为NEAR_Y。适当调整坐标系。
  4. 新的点事件层应出现在目录中。右键单击它,然后选择Data-> Export data...将图层永久保存为shapefile。

感谢您的回答。这是一个明确的方法,我可以立即尝试。我能够处理结果以获取所需的信息。
cwb 2012年

值得一提的是,该解决方案适用于拥有ArcInfo(高级)许可证的用户。
Hornbydd

6

ArcGIS 9.3.x:

在ArcGIS界面中,使用“编辑”工具栏中的捕捉环境

以编程方式,您可以在ESRI资源页面上找到许多基于快照的Visual Basic示例(注意:个人而言,我喜欢使用旧页面。我认为查找内容更容易。VB资源)。例如,参见VB代码“批量捕捉”:“批量捕捉命令将采用选定的功能,并尝试根据编辑器捕捉环境的当前设置来捕捉它们。”

ArcGIS 10:


1

您可以使用Hawths分析工具来做到这一点。您可以在此处下载。

我在这里为ArcGis 9.3 找到了它,但警告您我没有测试它。如果您有时间可以尝试。


我有它,但是它不能与ArcGIS 9.3一起使用。

我删除了您的第二个答案,并将其合并到这个答案中。
fmark

0

假设您具有用于ArcGIS(9.3)Sp3的Network Analysis Extension:您的“网络”

创建网络>存档(您必须先了解要尝试构建的网络的类型!) http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Creating_a_network_dataset

您可以使用ModelBuilder(Python)将其自动化

http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Add_Locations_(Network_Analyst

{linear unit}(线性单位)
用于在网络上定位输入要素的搜索公差。该参数包括一个值和公差单位。

{源{快照类型};源{快照类型} ...}点和线 允许您指定查找位置时将在网络数据集中搜索哪些源,以及指定将使用几何的哪些部分。


0

Arcscripts上有很多可用的工具。查看此搜索

我不能保证,但是Snap and split程序看起来很符合您的要求?

如果您在“安装”或使用它时遇到问题,请告诉我。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.