本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书
实验平台:ArcGIS 10.6
实验数据:请访问实验1(传送门)
高级编辑篇--实验43 填充面要素空洞
目录
一、实验背景
二、实验数据
三、实验步骤
(1)绘制覆盖待填充空洞的面要素
(2)填充空洞
(3)绘制覆盖所有面区域的图形
(4)标识面要素
(5)打散多部分要素
(6)导出混合要素数据
(7)融合面要素与空洞区域要素
一、实验背景
在对地理数据进行编辑处理时,时常会遇到矢量面数据中存在个别或大量的空洞区域,若要将整个面区域作为分析的范围,则需要将空洞移去,使得面要素被完整填充。考虑实际情况中空洞的数量多少、分布情况,填充空洞区域可以采用逐个填充的方式,也可以采用快速大批量填充的方式。
本实验讲述使用地理信息系统软件对矢量面进行填充空洞的方法,分别以逐个填充和批量填充的方式实现。逐个填充:针对每个空洞进行手动合并填充;批量填充:绘制能够覆盖所有图形区域的草图面来实现融合。读者通过实验练习,应能够深入理解两种方法的处理方式,熟练掌握填充面空洞的方法。
二、实验数据
图层名称 | 格式 | 坐标系 | 说明 |
plg | Shapefile面要素 | Unknown | 用于进行空洞填充的面要素 |
直接双击文件Ex43.mxd即可打开
三、实验步骤
(1)绘制覆盖待填充空洞的面要素
启动编辑【Start Editing】,使用【Create Features】对话框中的【Constrcution Tools】→【Polygon】工具;绘制一个包含空洞整个范围的任意草图面数据。
(2)填充空洞
按住【Shift】键,使用【Editor】工具条中的【Edit Tool】按钮,选中有空洞的面图形;利用【Eitdor】工具条中的【Merge】工具,选择与其他要素合并的要素设置为“plg”;点击【OK】,完成空洞填充。同理,其他空洞也可以按照这种方式逐个地填充。
注:合并后新图形的属性记录与“选择与其他合并的要素”属性记录相同。
(3)绘制覆盖所有面区域的图形
右键菜单栏空白处打开【Draw】工具条;使用【Draw】工具条中绘制矩形工具,绘制一个包含所有图形的任意面图形(Graphic);保持该图形的选中状态,选择【Draw】工具条下【Convert Graphics To Features】工具;【Output shapefile or feature class】设置为“cover”,勾选【Automatically delete graphics after conversion】;点击【OK】,得到覆盖所有图形的面要素。
(4)标识面要素
在 ArcToolbox中,打开【Analysis Tools】→【Overlay】→【Identity】对话框,【Input Features】设置为“cover”,【Identity Features】设置为“plg”,【Output Feature Class】设置为“cover_identity”;点击【OK】,得到标识后的面图层。
注:该操作依据 plg图层数据,将新面图层进行分割,分割后的图层中既包含了有空洞的面图形,也包括了空洞区域的面图形,以及面外部区域的多余数据。
(5)打散多部分要素
右击标识结果图层,打开其属性表;选中第一条记录后,可以观察到空洞区域图形与面外部多余图形同时被选中,说明这两部分数据被融合到同一记录中,即多部分要素,需要将其打散为单部分要素;点击【Clear Selection】取消选择图形,打开【Data Management Tools】→【Features】→【Multipart To Singlepart】对话框,【Input Features】设置为“cover_identity”,【Output Feature Class】设置为“new_plg”;点击【OK】,得到打散后的面图形。
(6)导出混合要素数据
在new_plg 图层属性表中,选中面数据外部的多余图形记录;点击属性表工具栏中的【Switch Selection】工具,选中所有面图形数据与空洞区域数据;右击new_plg图层,打开【Data】→【Export Data】对话框,设置【Output feature Class】为“plgs”;点击【OK】,得到面图形数据与空洞区域数据。
(7)融合面要素与空洞区域要素
查看 plgs图层属性表可知,合并面图形与空洞区域数据,需要具有相同属性值的字段,即“FID_cover”;打开【Data Management Tools】→【Generalization】→【Dissolve】对话框,【Input Features】设置为“plgs”,【Output Features Class】设置为“results”,【Dissolve_Fields】设置为“FID_cover”,去除勾选【Create multipart features】;点击【OK】,得到填充完所有空洞的面数据。
注:受融合工具的影响,结果数据中不能保留原始面的属性记录;若要保留,建议使用属性传递或属性表连接等方式。