方靖
摘 要 第三次全国土地调查初始库作为地方调查和数据库建设的基础,其完成时间和质量水平会在一定程度上影响到后续工作的进行。因此,如何快速编制初始库和合理判定地类属性是整个生产工作的一大重点。通过对ArcGIS工具和Arcpy模块的巧妙运用,可以达到高效率地编辑矢量和属性的目的,减少人工编辑错误。
关键词 三调;初始库;ArcGIS;Arcpy;快速编制
中图分类号:P208 文献标识码:A
Abstract: The initial database of the Third National Land Survey is the foundation for all local surveying and database-building, therefore its swift completion and data quality will, to an extent, affect the subsequent works. It is crucial that the progress of database building is prompt and the attributes of the land is correctly categorized. With the proper use of ArcGISs tools and Arcpy module, we can edit the vectors and categorize the attributes more efficiently, while reduce human errors.
Keywords: The Third National Land Survey;initialdatabase;ArcGIS;Arcpy;rapid compiling
1 引言
根据《国务院关于开展第三次全国土地调查的通知》(国发[2017]48号)要求,第三次全国土地调查工作(以下简称“三调”)是对第二次全国土地调查(以下简称“二调”)成果的全面细化和完善,以达到直接掌握详实准确的全国土地利用现状和土地资源变化情况的目的。相比二调,三调的地物分类增加至12个一级类55个二级类[1],调查内容更广、精度更高、评价更深。为了有效地完成内业编辑工作,笔者所在的工作单位购买了武汉蚁图时空科技有限公司的DLG数据编辑软件(以下简称“蚁图软件”)作为三调的初始库生产软件。但在生产过程中,笔者发现仍有许多环节需要大量重复的人工操作,使得内业编辑用时极多,人工编辑错误率增大,而这些可以通过ArcGIS批量自动处理。针对此情况,笔者根据蚁图软件的功能和ArcGIS自有处理工具进行搭配使用,并辅以Arcpy编写Python脚本,研究出一个行之有效的快速编制技术,并开发了一系列工具,在三调初始库生产中得到了实际应用。
2 应用软件介绍
2.1 蚁图软件
蚁图软件是以ArcGIS 10.2为基础平台进行二次开发形成的矢量数据编辑软件,支持对MXD工程文件、矢量数据、栅格数据的直接读取和显示,并提供了独特的功能完成矢量数据的图形、属性的编辑操作。其中,蚁图软件的“数字线划图转面”功能实现了指定线状地物的快速图斑化处理,这與三调工作的图斑全覆盖式表达需求一致;“DLG图层地类编码赋值”功能可以自动分析二调地类图斑(DLTB)与当前图斑的位置关系,直接关联并完成对地类图斑的属性赋值。
但蚁图软件并不支持对ArcGIS自有地理处理工具的直接调用,这使得蚁图软件有着优秀的图形编辑功能,但对于批量化工作的支持不足。例如,在“数字线划图转面”这个功能中,如果采用边线构面转换方法时,当且仅当两条边线的端点间距离在软件设定的阈值内时才可形成封闭面,而未能形成封闭面的边线也没有做出提示,只有凭借作业人员人工检查、补漏才能避免地物数据缺失。而在ArcGIS平台上可以直接使用工具进行查漏补缺。
2.2 Arcpy
Arcpy是一个Python站点包,可用以通过Python高效执行地理数据分析、数据转换、数据管理和地图自动化。由Arcpy编写的脚本工具,支持保存、复制,可运行在任意版本的ArcGIS环境中,且可独立调用ArcGIS安装包内的所有地理处理工具。
3 参考数据
充分了解已有参考数据资料的作用意义,分析其中数据组织结构与三调数据成果的关系,可以更加充分地提高数据资料的利用率。
(1)不动产1:2000D基础数据
目前湖南省有覆盖全省93.7%面积且现势性满足要求的不动产1:2000DLG数据,数据依据GB/T 20257.1-2007国家基本比例尺地图图式[2]采用三级分类体系,而三调的土地分类采用《第三次全国土地调查工作分类》,以GB/T 21020-2017为基准,并对部分地类进行细化和归并。两种分类标准均有定义一致或有包含关系[3],因此可采用不动产DLG数据作为基础矢量数据。
(2)2017年度土地变更调查数据
年度土地变更调查是根据年度变更调查工作部署要求完成的土地利用现状调查,其成果数据中“DLTB”图层是至2017年的地类图斑更新成果,可作为土地用途分类参考。
(3)地类不一致图斑
地类不一致图斑是国家下发的数据库地类与影像特征反映的土地利用类型不一致情况提取的图斑,含6个一级类,11个二级类,6个标注类。影像特征无法明确判定某种类型的,用复合类型表示,类型间用“/”分割。
(4)国家下发的遥感影像
本文中使用的遥感影像摄入2017年12月,分辨率优于1米,作为地类判定的唯一影像依据。
(5)地理国情监测数据
地理国情监测已被纳入常态化测绘地理信息工作的一部分,对地理要素变化提供的分类精度能够满足三调的精度要求[4],其中的“LRCA”层中地理国情分类码等于0340的地类为竹林地,可作为不动产数据的补充数据。
(6)耕地类型数据和坡度级别数据
耕地分为5个级别(上含下不含),坡度≤2°的视为平地,其它分为坡地(PD)、梯田(TT),利用坡度图套合耕地图斑,生成耕地坡度图,见表1。
田坎按照地类系数扣除法来确定,沿用二调统一测算的田坎系数,具体系数见表2。
4 快速编制技术
4.1 流程图
快速编制技术流程的核心思想为:深入挖掘已有软件的功能,找出功能之间的互补性。即找出使用蚁图软件的编辑功能后需要人工处理的部分,用Arcpy脚本工具进行补充,减少人工编辑以及重复编辑的工作量。另外要注意的是,道路和水系地类图斑的完整性、连通性极为重要,应在相应生产节点中对照国家下发的遥感影像进行全图检查以及时补充新增或变化的道路/水系地类图斑,具体流程见图1。
4.2 流程详解
4.2.1 参考数据预处理
各类参考数据的作用大不相同,在一个参考数据中仅有一部分是实际生产需要用到的,且每个参考数据会以整个行政区范围下发,数据量较大。考虑到可视化编辑的便捷性,应该以各个作业人员负责的区域逐一进行裁剪,并剔除数据中不需要的部分。
这里需要用到的是ArcGIS中的“裁剪”(Clip)工具,需要注意的是针对矢量数据和栅格数据的裁剪工具名称相同但所属工具类别不一样,采用Arcpy可直接调用工具,例如裁剪不动产数据,其中“XZQ”是作业范围,作为裁剪范围面使用。主要Arcpy脚本代码如下:
#裁剪矢量数据
inwork=”E:\1210三调初始库\2000DLG.gdb”
arcpy.env.workspace=inwork
outwork=”E:\1210三调初始库\城南村.gdb”
#循环读取数据库中各个图层,赋值给ly
forly in arcpy.ListFeatureClasses():
outf=outwork+ly+”mul”
#使用行政區范围裁剪图层
arcpy.Clip_analysis(ly,”XZQ”,outf)
#裁剪国家栅格影像:
arcpy.Clip_management(“国家影像.img”,”
XZQ”,”516360.51853130030.0989526698.76513140852.2665”,”国家影像_Clip”,”#”, “#”, “NONE”, “NO_MAINTAIN_EXTENT”)
4.2.2 道路边线图斑化处理
蚁图软件将不动产数据中LRDL层中的数据作为道路面边线,通过识别CODE字段和要素间邻近关系来生成相应的道路面。当位置相对的两条道路边线端点距离较远时会无法生成道路面,如图2所示。
如果采取人工编辑的方法,不仅要目视影像找到未形成道路面的部分,还必须手动根据道路边线形状依次构面。而在ArcGIS平台中,线状和面状要素形成的闭合区域都可以自动化创建生成新要素,这里需要综合使用“按位置选择图层”(SelectLayerByLocation)工具、“按属性选择图层”(SelectLayerByAttribute)工具和“要素转面”(FeatureToPolygon)工具。生成的新要素通过复制、粘贴至“道路面”图层,按照实际补充作为道路图斑。主要Arcpy脚本代码如下:
#选择LRDL中和道路面共边线的要素
arcpy.SelectLayerByLocation_management(“LRDL”,”SHARE_A_LINE_SEGMENT_WITH”,”道路面”)
#反选
arcpy.SelectLayerByAttribute_management(“LRDL”,”SWITCH_SELECTION”)
#未参与构面的LRDL线要素和道路面合并生成新面要素
vTab=arcpy.valueTable()
vTab.setRow(0,”LRDL”)
vTab.setRow(1,”道路面”)
arcpy.FeatureToPolygon_management(vTab,”补充道路面”)补充后形成的道路面示例见图3。
4.2.3 地类图斑叠加
获得完整的道路图斑后,将它与水系地类图斑(不动产数据中HYDA层)、竹林地类图斑(地理国情中LRCA层,地理国情分类码=0340)、植被要素图斑(不动产数据中VEGA层)合并汇总。因为图斑化后的道路面可能会和其它地物有重叠,又必须保证道路面的连通性,重叠部分不可以从道路面中扣除。所以在这一步中,以上地类图斑范围完整性先后顺序应是道路面->水系->竹林。使用行政区范围(“XZQ”图层)扣除汇总后图层,得到其它空白属性地类图斑,这里需要循环使用ArcGIS的“擦除”(Erase)和“追加”(Append)工具。主要Arcpy脚本代码如下:
arcpy.Erase_analysis(“道路面”, “HYDA”, “叠加1”)
arcpy.Append_management(“叠加1”, “道路面”, “NO_TEST”)
arcpy.Erase_analysis(“道路面”, “竹林”, “叠加2”)
arcpy.Append_management(“叠加2”, “道路面”, “NO_TEST”)
4.2.4 地类属性关联
蚁图软件提供“DLG图层地类编码赋值”功能完成年度变更调查数据向当前地类图斑的属性赋值,原则是当某一年度变更调查数据图斑占当前地类图斑面积70%及以上时,地类图斑的“DLBM”字段和“DLMC”字段和年度变更数据图斑同名字段的分类保持一致。但是此功能仅能支持一对一的属性关联,且不支持无“DLBM”、“DLMC”字段的数据。
因此笔者使用ArcGIS的“空间连接”(SptialJoin)工具,找到国家地类不一致图斑的地类预判分类属性和年度变更数据属性的差异,正确标注外业举证属性。主要Arcpy脚本代码如下:
arcpy.SpatialJoin_analysis(“年度变更调查数据DLTB”,”地类不一致图斑”, “不一致判定图斑”)
结果示例如图4,年度变更调查数据为旱地,国家地类不一致图斑判断为林地,影像表达为林地,则该处地类编码应为“0101T”,外业标识应为“W”。
4.2.5 影像参照编辑
在这一步需要作业人员参照国家下发的遥感影像,原则上沿用不动产数据的图斑边界,对于与影像不一致的新增、变化图斑,应根据影像调整图斑。对于不动产数据未覆盖地区,以年度变更调查数据作为参考,结合影像重新采集地类图斑边界。
4.2.6 耕地属性关联
耕地类型和坡度赋值不需对照影像判断,而是直接采用参考资料中的耕地类型数据和坡度级别数据。但蚁图软件中没有集成相应的功能,笔者采用“DLG图层地类编码赋值”功能的思路,利用ArcGIS的“交集制表”(TabulateIntersection)工具,使用耕地类型数据和坡度级别数据分别与当前地类图斑“DLTB”图层计算交集面积,占地类图斑面积70%的判定为相应类型。例如,当一块耕地(类型“PD”)与一个地类图斑的相交面积占该地类图斑面积72%,则该地类图斑的耕地类型属性项“GDLX”赋值“PD”。主要Arcpy脚本代码如下:
#SQUARE_METERS,输出相交面积大小
#关联耕地类型数据
arcpy.TabulateIntersection_analysis(“DLTB”,”OBJECTID,Shape_Area”,”耕地类型”,”GDLX”,”耕地类型交集表”,””,””,”SQUARE_METERS”)
#关联坡度级别数据
arcpy.TabulateIntersection_analysis(“DLTB”,”OBJECTID,Shape_Area”,”坡度级别”,”GDPDJB”,”坡度级别交集表”,””,””,”SQUARE_METERS”)
得到的结果为“耕地类型交集表”和“坡度级别交集表”,表中有字段“PERCENTAGE”表示相交面积占比,找出“PERCENTAGE>70”的记录,将“GDLX”和“GDPDJB”赋值到“DLTB”图层的同名字段中。
再人工检查“GDLX”和“GDPDJB”未能赋值的耕地地类图斑,综合考虑参考资料逐一完成属性项赋值。赋值完成后使用ArcGIS的“计算字段”(CalculateField)工具根据表2补充扣除地类系数属性项“KCXS”。主要Arcpy脚本代码如下:
#功能函数“耕地分类”,如GDLX=TT,GDPDJB=2,赋值KCSX=10.7
arcpy.CalculateField_management
(“DLTB”,”KCSX”,”耕地分类”,”PYTHON_9.3”)
5 实例操作
笔者使用益阳市安化县城南村作为测试数据,在“道路边线图斑化”、“地类属性关联”和“耕地属性关联”三个子流程中分别对比仅使用蚁图软件和结合Arcpy脚本工具,实验结果如下:
(1)道路边线图斑化
不动产数据中“LRDL”中可形成道路边线数据共有766条,使用蚁图软件的“数字线划图转面”功能可将712条要素构成道路面,补充使用Arcpy脚本工具后又有46条要素构成新的道路面。
(2)地类属性关联
该作业范围中国家下发的地类不一致图斑共有184个,使用Arcpy脚本工具后,找出所有的地类不一致图斑并标注正确的外业举证属性。
(3)耕地属性关联
该作业范围内耕地地类图斑共有1678个,使用Arcpy脚本工具,可完成共1370个耕地地类图斑的耕地属性关联。
6 结论
ArcGIS具有强大的空间分析和空间数据处理功能,在地理空间数据生产中具有相当大的優势性。笔者制作了一个自定义工具箱供作业人员使用,其中内置能实现上述功能的一系列工具,该工具箱不受操作系统、ArcGIS平台版本限制,仅需从ArcGIS平台界面找到工具箱放置位置,点击所需工具使用即可,操作方便简洁。从三调初始库的实际生产过程中,笔者发现仅“耕地属性关联”这一步,可使得原作业时间节省2-4小时不等。采用Arcpy这种轻量级的开发模块调用ArcGIS地理处理工具,在能够深度挖掘参考资料数据关联性的同时,也有助于修正人工编辑的错误,减少建库工作量。而在其他使用ArcGIS支持的数据格式的建库生产作业中,也可以运用相同的技术手段快速轻松地创建批量自动化工作流。
参考文献/References
[1]第三次全国土地调查整体方案.
[2] GB/T 20257.1-2007国家基本比例尺地图图式 第1部分 1:500 1:1000 1:2000地形图图式.
[3]黄挺,王长虹,费虎.大比例尺DLG成果在湖南省第三次土地调查工作中的应用探讨[J].国土资源导刊.2018,15(3):76-78.
[4]王莉莉.助推常态化地理国情监测[J].中国测绘.2017(4).39.