郑继武
摘 要:大图斑错误在地理國情监测中是一个十分严重的错漏现象,对成果质量一票否决。本文首先分析大图斑错误及其产生的原因,其次,根据原因提出大图斑整治新思路和流程,并分析大图斑整治技术的实现,最后分析大图斑整治效果,以期为相关人员的研究提供借鉴。
关键词:大图斑;地理国情监测;整治技术
中图分类号:P283.1文献标识码:A文章编号:1003-5168(2021)07-0009-05
Discussion on Correction Technology of Fault in BigPatches in National Geographical Conditions
ZHENG Jiwu
(Henan Institute of Surveying and Mapping Engineering,Zhengzhou Henan 450003)
Abstract: Spot error is a very serious error and omission phenomenon in the monitoring of geographical conditions, which has a negative effect on the quality of the results. This paper first analyzed the big spot error and its causes. Secondly, according to the reasons, it put forward new ideas and processes of big spot rectification, analyzed the realization of big spot rectification technology, and finally analyzed the effect of big spot rectification, so as to provide reference for the research of relevant personnel.
Keywords: big patche;nationalgeographic conditions monitoring;correction technology
2013—2015年,我国进行了第一次全国地理国情普查。自2016年开始,按照国务院地理国情监测工作常态化要求,逐年开展了基础性地理国情监测,成果已在多部门、多行业得到了应用,在生态文明制度建设中发挥了重要作用[1]。地理国情监测涉及数据类型众多、数据源广泛、数据量巨大,为保证分析和决策的及时性和可靠性,地理国情数据必须具备较强的现势性[2]。大图斑问题主要出现在数据生产这一环节。本文就基础性地理国情监测中大图斑整治技术进行简要探讨。
1 大图斑错误介绍
基础性地理国情监测中的地表覆盖分类数据和地理国情要素数据是反映现实世界的基本数据,可通过多种途径获得。其中,地表覆盖分类数据反映地表自然营造物和人工建造物的自然属性或状况;地理国情要素数据则反映与社会经济生活密切相关,具有较为稳定的空间范围或边界,具有可以明确标识、有独立监测和统计分析意义的重要地物及其属性[3]。在地表覆盖分类数据中,图斑是一个基本的技术用语,用来表达无缝连接、绵延不绝、相邻各异的满足分类要求和划分条件的地块。图斑同地块一样,面积有大有小[4]。数据中需要用图斑表示的不同分类地块实地最小面积有所差别,比如,“种植土地(一级分类)”最小图斑实地面积400 m2,“房屋建筑区(二级分类)”最小图斑实地面积1 600 m2。数据生产中,分类图斑容易出现错误,虽然不是普遍现象,但是大的错误是难以容忍的,因此,出现错误的图斑大小需要有一个容忍度,突破这一容忍度的图斑,就称为大图斑错误。容忍度一般以图斑面积来表示,如8 000 m2。大图斑错误一般一票否决,出现一处,就可以判定成果质量存在严重错漏。因此,避免大图斑错误十分重要,成为成果合格必须跨越的一道门槛[5]。
2 大图斑错误产生的原因
地表覆盖分类数据生产环节由三道工序来完成,包括内业变化信息采集、外业调查和内业编辑整理。每一道工序操作的对象都与图斑有关,是对图斑的直接变动。内业变化信息采集时,存在着在原有图斑内产生与周围类型完全不一样的图斑的新生型变化;原有相邻图斑在边缘处发生此消彼长的伸缩变化,即伸缩型变化;消失图斑,则是对图斑的删除,对周边图斑有所影响[6],包括合并的图斑。现在的外业调查不论使用图纸,还是使用图纸结合电子调查工具,或者纯粹使用电子调查设备来进行,任何变动最终都是对图斑的直接操作。内业编辑整理也同样对图斑直接操作[7]。这一环节的每一工序都有可能存在图斑错误,甚至大图斑错误。大图斑错误产生的原因有以下几方面:①对分类内容认识模糊,分类不准确;②图斑边界、地类都发生变化,只变动了边界,没有更改分类代码;③图斑做了不恰当的合并;④较小图斑分类代码变化了,选择时没在意选中相邻大图斑做了更新;⑤监测对水田、旱地、路面、硬化地表等地类的变入变出要求严格把握,水田、旱地、路面易于把握,硬化地表与干枯草地从影像上看,有时不易区分,作业人员有时会将二者换来换去,产生错误;⑥漏更新,包括粗心大意,变化图斑未更新,以及不同分辨率、不同时相影像对比不充分,更新未到位。
3 大图斑处理常用方法和不足
对于大图斑的处理,一般采用以下两种办法:①全域浏览查看,逐图斑审视对比,观察更新到位情况,发现错误,更改错误;②利用软件,将满足一定面积的图斑全部提取出来,一个一个察看,避免出现大图斑错误[8]。
这两种方法具有全面防控的优点,但是,缺乏主次轻重,将对的、错的一起考虑,没有做到重点防范,浪费了不少宝贵的资源,而且效果也不是十分明显,虽然检查过了,但是大图斑问题依然存在。这主要是因为工作人员在重复做事或工作量负荷超载时容易出现疲劳、粗心毛糙、思想麻痹等问题。
4 大图斑整治新思路和流程
从大图斑错漏产生的原因来看,大多可归结为作业行为导致的。所以,整治大图斑错漏,就需要观察工作人员的哪些行为会产生重大影响。图斑变化消失了,要删除,是作业行为;相邻图斑变化了,分类趋于一致,需要合并,有作业行为;产生新的分类,需要更改分类代码,也有作业行为;代码更改时,本是一块较小图斑,因粗心大意,击中相邻大图斑更改了分类代码,同样是作业行为。这些作业行为,不同于本底数据和正射影像的对比更新不到位、不同时相与不同分辨率影像比较判读漏更新这类物理性错漏,变化只能从影像看出,只要认真核对,下功夫校检,就能对大图斑错漏做到基础性防范。在全域浏览性检查防范的基础上,还要加强重点防范,以消除作业中工作人员的不恰当行为产生的大图斑错漏[9]。
存在大图斑错漏的数据是地表覆盖分类数据,分类数据只有一个分层,即LCRA图层。这一图层所盛载的数据涵盖了现实世界的地表覆盖的各种分类。
LCRA图层的属性信息包含地表覆盖分类数据通用属性项和专有属性项。地理国情信息分类码(CC码)为通用属性项,专有属性项包括生产标记信息(Tag)和地物标注(Feature),这是自普查以来固有的。随着监测的开展,增加了通用属性项ChangeType表达地表覆盖分类变化信息。这些属性项具有标识图斑变化的信息,不具有唯一性,也可能存在错误,利用起来比较棘手。打开用于监测的本底数据就会发现,地表覆盖分类数据的属性项不仅仅包括这些,还包括其他的,如来自建库阶段赋值的通用属性项[10]。这些属性项在普查时期的采集阶段不会有,但经过建库,随后历年进行的监测数据就包含了。这些属性项是:要素起始时间(ElemSTime)、要素终止时间(ElemETime)、分区代码(AreaCode)和要素唯一标识码(FEATID)。这些为便于数据管理设置的属性项,在建库阶段赋值,采集阶段不修改来自本底数据中已有的属性值,对新增要素,这些属性项不赋值或按规则赋缺省值。ElemSTime、ElemETime、AreaCode具有批量性,一对多或多对一,而FEATID则是一一对应,具有唯一性。对于监测,新生要素或图斑的FEATID应为空或缺省值;伸缩变化的图斑或要素,其FEATID继承伸缩前的,与本底数据中发生伸缩变化的图斑保持一致[11]。这就为大圖斑错漏整治新思路提供了一个有力的技术支撑。这样,与FEATID有关的情况存在的可能性如下:①新生类型图斑,只更新数据中有FEATID,并为空值或缺省值;②伸缩变化的图斑FEATID没有变化;③图斑删除,本底数据中有FEATID,更新数据不存在;④图斑合并,保留的图斑有FEATID,合并掉的图斑在本底数据中有FEATID。
这几种情况均可辅以面积属性,进行图斑提取标示,达到控制大图斑的目的。这时,面积取值即以大图斑错漏的面积限值为控制线,稳妥起见,此值应再略小一些,取80%即可。根据提取的图斑的不同情况,进行重点核判、检查,保留正确的,修正错误的,达到防止大图斑错漏的目的[12]。根据以上所述,程序流程如图1所示。
5 大图斑整治技术实现
从操作上来说,功能的实现主要在于使用“按属性选择”功能依据不同情况进行条件选择,检查选中图斑的正确性[13]。这是一个多方面反复的过程,一是不同情况的重复,二是不同区域的重复。作业人员的理解能力和应用水平有差异,重复之间会出现各种不同的问题,如字符不匹配、中英文混输、不合乎语言规则等,都是影响使用的障碍。将技术流程工具化可以实现减少操作、避免不当能动性、快速利用结果等诸方面的效用[14]。
在Windows10系统下,使用ArcGIG10.2平台,在Python2.7语言环境里,使用ArcPy站点包的函数或方法,通过脚本程序来实现技术流程的功能[15]。导入的模块,需要os、sys、ArcPy等。os是Python标准库中用于访问操作系统的模块,用于目录操作。处理的数据中有汉字内容,为防止运用默认的ASCII编码出现问题,设置了“utf-8”编码,需要使用sys模块,通过重载和恢复,确保输入和输出的功能不受影响。ArcPy包含了许多地理处理函数,脚本程序的对象又是地理信息数据[16],这样,程序功能就是通过ArcPy实现的。
新生型变化图斑的显著特征是本底数据中不存在,监测数据中新增的图斑。这些图斑的FEATID值与本底数据不同。本底数据中,FEATID是按照规则给定的唯一性编码,而监测数据中则是空值或默认值[17]。这样就有两种处理方法:一是直接在监测数据中查询FEATID为默认值的要素,但是这里有一个可能,默认值输入有误,就会出现漏选;二是在监测数据中查询本底数据中不存在的FEATID,即滤掉两个数据都存在的数据,那么,监测数据中剩余的就是新增的数据。采用的ArcPy方法是数据管理工具(Management)中的“按属性选择”函数SelectLayerByAttribute选择要素,且使用复制要素方法(CopyFeatures)将要素保存下来。
对于合并或删除等消失类的图斑,特征是这些图斑在监测数据中已被处理掉,不存在了,但是,它的踪迹固定在本底数据中。因此,处理方法是在本底数据中查询监测数据中不存在的数据[18],其依据也是FEATID。使用ArcPy的数据管理工具,用“按属性选择”函数选择满足条件的要素,用复制要素方法将选中的要素保存下来。
伸缩型变化,FEATID没有变化,只是面积发生变化,因此,可以根据FEATID将变化前后的数据进行连接,相互对应上的是发生伸缩变化或没有发生变化的,通过对面积属性前后求差选择,超过大图斑错漏面积控制的重点关注核查。这一过程使用了数据管理工具的几个方法。首先数据连接方法,将本底数据和监测数据按照字段FEATID进行挂接(AddJoin),使用“按属性选择”方法(SelectLayerByAttribute),根据图斑控制面积进行筛选,之后,先移除(RemoveJoin)数据间的连接,缩减数据量,接着将选择的数据以复制的方法(CopyFeatures)保存到磁盘中,这是版本数据中的伸缩变化图斑。以此数据为基础,在本底数据中,以FEATID作为索引进行查询,将对应图斑查找出来,作为本底数据在监测中将变化的图斑数据。通过Analysis工具的交集求反(SymDiff)功能将伸缩变化部位标示出来,将结果保存到磁盘中。
无论哪一种变化类型,使用选择查询功能时都要满足图层必须处于ArcMap内容列表中的要求,首先需要打开这些要素图层。这就需要用到ArcPy制图模块中的MapDocument方法,根据关键字“CURRENT”,引用当前已加载的地图文档;用ListDataFrames获得地图文档的第一个数据框架,根据日常工作经验,一般是唯一的一个,缺省是“图层”或“Layer”;配合使用Layer和AddLayer函数将磁盘要素图层文件加载到内容列表中。查询时,图层对象只能使用图层名称,不能是磁盘文件式样,即不带盘符、路径等字符,这就需要采用os模块里的path.basename方法获得图层名称。查询还需要构建SQL语句,有关的内容是FEATID、选择类型、面积控制、逻辑运算、数值运算以及子查询等,通过数据转换、字符串连接等方法组成一个SQL语句字符串以供使用[19]。
这些就是技术实现的主要过程和使用方法,通过适当编排和正确使用内部参数,就形成一个完整的应用脚本,来实现大图斑错漏对象的查询捡取,明确需要处理的目标对象。
6 技术工具化
程序编制的目的是使用,因此需要将脚本程序工具化。在ArcMap中,新建工具箱之后添加脚本,按顺序进行脚本名称和标签的命名及“始终在前台运行”项的选择、脚本文件的指向连接和“在进程中运行Python脚本”项选择、参数的命名和数据类型设置等步骤。设置的参数见表1。
7 整治效果
地理国情监测中,配备有专门的检查软件进行质量控制,但在实际作业中,仍会出现大图斑错漏,防不胜防。全面滤查几遍,也不能完全消除。这就需要在普遍检查的基础上,有针对性地对一些情况进行重点筛查。脚本程序就是为此编制的。工具化后使用,作业人员不必考虑代码输入问题,调用即可。图2为程序启动后输入参数的对话框,在这里,需要输入图中所示的有关参数,以便内部变量获取应用或控制程序运行。运行结果保存了几个文件,其中,uNv_LCRA为新生图斑数据,版本数据中有,本底数据中没有;vNu_LCRA为删除、合并图斑数据,本底数据中存在,版本数据中已经不存在;u_v_symDiff为伸缩型变化图斑变化部位的数据,此数据是在版本数据伸缩变化图斑和对应的本底数据图斑基础上产生的,三者应互为参考,以防意外。利用这几个文件,按照标示的目标图斑,针对变化情况,对象明确地反复对比,研判变化监测是否符合要求,有效避免大图斑错漏,达到预期效果。某县级测区,通过程序筛检和图斑复核,发现有将0391更新成0710、0120更新为0310等大图斑错误。前者为概念不清,草被尚枯,稍有踏痕,似像碾压踩踏地表,但两年期影像根本变化不明显;后者为一小块草地栽种了阔叶林,需要更新,操作时误选旁边旱地大图斑进行更新,属于工作不认真、粗枝大叶、错误操作造成的。
8 结语
本程序是在实际作业中根据大图斑错漏特点提出的一个应对方案,目的是将各类图斑表示出来,以供有关人员分析断定。计算方法未采用严密公式,如图斑面积,使用的是监测数据规定的米、度单位的对照关系进行的简易换算模式,而不是从地理坐标变换成投影坐标之后来实现。单从目的性而言,简易的面积换算对于说明问题而言是可以满足要求的,节省了代码,没有降低运行效率。
参考文献:
[1]李德仁,眭海刚,单杰.论地理国情监测的技术支撑[J].武汉大学学报·信息科学版,2012(5):505-512.
[2]李德仁,马军,邵振峰.论地理国情普查和监测的创新[J].武汉大学学报·信息科学版,2018(1):1-9.
[3]李德仁,丁霖,邵振峰.关于地理国情监测若干问题的思考[J].武汉大学学报·信息科学版,2016(2):143-147.
[4]史文中,陈鹏飞,张效康.地理国情监测可靠性分析[J].测绘学报,2017(10):1620-1626.
[5]黎夏,李丹,刘小平.地理模拟优化系统(GeoSOS)及其在地理国情分析中的应用[J].测绘学报,2017(10):1598-1608.
[6]刘纪平,董春,亢晓琛,等.大数据时代的地理国情统计分析[J].武汉大学学报·信息科学版,2019(1):68-76,83.
[7]翁杰,郭庆胜,王晓妍,等.一种改进的图斑合并算法[J].武汉大学学报·信息科学版,2012(9):1116-1119.
[8]郭庆胜,王晓妍,刘纪平.图斑群合并的渐进式方法研究[J].武汉大学学报·信息科学版,2012(2):220-223.
[9]蔡曉斌,陈晓玲,王涛,等.基于图斑空间关系的遥感专家分类方法研究[J].武汉大学学报·信息科学版,2006(4):321-324.
[10]李成名,殷勇,武鹏达,等.一种狭长图斑分块融解方法[J].武汉大学学报·信息科学版,2018(12):2259-2268.
[11]卢林,吴纪桃,柳重堪.图斑数据自动概括中面向地理特征的层结构选取[J].武汉大学学报·信息科学版,2006(2):156-159.
[12]史守正,石忆邵,赵伟.椭球面上图斑面积计算方法的改进[J].武汉大学学报·信息科学版,2018(5):779-785.
[13]徐爱萍,边馥苓.基于语义查询树的GIS中文查询语句向SQL的转换[J].武汉大学学报·信息科学版,2006(10):924-927.
[14]贾小斌.地图综合的智能体技术:以土地利用图斑综合为例[J].测绘学报,2015(11):1296-1296.
[15]刘雄,李宇,陈刚.ArcPy支持下的线要素几何自动接边与属性检查[J].测绘通报,2016(8):114-117.
[16]陈俊勇.地理国情监测的学习札记[J].测绘学报,2012(5):633-635.
[17]李维森.地理国情监测与测绘地理信息事业的转型升级[J].地理信息世界,2013(5):11-14.
[18]王家耀,谢明霞.地理国情与复杂系统[J].测绘学报,2016(1):1-8.
[19]赞德伯根.面向ArcGIS的Python脚本编程[M].李明巨,刘昱君,陶旸,等译.人民邮电出版社,2014:24.