APP下载

矿山遥感监测属性数据复杂约束类型的描述方法

2016-12-28刁明光薛涛梁建东李建存刘琼

自然资源遥感 2016年4期
关键词:属性数据约束解析

刁明光, 薛涛, 梁建东, 李建存, 刘琼

(1.中国地质大学(北京)信息工程学院,北京 100083; 2.中国国土资源航空物探遥感中心,北京 100083)



矿山遥感监测属性数据复杂约束类型的描述方法

刁明光1, 薛涛1, 梁建东1, 李建存2, 刘琼2

(1.中国地质大学(北京)信息工程学院,北京 100083; 2.中国国土资源航空物探遥感中心,北京 100083)

针对可扩展标记语言(extensible markup language,XML)结构定义(XML schemas definition,XSD)在对矿山遥感监测属性数据的复杂约束类型描述上的不足,提出了“附加属性”的方法,对XSD的约束描述机制进行了扩展,解决了复杂约束类型中属性自身域值的约束以及属性间约束关系的描述方法问题。采用文档对象模型方式对XSD文件进行解析,实现了对用户填写的属性数据的实时验证,提高了用户的工作效率以及属性数据赋值的准确性。

XSD; 遥感监测; 属性数据; 约束描述; DOM

0 引言

矿山遥感监测是指利用先进的遥感技术,对矿产资源开发地的矿业活动进行监测,通过对监测区资料收集、野外踏勘、监测范围确定、数据准备、图斑信息提取、野外验证、图件制作、报告编制、成果汇交等步骤,最终形成监测成果图像、图件、统计报表等,为相关部门在矿产资源的可持续开发与利用、矿业秩序的维护及矿区环境的综合治理等提供信息。在矿山遥感监测成果数据入库过程中,技术人员依据《矿山遥感监测成果数据入库技术要求》,利用主流GIS软件解译遥感监测成果数据[1],包括空间数据和属性数据。常规GIS软件在提供常用空间数据编辑和检查工具的同时,对属性数据也可以进行基本设置,如属性名称、数据类型、长度、精度等[2]。

由于矿山遥感监测成果的属性数据具有结构复杂、条目众多、格式限制严格等特点,因此这类数据在入库时存在着关联性、唯一性、非空性、格式固定性等特殊的技术要求。从而使属性数据的约束类型描述变得非常复杂。由于常用GIS软件对这些复杂约束类型的属性数据无法进行设置与实时检查,造成了矿山遥感监测成果数据入库过程中工作效率低、准确性差等问题。为此,需要对矿山遥感监测属性数据的约束类型进行详细的描述并集成到矿山遥感监测成果编制系统中[3]。

1 属性数据约束类型描述方法

目前,常用的属性数据描述工具有3种: 资源描述框架(resource description framework,RDF)[3]、文档类型定义(document type definition,DTD)、可扩展标记语言(extensible markup language,XML)结构定义(XML schemas definition,XSD)。其中,RDF建模元语量少,主要用于描述基于Web资源的数据模型及类型原语[4]。与DTD相比,由于XSD[6-9]具有一致性、扩展性、互换性、规范性等优点,因此在GIS领域多采用XSD来描述属性数据信息。

1.1 典型XSD的约束描述机制及描述方法

典型XSD的约束描述机制如图1所示。主要包含数据类型、发生次数、复杂类型、域值约束等几个方面。

图1 典型XSD约束描述机制示意图

表1为矿山遥感监测属性数据的约束示例。以表1为例,依据《矿山遥感监测成果数据入库技术要求》,针对属性Name1~Name5包括类型、长度、完整性、值域等约束。这些约束的要求不尽相同,结合图1典型XSD约束机制,表1的属性数据约束类型可通过如下描述方法:

表1 矿山遥感监测属性数据的约束示例

1)通过表示属性,通过复杂类型中来描述次序等属性约束。

2)通过设置的minOccurs和maxOccurs的值,来描述是否可选等属性约束。minOccurs=0,maxOccurs=1表示属性可选; minOccurs=1,maxOccurs=1表示属性必选。

3)通过设置的default以及fixed的值来描述默认值和固定值等属性约束。

4)通过描述别名、枚举值等属性约束。

5)通过描述唯一性、主键、外键等属性约束。

6)通过描述域等属性约束。通过描述长度、枚举值、格式等属性等约束。

7)通过描述属性间复杂类型约束关系。

1.2 矿山遥感监测属性数据约束类型及问题

通过对《矿山遥感监测成果数据入库技术要求》中属性数据约束类型的分析发现,矿山遥感监测属性数据的约束分可为简单类型和复杂类型2种。针对简单类型约束,可以通过进行描述。针对复杂约束类型,由于涉及属性间复杂的约束,紧靠XSD自身提供的约束无法直接描述,这主要由于XSD约束机制存在以下2个问题:

1)缺乏含有子元素的元素自身域值的约束机制。在矿山遥感监测属性数据中,经常出现属性间含有约束项,同时自身也存在域值约束[10]的情况,如表1所示。Name2和Name3属性均受到Name1的约束,如果采用XSD进行描述,可以通过将Name2和Name3设置为Name1的子元素来表示它们之间的约束关系,同时为Name1元素设置mixed属性来显示自身内容,然而Name1的类型、长度、值域等约束却无法表示。

2)缺乏复杂类型元素间约束描述机制。在矿山遥感监测属性数据中,属性之间也经常存在着相互约束。如表1所示,属性Name3在Name1的值为B和C时才需要填写,属性Name5在Name4的值大于200时才填写。而在XSD中缺乏直接表示这种情况的机制。

为对矿山遥感监测属性数据的约束类型进行准确描述,本文提出了一种“附加属性(attached attribute)”的解决方案,即通过对XSD约束机制中的复杂约束类型进行扩展,加入复杂类型元素自身域值约束和元素间相互约束2种约束描述类型,如图1中虚线部分所示。

2 基于附加属性的复杂约束类型描述

在矿山遥感监测成果数据辅助生成软件[3]的开发过程中,利用“附加属性”的方法,解决了在矿山遥感监测属性数据中复杂约束类型描述方面存在的问题。通过对XSD文件的解析,实现了对录入的属性数据的实时检查,提高了用户的工作效率和录入数据的准确性。

2.1 含有子元素的元素自身域值约束的描述

利用“附加属性”对矿山遥感监测属性数据中复杂约束类型元素自身域值的表示相对比较简单,可以结合典型XSD约束描述机制,通过给复杂类型元素附加一个“value”的属性来表示自身的约束即可,如图2所示。

图2 复杂约束类型的元素自身域值描述

结合表1矿山遥感监测属性数据实例,Name1为约束项,其约束描述的代码如图4中代码段②所示。通过给Name1添加一个Value属性。

2.2 复杂类型元素间约束的描述

复杂类型元素间约束的描述主要通过给被约束项扩展一个约束属性,约束属性中通过域值的设定来表示具体的约束关系。如图3所示。总体上讲,对矿山遥感监测属性数据复杂约束类型的XSD描述,主要分为如下3个步骤:

1)将被约束属性表示为约束属性的子元素。

2)采用“附加属性”的方法,为约束属性添加一个表示自身域值的“Value”属性。

3)如果存在元素间约束的情况,则给被约束属性添加一个表示约束内容的“Restraint”属性。

图3 复杂约束类型的元素间约束描述

根据上述步骤,以表1所示矿山遥感监测属性数据为例,Name3与Name1之间的约束关系表示为: 通过为“Name3”元素扩展一个“EnumRestraint”属性来表示B,C枚举值约束,如图4中代码段①所示。

图4 元素间约束的XSD描述

在表1所示的矿山遥感监测属性数据中,Name5与Name4之间的约束关系表示为: 通过为Name5元素扩展一个“ValueRestraint”属性来表示大于200的数值约束,如图5中代码段③所示。

图5 属性数值约束的XSD描述

3 XSD文件的解析与验证

矿山遥感监测属性数据的约束描述完成后,需要对XSD文件进行解析。XSD文件是XML格式的。目前,典型的解析方式主要有3种模型[11]: ①XML简单应用接口模型(simple aPI for XML,SAX); ②XML拉式解析模型(XML pull parse,XPP); ③文档对象模型(document object model,DOM)。

SAX是一种处理XML的“推式”模型,采用基于事件处理器的文档内容访问方式; XPP模型在语法分析和编写文档时需要更多步骤,且不支持节点树的增加操作; DOM模型是以独立于平台和语言的方式访问和修改文档的内容和结构的,是表示和处理XML文档的常用方法。

由于矿山遥感监测属性数据约束描述的XSD文件规模不大,故采用上述3种解析方法中的DOM方式解析最合适。

XSD文件的解析验证流程如图6所示。解析与验证主要分为加载属性数据、加载XSD文件并建立DOM对象、验证属性数据、输出错误信息4个部分。其中,验证属性数据包含了简单类型验证、一致性验证、非空性验证、格式验证和复杂类型验证。复杂类型验证包含了复杂类型自身域值的验证(包含Value属性的复杂类型元素)、属性间约束验证(子元素中包含Restraint关键字的属性)。

图6 XSD文件解析流程

在矿山遥感监测成果编制系统[3]的开发过程中,采用C#语言实现了XSD文件的解析与验证。系统中通过对XSD文件的解析,得出属性数据的约束信息,并基于ArcGIS Engine实现了矿山遥感监测成果数据中矢量图层文件的创建。图7所示为创建开采点图层的界面。

图7 开采点图层的创建界面

创建矢量图层完成后就可以对矢量图层进行矢量编辑,编辑完成后的图层如图8所示。

图8 矢量编辑完成后的开采点图层

在对图层属性数据赋值时,系统根据XSD文件中属性数据的约束描述对图层进行验证。填写内容不符合要求的用红色图标进行标识,用户鼠标放在红色标识上会提示错误信息。如图9所示。

图9 XSD验证后的图层属性错误标识

4 结论

“附加属性”的方法,是对XSD针对与空间数据相关联的属性数据描述机制的完善。该方法具有操作简单、扩展性强等特点,可对矿山遥感监测属性数据的复杂约束类型进行描述,同时对XSD在复杂约束类型方面存在的问题也提出了解决方法。

针对XSD文件的解析流程方面,通过并采用C#语言实现了DOM方式的XSD文件的解析,解决了对用户填写的属性数据不能进行实时检查的问题,提高了用户的工作效率,同时保证了填写属性数据的准确性。

[1] 杨金中,秦绪文,张志,等.矿山遥感监测理论方法与实践[M].北京:测绘出版社,2011:1-20. Yang J Z,Qin X W,Zhang Z,et al.Theory and Practice on Remote Sensing Monitoring of Mine[M].Beijing:Surveying and Mapping Press,2011:1-20.

[2] 胡鹏,黄杏元,华一新.地理信息系统教程[M].武汉:武汉大学出版社,2007:45-50. Hu P,Huang X Y,Hua Y X.Geographic Information Systems Tutorial[M].Wuhan:Wuhan University Press,2007:45-50.

[3] 刁明光,薛涛,李建存,等.基于ArcGIS的矿山遥感监测成果编制系统[J].国土资源遥感,2016,28(3):194-199.doi:10.6046/gtzyyg.2016.03.20. Diao M G,Xue T,Li J C,et al.Production data compilation system of mine remote sensing monitoring based on ArcGIS[J].Remote Sensing for Land and Resources,2016,28(3):194-199.doi:10.6046/gtzyyg.2016.03.20.

[4] 宋庆美,周明刚.基于XML的三个常用元数据描述工具的评价与比较[J].情报科学,2003,21(6):615-618. Song Q M,Zhou M G.Comparative study of three common metadata-description tools based on XML[J].Information Science,2003,21(6):615-618.

[5] 袁梅宇.XML Schema,RDF Schema及DAML比较[J].计算机应用研究,2004,21(10):67-69. Yuan M Y.Comparison between XML Schema,RDF Schema and DAML[J].Application Research of Computers,2004,21(10):67-69.

[6] Fallside D C,Walmsley P.XML Schema Part 0:Primer Second Edition[EB/OL].(2004-10-28)[2015-11-01].http://www.w3.org/TR/xmlschema-0/#4Q99html.xml.

[7] Thompson H S,Beech D,Maloney M,et al.XML Schema Part 1:Structures Second Edition[EB/OL].(2004-10-28)[2015-11-01].http://www.w3.org/TR/xmlschema-1/.

[8] Biron Pl V,Permanente K,Malhotra A.XML Schema Part 2:Datatypes Second Edition[EB/OL].(2004-10-28)[2015-11-01].http://www.w3.org/TR/xmlschema-2/.

[9] Malhotra A,Maloney M.XML Schema Requirements[EB/OL].(1999-02-15)[2015-11-01].http://www.w3.org/TR/NOTE-xml-schema-req.

[10]张朝明.程序天下·XML开发典型应用:数据标记、处理、共享与分析[M].北京:电子工业出版社,2008:26-136. Zhang C M.Program World·the Typical Application of XML Development:The Marking,Handling,Sharing and Analysis of Data[M].Beijing:Electronic Industry Press,2008:26-136.

[11]冯进,丁博,史殿习,等.XML解析技术研究[J].计算机工程与科学,2009,31(2):120-124. Feng J,Ding B,Shi D X,et al.Research on the XML parsing technology[J].Computer Engineering and Science,2009,31(2):120-124.

(责任编辑: 李瑜)

Description method for complex constraint of mine remote sensing monitoring attribute data

DIAO Mingguang1, XUE Tao1, LIANG Jiandong1, LI Jiancun2, LIU Qiong2

(1.SchoolofInformationEngineering,ChinaUniversityofGeosciences,Beijing100083,China; 2.ChinaAeroGeophysicalSurveyandRemoteSensingCenterforLandandResources,Beijing100083,China)

To tackle the description problems of XSD in the remote sensing attributes data of mine monitoring complex constraints, this paper proposes a method of "additional attributes". The XSD constraint description mechanism is extended, which includes element self-domain value description and the description between the elements. By using DOM to interpret and analyze the XSD file, the real-time verification of the attribute data is realized, which improves the user’s working efficiency and the accuracy of attribute data assignment.

XSD; remote sensing monitoring; attribute data; constraint description; DOM

10.6046/gtzyyg.2016.04.30

刁明光,薛涛,梁建东,等.矿山遥感监测属性数据复杂约束类型的描述方法[J].国土资源遥感,2016,28(4):197-201.(Diao M G,Xue T,Liang J D,et al.Description method for complex constraint of mine remote sensing monitoring attribute data[J].Remote Sensing for Land and Resources,2016,28(4):197-201.)

2016-01-07;

2016-02-03

中国地质调查局“矿产资源开发环境数据平台建设与应用”项目(编号: 12120115062701)及中央基本科研业务费专项资金资助项目“基于云计算平台构建的岩石地球化学图解服务系统研究”(编号: 2-9-2013-109)共同资助。

TP 319

A

1001-070X(2016)04-0197-05

刁明光(1970-),男,副教授,主要从事地学信息工程、软件工程学研究。Email: dmg@cugb.edu.cn。

猜你喜欢

属性数据约束解析
三角函数解析式中ω的几种求法
城镇地籍数据库建设过程中存在的问题和注意事项
基于GIS的房产测绘管理信息系统架构研究
无源多传感器综合数据关联算法研究
属性数据分析教学改革初探
睡梦解析仪
电竞初解析
马和骑师
对称巧用解析妙解
适当放手能让孩子更好地自我约束