(拾肆)规划师方向技能:使用ArcGIS批量创建公共服务设施点和最近道路距离之间的连线

1.引言

规划应用场景:

进行公共和市政设施布局规划时,如何合理地确定设施的数量、位置、规模和服务范围,以实现设施布局的优化时,利用ArcGIS创建构建基础网络要素集,如何批量将服务设施点与最近的道路进行快速连接

2.技术流程

1.获取点和线要素信息,将其存放到数据库中。

2.将点要素类备份。

A打开ArcCatalog,找到点要素类所在位置;

B右键单击该点要素类,在下拉菜单中选择复制;

C选中点要素类所在的数据库,右键,在下拉菜单中选择粘贴。

3.将点要素类和线要素类分别加载到一个空白的地图文档中。

因为后面涉及的数据比较多,为了避免混淆,我们这里分别给加载进来的点数据命名为sample00,线数据命名为road00。

4.打开sample00的属性表,增加一个属性字段,命名为“ConNum”,字段类型选择短整型即可,其它均保持默认设置。

5.右键单击该属性字段,打开字段计算器(Field Calculator)。

6.“ConNum”赋值。

在打开的字段计算器对话框中输入“[FID]” ,运行计算,即让“ConNum”字段获取和FID字段一样的属性。

此步骤为后续操作做准备,用于在原始点和落在线上的点之间建立连接线。

7.在线上查找点,使其到最近邻点的距离最近。

打开Near工具,工具位置Analysis Tools > Proximity > Near。

AInput Feature设置为点图层sample00

BNear Feature设置为先图层road00

C设置搜索半径,根据实际情况确定,这里保持默认;

D勾选Location;

E勾选Angle

F点击OK,运行Near工具。

8.查看sample00的属性表

此时你会发现属性表中增加了5个属性字段,分别是 Near_FID、Near_Dist、Near_X、Near_Y、Near_Angle。

9.Near工具找到的点进行显示,形成一个新图层。

打开工具Make XY Event Layer工具,该工具位置Data Management Tools > Layers and Table Views > Make XY Event Layer。

AXY Table输入sample00点要素类;

BX Field输入Near_X

CY Field输入Near_Y;

DZ Field,这里保持默认,不做设置;

E设置输出数据名字为line_points;

FSpatial Reference,空间参考和sample00的空间参考保持一致;

G点击OK,运行工具。

图中绿色的点表示在线上查找到的距离每个点最近的位置。

10.图层输出

将第9步得到数据仅仅为一个图层(Layer),需要将其输出为要素类。右键图层,Export Data到数据库中即可。

11.图层合并。

应用工具Append,工具位置Data Management Tools > General > Append。

AInput Datasets 选择Line_Point图层;

BTarget Dataset选择sample00;

CSchema Type设置为No_Test,意味着输入要素类(Input Datasets)的属性字段不用不得不和目标要素类(Target Dataset)的属性字段完全匹配;

D其他保持默认;

E点击OK,运行工具。

12.创建连接线。

应用工具Points to Line,工具位置Data Management Tools > Features > Points to Line。

 

AInput Features设置为sample00;

BOutput Feature Class设置输出要素类的位置和名称,这里命名为’Conlines’;

CLine Field选择第四步设置的ConNum字段;

D其他保持默认设置;

E点击OK,运行工具。

13.符号化

将得到的连接线符号化,如图

后记:创建点和线之间的连接线,共用到四个工具,分别为:

·Near (Analysis)

·Make XY Event Layer (Data Management)

·Append (Data Management)

·Points To Line (Data Management)

参考文档:

[1]http://support.esri.com/en/knowledgebase/techarticles/detail/41334

转载自:https://blog.csdn.net/GIS_BT/article/details/77321075

You may also like...