基于ArcGIS Objects的地下管线数据质量检查方法

2014-01-27 05:54王海涛李宏伟王振宇
地理空间信息 2014年2期
关键词:质量检查字段图层

王海涛,李宏伟,王振宇

(1.信息工程大学 地理空间信息学院,河南 郑州 450001)

基于ArcGIS Objects的地下管线数据质量检查方法

王海涛1,李宏伟1,王振宇1

(1.信息工程大学 地理空间信息学院,河南 郑州 450001)

通过对影响数据质量因素的分析,总结出属性质量检查、坐标信息检查、关联信息检查、超链接信息检查、统计检查等5个方面的检查内容;运用GIS方法对地下管线成果数据进行质量检查,并进行了实验验证。

质量检查;地下管线;要素类;XML;信息

目前,地下管线数据存在的问题有:①一个区域不同的测区可能由不同单位测量,各个单位对测量规范、数据规定的理解掌握不同,工作方法也有细微差别,可能导致整个区域的管线数据存在错误[1-3];②地下管线种类多、隐蔽性强、数据量大,在测量过程中由于测量员的测量误差或操作失误往往会导致重复测量、遗漏测量、测量不全面等错误;③目前基于GIS方法进行管线数据质量检查的方法尚不全面,为运用GIS手段建立城市地下管网信息系统造成困难。鉴于此,本文结合某市地下管线外业成果数据的质量检查实践,提出了运用GIS方法进行数据质量检查的思路,阐述了具体的方法,并以某市地下管线测量数据为例,进行了实验验证。

1 检查内容

目前行业内数据质量检查主要包括空间参考系、属性精度、位置精度、完整性、时间精度、逻辑一致性、附件质量和表征质量8个方面的内容[4,5]。其中,参考系、时间精度、表征质量和附件质量属于外业测量检查内容,不能使用内业方法进行检查。对于内业来说,检查的是其余4个方面,本文主要介绍在内业中,如何利用GIS方法检查数据质量。本文将内业数据质量检查的内容划分为属性质量检查、坐标检查、关联信息检查、超链接信息检查和统计检查5个部分。检查的流程图如图1所示。

1.1 数据的属性检查

它主要检查数据的属性是否符合一般测量要求,以及数据的属性精度和部分逻辑一致性。其主要思路是设置属性检查规则和检查字段,构建初始化的检查模板。这个模板其实就是XML语言写的文件,通过读取该文件,在编程环境中加载文件数据,针对属性检查的每一种检查规则,编写相应的检查算法,检查出错误信息,并把错误信息以表格形式展示出来。

图1 质量检查流程图

1.1.1 属性值域检查

主要检查属性各字段值的取值范围和限制规则是否错误,如物探点号在测区范围内不唯一、属性为空、属性值不在特定范围内、探测单位代码字段值为空等。

1.1.2 属性的逻辑性检查

检查属性值之间的对应关系是否正确,如排水管线有电压值、电缆数,排水管线中水从大管径流向小管径,非排水类管线的排水流向字段值不为空,管线点的点符号代码字段值与其附属物字段值不匹配等[6]。

以上检查方法检查的字段属性之间都是“与”的关系,如选择了X字段和Y字段后,2个字段之间是“和”的关系,如果需要检查的字段之间是“或”、“非”或其他任意关系,就需要实现自定义检查。在本文设计的自定义检查中,检查字段之间可以是“与、或、非”或者其他任意关系,可随意组合检查条件,扩展了检查的范围。

1.2 坐标信息质量检查

主要检查数据的位置精度,即检查要素的图上坐标和属性表中坐标是否在一个规定的容差内。进行坐标检查的主要原因是用户对图上坐标进行移动、删除等操作,而属性表中坐标未能随之变化,从而导致坐标对应不上,出现错误。其方法思路和属性检查大体相同,不同之处有2点:①由于各种误差的存在,图上坐标和实际坐标可能会有一定的误差,因此坐标检查可设置水平容差和高程容差,在容差范围内的都认为没有坐标错误;②对一般地物而言,其X、Y坐标是必须要有的,否则地物位置无法确定,所以坐标检查的规则必须要有“坐标值不可为空”这一检查规则。

1.3 关联信息质量检查

关联信息是指2个或2个以上的某些字段有关联,包括点线属性一对二关联检查、线线属性一对一关联检查。它就是检查这种关联是否正确,如对于排水来说,排水点和排水线是2个单独的图层,但排水点坐标必须在排水线上,否则与实际相悖,会出现错误。因此,关联检查主要是检查数据的逻辑一致性。

关联检查与属性检查不同之处在于:①关联的方式可能有一对二或一对多,也就是一个图层的某个字段和另一个图层的2个或多个字段关联,这就增加了检查的复杂性;②图形关联类型的不同也会对检查结果产生影响。例如,点线关联中,点可在线两端,也可在线中间;线面关联中,线可在面上,也可是面的边界。对于不同的关联类型,需要在具体的检查算法中判断是哪种类型,编写不同的算法。

1.4 超链接信息质量检查

超链接信息检查主要是检查数据中是否存在文件路径以及路径下是否存在文件。例如,对于地面照片字段,其检查的就是数据中该要素的链接字段是否为空,若不为空,则检查字段值对应的路径下是否存在地面照片,若不存在,则出现错误。因此,超链接检查主要是检查数据的完整性。

所谓的“超链接”实际上是指对于某一个Feature,如果它检查字段中有一个字段存在错误信息,那么不管其他字段值正确与否,该字段都要在表格中显示,最关键的是通过正确部分的地址可直接打开文件。例如,某个Feature的地面照片字段检查正确、内部照片字段检查错误,那么由于该字段中存在错误信息,这条Feature也要在表格中显示出来,其中地面照片字段是正确的,那么该字段值对应的路径下就存在这个地面照片文件,通过双击该单元格可打开这个文件。

1.5 统计信息检查

它是对整个图层要素属性进行统计,检查出错的地方,在一个FeatureClass中,由于每个Feature是不重复的,而每个Feature都有唯一的ID号,用以标志该Feature,统计检查就是通过统计这个FeatureClass中每个Feature的ID号,检查是否有重复的Feature。具体的方法是遍历每个Feature,得到它们的ID,检查ID是否有重复。

2 检查方法

首先在ArcMap环境下构建一个工具条(Toolbar),再构建可停靠窗口(DockableWindow),Toolbar用于显示数据检查工具条,DockableWindow用于显示检查窗口及检查结果。这部分都是ArcGIS的基本操作,本文不再详述。

在ArcGIS Objects中,每一个图层的数据源都是一个要素类(FeatureClass),要素类是可存储空间数据的对象类,也是一个空间实体的集合,这些空间实体被用于模拟离散的、具有各类属性的要素[7],所以要素类可看成是由具有若干相同字段(Field)的不同要素(Feature)组成,也可看成是一张表,表的行和列分别对应FeatureClass的Feature和Field。一个Feature就是一个要素,对应于点图层上的一个点、线图层上的一条线或面图层上的一个区域。要素的Field对应这个要素的所有属性字段,如X坐标、Y坐标、高程等,二者组合起来就是一个要素的某个属性,如一个点的X坐标。针对需要检查的内容,设定相应的检查规则,再选择需检查的图层以及该图层下要检查的字段,如先选择给水管线层,再选择该层要检查的字段(坐标字段),检查出该图层下坐标字段的错误信息。具体检查算法虽然不同,但大体思路是相同的,首先通过游标(Cursor)得到所选图层所有的Feature,针对该Feature的选择字段,判断该字段的值与选择的检查规则是否一致,若不一致,则显示错误。检查错误的核心算法实际是对Feature和Field对象的组合操作。

地下管线普查内业成果数据包括:城市给水、排水、电力、通信等线性管线数据,城市测控点、排水点、热力点等位置数据[8]。由于每一种检查又包括不同的检查规则,这些规则少则1、2个,多则数十个,为了对它们进行有效管理,本文通过Liquid XML Data Binder把所有检查规则写成XML文件,通过读取XML文件,加载具体的检查规则。构建XML检查规则有2方面好处:①如果要对检查规则进行增加、修改、删除,可直接在XML文件中修改,方便对检查规则的管理;②当检查规则增加后,只需在具体的检查代码中再加一个判断,在该判断下编写新增规则的检查算法就可以了,这样也方便对检查算法的管理。最终的检查结果可以报表形式打印。

3 实验验证

本文以某市的地下管线普查数据为实验数据,结合ArcGIS Object平台与C#编程实现了地下管线数据质量检查的实验验证。本文以属性检查为例进行说明,具体步骤如下:

1)在ArcMap中构建质量检查环境,包括构建Toolbar、Commands、Dockablewindow,加载相关组件。

2)通过Liquid XML Data Binder创建对应属性检查的XML文件,XML文件中包含具体的检查规则,将XML文件导入到工程中。

3)在DockableWindow中创建检查界面,在检查规则组中读取XML文件。在检查图层中加载ArcMap中加载的地图图层。

4)在属性检查界面中,选择检查规则和检查图层,如果选择执行检查,弹出属性检查配置对话框,该对话框中加载了XML文件中建立的所有字段,选择要检查的字段(见图2);如果选择自定义检查,弹出自定义属性规则检查配置对话框(见图3),通过组合不同的字段设置检查条件。

图2 属性检查字段配置图

图3 属性检查字段组合配置图

5)编写实际的检查算法,执行检查,在属性检查界面中显示出错误信息,并可将错误信息以表格形式打印。

参照属性检查的设计模式,设计另外4种检查,检查的主界面大致相同,都是先选择检查规则和检查图层,主要的区别是字段配置界面和算法不同。

[1] 陈华.浅谈城市地下管线普查成果数据的质量检查[J].四川测绘,2008(2):85-87

[2] CJJ61-2003.城市地下管线探测技术规程[S].

[3] 解智强,李俊娟,郭贵州,等.地下管线探测成果的质量检查方法[J].地理空间信息,2012,10(1):129-131

[4] 夏蔷哲.关于城市地下管线信息化数据质量控制的探讨[J].北京测绘,2010(3):57-60

[5] 杨伯刚,张保刚,陶迎春,等.城市地下管线数据建库与共享应用[M].北京:测绘出版社, 2011

[6] 张春森.管网信息系统数据质量控制方法[J].测绘通报,1998(10):22-24

[7] 李崇贵,陈峥,丰德恩,等.ArcGIS Engine组件式开发及应用[M].北京:科学出版社,2012

[8] CJJ8-99.城市测量规范[S].

Underground Pipeline Data Quality Check Method Based on ArcGIS Objects

byWANG Haitao

Based on the analysis of the factors aff ecting data quality, this paper summed attribute quality checks, coordinate information check related information check hyperlink information checks, statistical checks fi ve aspects of the inspection contents, checked the contents against the five proposed method using GIS results of underground pipeline data quality check method, and verifi ed this method by experiment.

quality inspection,pipeline,feature class,XML,information

P208

B

1672-4623(2014)02-0060-02

10.11709/j.issn.1672-4623.2014.02.021

2013-07-16。

项目来源:国家自然科学基金资助项目(41140012、41271392)。

王海涛,硕士,研究方向为语义相似度计算、GIS开发与应用。

猜你喜欢
质量检查字段图层
图书馆中文图书编目外包数据质量控制分析
审计署赴江西省审计厅质量检查座谈会
解密照片合成利器图层混合模式
巧用混合图层 制作抽象动感森林
中注协举办2016年证券资格会计师事务所执业质量检查人员培训班
加强会计信息质量检查促进会计基础工作规范
跟我学添加真实的光照效果
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述
关于CNMARC的3--字段改革的必要性与可行性研究