大比例尺地形图数据质量检验自动化方法初探
2016-08-10程效军
万 磊,程效军,郭 王
(同济大学测绘与地理信息学院,上海200092)
大比例尺地形图数据质量检验自动化方法初探
万磊,程效军,郭王
(同济大学测绘与地理信息学院,上海200092)
针对当前地形图数据检验仍主要依靠人工的问题,通过分析人工检验的流程和数据检验的标准,设计了数据质量检验算法,开发了数据质量检验软件,在数据的属性精度、完整性、逻辑一致性等方面实现了自动化检验。试验结果表明,自动化检验程序能够辅助质检人员在数据检验方面提高效率,同时可以统计错误数据,为后期分析数据错误原因提供参考。
数据质量检验;地形图数据;自动化算法
随着数字城市的深入发展,全国大多数城市正在或已经建立基础地理信息数据库[1],大比例尺地形图作为城市空间信息系统建设的基础,需要满足国家规定的各项技术规范和标准,以及用户期望的目标。数据的质量不仅关系到各项工程建设的质量和安全,而且关系到社会经济发展规划决策的科学性和准确性,影响着信息化建设的顺利进行。在目前实际测绘工程中,大量自动化的采集手段虽然广泛使用,但其采集成果还存在各种各样的问题,因此对入库数据进行质量检验显得极其重要。然而大比例尺地形图一般数据量大、实际情况复杂,传统的人工检验已经不能满足日益增长的建库速度与质量要求,利用计算机辅助人工实现自动化检验是未来数据质量检验的发展方向。
一、研究现状
《数字测绘成果质量检查与验收》(GB/T 18316—2008)规定了数字测绘产品的9个质量元素[2]为检验的主要内容,其中属性精度、完整性和逻辑一致性是实际检验工作的重点,一些学者也对其进行了卓有成效的探讨。曾衍伟研究分析了空间数据的质量模型,总结了地形图数据各质量元素的检验方法,但对于属性精度、位置精度的自动化检验涉及较少[3];丁建勋等从GIS角度出发分析了地形图数据质量问题产生的原因,为检验方法的设计提出了方向[4];范大昭提出利用模板匹配的方法自动检查属性正确性,利用套合方法检查分类正确性,但其采用的模板固定无法修改,且未考虑属性值的逻辑组合的正确性[5];张彦彦进一步扩充了检验模板,并允许用户自定义[6];吴芳华在套合检验的基础上提出通过设计符号系统对数据进行可视化,从而提高人工检查的效率[7],该方法目前已成为生产实践中最常用的方法之一,但其对符号设计的结果依赖较大,且仍需要大量的人工作业;于焕菊从多源空间数据角度出发,通过统计分析与地址匹配的方法检验城市大比例尺地形图数据的逻辑一致性与完整性[8],该方法过于依赖外部数据的正确性,且检查对象较少。本文根据地形图检验工作中的实际需要,针对大比例尺地形图的属性精度、完整性和逻辑一致性等质量检验,提出一种实用性强、适用性广的自动化检验方法。
二、检验方法
1.地理数据分层
为了更好地规范地理信息数据库,符合当地实际需求,各地相关部门出台了相应标准。以浙江省为例,《基础地理信息要素分类与图形表达代码》(DB33/T 817—2010)和《1∶500 1∶1000 1∶2000基础地理信息及地理实体数据库技术规程》(征求意见稿)规定了基础地理信息数据库数据应分为以下21层:水系点、线、面,居民地及设施点、线、面,交通点、线、面,管线点、线,境界及政区点、线、面,地貌点、线、面,植被与土质点、线、面与注记,同时对各层的基本属性进行了规定。这些规范都是检验时所需要参考的重要标准,需根据图层的不同分别设计检验方法。
2.检验内容与方法
(1)属性精度检验
主要检验分类正确性与属性正确性,包括分类代码值错漏与属性值错漏的情况。
1)分类正确性。分类代码作为各要素在信息系统中的“身份证”,表征了其性质与内容,是信息系统最重要的组成部分,系统中各应用(如检索、查找、决策等)都依赖其正确性,因此对分类代码值正确性的检验是检验中最重要的一部分。
标准规定,基础地理信息要素分类代码采用10位十进制数字码,分别为按数字顺序排列的要素分类码、几何特征码和图形特征码,其中要素分类码各位数代表不同含义,而几何特征码与图形特征码应按规则组合使用,具体规定见表1和图1。
表1 几何特征码和图形特征码组合
目前主要的检验内容包括:①分类代码属性不为空;②不存在非法分类代码,即在标准文件及项目设计书、技术总结中均不存在的代码;③要素的几何特征码与要素几何类型一致,如点要素分类代码的几何特征码应为1或2;④要素的大类码与要素层类型一致,如水系要素分类代码的大类码应为2。人工检查需要提取每一个要素的代码,检查其长度、格式等并与标准代码表比对,操作复杂且重复性严重。使用自动检验可以减少人工作业,提高效率,分类代码自动检验的流程如图2所示。
图1 分类代码结构
图2 分类代码自动检验流程
提取分类代码唯一值可以减少循环执行的次数,提高速度,检验程序中使用数据库语言LINQ实现。
2)属性正确性。分类代码是所有要素共同的属性,除此外不同要素有其他不同属性字段,检验内容也不尽相同,概括起来包括:①控制点坐标不能为负且不能超出测区范围;②有向点要素旋转角度属性应在值域0~360°内;③居民地及设施面楼层属性值不能为0;④交通线技术等级属性应在值域范围内;⑤交通线、居民地及设施面材质属性应在值域范围内等,归纳可知检验核心为属性值应在值域范围内。自动检验算法为:
a.坐标属性的检验包括小数位数是否正确、是否为非数字、是否为半角字符、是否超出测区范围等。该部分检查需对所有数据进行遍历,人工操作烦琐且容易出现漏查、错查的现象。
b.其他属性检验主要包括必填属性项是否不为空、字符是否为半角、属性值是否在值域范围内等。为提高容错性,允许用户修改默认值域,添加自定义值,程序内部使用List型数据构建值域列表,以保证快速自动判断目标值是否在范围内。
(2)完整性检验
主要检验要素多余与遗漏的情况,目前常用的检验方法是模板套合检验法,但由于实际地物丰富,人工检验漏查率较高。
检验点元素时,对于控制点和地貌点,比较坐标值是否相同,若相同则为重复;对于其他类型点,则应比较关键属性值,如两个名称对象点,虽然坐标值不同,但名称、分类代码属性值均相同,且距离很近(一般认为小于500 m),也应判断为重复。更特殊的是,对于居民地及设施(点)要素,若为行政区划、政府机构、行政单位等独一性要素,只要名称相同一定是重复。
检验线、面要素时,第一步比较长度与面积是否一致,地物在数据库中以线或面状要素表现时系统会自动赋予长度与面积属性值(SHAPE_Length、SHAPE_Area)且精确位数高(一般为10-6),因此基本不会出现完全相等的情况;第二步辅助其他属性值进一步判断,如对于交通(线)要素,当SHAPE_ Length一致时可以比较道路宽度、名称属性值是否也相同。图3为完整性检查的流程。
图3 完整性检查流程
(3)逻辑一致性检验
主要检验属性项定义、数据格式、拓扑关系是否正确。属性项定义及数据格式的检查参照有关规定并通过模板匹配的方法来实现自动化检查。
DB33/T 817—2010中对于各类要素的基本属性进行了规范,包括要素的中、英文名称,要素基础字段的名称、类型、阈值及可否为空等,其中属于逻辑一致性的检查项包括名称、类型、长度等。传统的人工检查方法需对所有图层的所有字段进行查看并与规范比较,重复操作较多,费时费力。使用计算机自动遍历图层读取字段属性并与预先录入的标准值进行比较即可实现自动化检验,算法步骤如下:
1)进入图层i。
2)选择字段j,提取该字段的名称、类型、长度。
3)与标准值比较,若正确,进入下一步;若不正确,报错并进入下一步。
4)选择下一字段并返回步骤2)直到遍历完该图层所有字段。
5)进入下一图层直到遍历完所有图层。
综上所述,人工检验虽然可行,但由于数据量巨大,人工检验往往效率低、错漏率高,且操作烦琐,重复性工作多,将这部分工作采用自动化检验代替,可以大大提高检验的效率与正确性。
三、试验分析
根据前文介绍的自动化检验算法,使用ArcGIS Engine与C#进行编程实现,并将检验程序运用到实际检验项目中,以验证自动化检验的效果。
以某地区1∶2000 DLG地理数据入库项目为例,该项目覆盖范围为302.5 km2,数据大小为462 MB,共包含1 062 846条记录,经业务熟练的质检员对其进行检查,共发现65处错误,耗时2 h 50 min。利用自动化检验程序对其进行检查,运行时间为20 min 11 s。程序运行界面如图4所示,检查结果见表2,人工检验结果与程序检验结果的对比见表3。
图4 检验时自定义参数设置与运行结果界面
表2 某地区1∶2000 DLG地理数据检查结果
造成人工漏查的原因主要有两点:一是数据编码问题,如属性值为空与属性值填写为空格显示时是没有区别的,但对应的计算机编码是完全不同的,因此无法通过人工检查出来;二是数据量过大的问题,如地貌点个数为116 218,数据量大,人工逐个检查位数错误或在测区范围外的点很容易出现遗漏,这类需要遍历实现的检查项通过计算机自动检查更容易保证其准确性和完整性。
造成程序漏查的原因有两点:一是数据质量问题导致算法无法完全兼容,如河流配置点的方向错误,对于有方向(角度)属性的记录来说,单独检查其方向值是没有意义的,只有与其他地物参照比较才能进一步判断,然而入库时这些有方向属性的配置点往往没有按邻接顺序存储,而是散乱地分布在数据库中,这就导致难以提出有效算法进行自动检验。对这类问题的检查目前仍需要人工进行,如果可以在数据采集和录入时提高数据规范化程度,保证数据存储符合标准,自动检验方法将更具准确性和兼容性。二是缺少进一步约束条件,如某交通线名称属性值为“A公路”,但实际上应为“B公路”,这类与实际不符的错误在缺少外部约束条件时程序难以检验出来,如果可以引入其他多源数据如遥感影像数据等作为约束条件,并保证数据的及时更新与维护,可以解决此类问题。
造成程序错判的原因是个别地理要素名称中存在特殊字符,程序未能识别导致错判。特殊字符在实际中并不经常使用,因此这类错误数量较少,且易于排除。
综上所述,自动化检验程序可以将大部分错误迅速、完整地检查出来,且正确率较高,虽然对于一些需要依赖外部参考数据、情况更加复杂的检查项存在漏查的现象,但仍显著地缩小了检验范围,有效地提高了效率。由此可见,自动化检验在解放人力、提高效率、提高检验结果正确性方面具有重要的意义。
四、结束语
随着测绘技术的不断发展,未来城市地理信息基础数据将会更加海量,更新将会更加频繁,因此对质检速度和质量要求也会越来越高,自动化检验是必然趋势。本文在当前人工检验方法的基础上,对可以自动化检验的项目提出了相关算法并编程实现,通过实例进行验证。试验结果表明,该算法实用可行,能够显著提高效率,但仍不能完全实现自动化检验。因此如何进一步提高自动化程度是下一步研究的问题。
[1] 李宣锐.大比例尺地形图入库前质量评价方法[J].地理空间信息,2011,9(2):73-74,77.
[2] 国家标准委员会.数字测绘成果质量检查与验收: GB/T 18316—2008[S].北京:中国标准出版社,2008. [3] 曾衍伟.空间数据质量控制与评价技术体系研究[D].武汉:武汉大学.2004.
[4] 丁建勋,程效军,石如文,等.浅谈珠海市基础空间数据检查与建库预处理[J].地理空间信息,2005,3 (2):30-32,35.
[5] 范大昭.数字地图矢量数据检查的研究与实践[D].郑州:信息工程大学,2001.
[6] 张彦彦.基于规则的DLG数据质量检查方法研究[D].南京:南京师范大学,2007.
[7] 吴芳华.失量地图数据质量控制的理论与实践[D].郑州:信息工程大学,2002.
[8] 于焕菊,李云岭,史德杰,等.城市大比例尺数字地形图的多源空间数据检核方法研究[J].测绘通报,2012 (11):81-83,91.
Research on Automatic Quality Inspection for Large-Scale Topographic Maps
WAN Lei,CHENG Xiaojun,GUO Wang
10.13474/j.cnki.11-2246. 2016.0235.
P208
B
0494-0911(2016)07-0106-04
2015-08-10
万 磊(1991—),男,硕士,主要研究方向为三维激光扫描。E-mail:1052590944@qq.com
引文格式:万磊,程效军,郭王.大比例尺地形图数据质量检验自动化方法初探[J].测绘通报,2016(7):106-109.