常用来分析线的GIS工具有:
- DISSOLVE —— 合并具有相同属性值的相邻线要素
- COUNTVERTICES —— 计算顶点数
- BUFFER
- RESELECT
- INTERSECT
上面只有dissolve和countverticies两个是新工具,后面三个工具在前一篇(点分析)中都已经讲过,只不过输入输出不同,由于使用不同的输入数据类型,可以设置的参数也会稍有区别。
Dissolve
dissolve工具在工具箱中的位置:Data Management Tools > Generalization > Dissolve
,下图是工具的界面:
从图中可以看出几点信息:
- dissolve工具可以操作面图层
- dissolve工具可以基于1个或者多个属性值来合并对象
- dissolve还可以输出合并对象的指定属性统计信息
在使用ArcGIS工具时,建议点击对话框下面的“Show Help”按钮打开帮助提示窗口,在右侧的帮助窗口会根据鼠标点击的位置实时提示参数设置信息。
Count Vertices
计算线要素包含的顶点数(含顶点和节点)
在ArcInfo中没有找到类似的工具,不过可以很容易通过字段计算器来实现这个功能,如下图所示:
需注意红框中标出的两点:
- 这里选择的语言是Python
- 表达式内容是
!Shape!.pointCount
(Shape前后都是感叹号),!Shape!可以通过双击字段列表中的Shape快速输入,输入其他的字段也是如此。
Buffer、Select和Intersect
- Select和前一篇中讲的内容完全相同;
- Intersect和前一篇内容类似,和面图层进行相交分析;
- 对线图层进行Buffer分析的时候选项比点图层略多,可以设置缓冲区的方向、线段顶点处的缓冲区类似(Flat或者Round)、缓冲区是否融合等。
总的来说,这三个工具基本没有必要拿出来再讲一遍了。
在本文实现计算顶点数的功能时,用到了字段计算器这个强大的工具。可以看到,在字段计算器中,不仅可以使用普通的属性数据,还可以获取空间数据的空间信息,比如说获取要素的类型(type)、长度(length)、面积(area)、范围(extent)、中心点(centroid)等,甚至可以将对象输出为JSON或者WKT等文本形式,如下图所示。