刁明光, 薛濤, 梁建東, 李建存, 劉瓊
(1.中國(guó)地質(zhì)大學(xué)(北京)信息工程學(xué)院,北京 100083; 2.中國(guó)國(guó)土資源航空物探遙感中心,北京 100083)
?
礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)復(fù)雜約束類型的描述方法
刁明光1, 薛濤1, 梁建東1, 李建存2, 劉瓊2
(1.中國(guó)地質(zhì)大學(xué)(北京)信息工程學(xué)院,北京 100083; 2.中國(guó)國(guó)土資源航空物探遙感中心,北京 100083)
針對(duì)可擴(kuò)展標(biāo)記語(yǔ)言(extensible markup language,XML)結(jié)構(gòu)定義(XML schemas definition,XSD)在對(duì)礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)的復(fù)雜約束類型描述上的不足,提出了“附加屬性”的方法,對(duì)XSD的約束描述機(jī)制進(jìn)行了擴(kuò)展,解決了復(fù)雜約束類型中屬性自身域值的約束以及屬性間約束關(guān)系的描述方法問題。采用文檔對(duì)象模型方式對(duì)XSD文件進(jìn)行解析,實(shí)現(xiàn)了對(duì)用戶填寫的屬性數(shù)據(jù)的實(shí)時(shí)驗(yàn)證,提高了用戶的工作效率以及屬性數(shù)據(jù)賦值的準(zhǔn)確性。
XSD; 遙感監(jiān)測(cè); 屬性數(shù)據(jù); 約束描述; DOM
礦山遙感監(jiān)測(cè)是指利用先進(jìn)的遙感技術(shù),對(duì)礦產(chǎn)資源開發(fā)地的礦業(yè)活動(dòng)進(jìn)行監(jiān)測(cè),通過對(duì)監(jiān)測(cè)區(qū)資料收集、野外踏勘、監(jiān)測(cè)范圍確定、數(shù)據(jù)準(zhǔn)備、圖斑信息提取、野外驗(yàn)證、圖件制作、報(bào)告編制、成果匯交等步驟,最終形成監(jiān)測(cè)成果圖像、圖件、統(tǒng)計(jì)報(bào)表等,為相關(guān)部門在礦產(chǎn)資源的可持續(xù)開發(fā)與利用、礦業(yè)秩序的維護(hù)及礦區(qū)環(huán)境的綜合治理等提供信息。在礦山遙感監(jiān)測(cè)成果數(shù)據(jù)入庫(kù)過程中,技術(shù)人員依據(jù)《礦山遙感監(jiān)測(cè)成果數(shù)據(jù)入庫(kù)技術(shù)要求》,利用主流GIS軟件解譯遙感監(jiān)測(cè)成果數(shù)據(jù)[1],包括空間數(shù)據(jù)和屬性數(shù)據(jù)。常規(guī)GIS軟件在提供常用空間數(shù)據(jù)編輯和檢查工具的同時(shí),對(duì)屬性數(shù)據(jù)也可以進(jìn)行基本設(shè)置,如屬性名稱、數(shù)據(jù)類型、長(zhǎng)度、精度等[2]。
由于礦山遙感監(jiān)測(cè)成果的屬性數(shù)據(jù)具有結(jié)構(gòu)復(fù)雜、條目眾多、格式限制嚴(yán)格等特點(diǎn),因此這類數(shù)據(jù)在入庫(kù)時(shí)存在著關(guān)聯(lián)性、唯一性、非空性、格式固定性等特殊的技術(shù)要求。從而使屬性數(shù)據(jù)的約束類型描述變得非常復(fù)雜。由于常用GIS軟件對(duì)這些復(fù)雜約束類型的屬性數(shù)據(jù)無(wú)法進(jìn)行設(shè)置與實(shí)時(shí)檢查,造成了礦山遙感監(jiān)測(cè)成果數(shù)據(jù)入庫(kù)過程中工作效率低、準(zhǔn)確性差等問題。為此,需要對(duì)礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)的約束類型進(jìn)行詳細(xì)的描述并集成到礦山遙感監(jiān)測(cè)成果編制系統(tǒng)中[3]。
目前,常用的屬性數(shù)據(jù)描述工具有3種: 資源描述框架(resource description framework,RDF)[3]、文檔類型定義(document type definition,DTD)、可擴(kuò)展標(biāo)記語(yǔ)言(extensible markup language,XML)結(jié)構(gòu)定義(XML schemas definition,XSD)。其中,RDF建模元語(yǔ)量少,主要用于描述基于Web資源的數(shù)據(jù)模型及類型原語(yǔ)[4]。與DTD相比,由于XSD[6-9]具有一致性、擴(kuò)展性、互換性、規(guī)范性等優(yōu)點(diǎn),因此在GIS領(lǐng)域多采用XSD來(lái)描述屬性數(shù)據(jù)信息。
1.1 典型XSD的約束描述機(jī)制及描述方法
典型XSD的約束描述機(jī)制如圖1所示。主要包含數(shù)據(jù)類型、發(fā)生次數(shù)、復(fù)雜類型、域值約束等幾個(gè)方面。
圖1 典型XSD約束描述機(jī)制示意圖
表1為礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)的約束示例。以表1為例,依據(jù)《礦山遙感監(jiān)測(cè)成果數(shù)據(jù)入庫(kù)技術(shù)要求》,針對(duì)屬性Name1~Name5包括類型、長(zhǎng)度、完整性、值域等約束。這些約束的要求不盡相同,結(jié)合圖1典型XSD約束機(jī)制,表1的屬性數(shù)據(jù)約束類型可通過如下描述方法:
表1 礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)的約束示例
1)通過
2)通過設(shè)置
3)通過設(shè)置
4)通過
5)通過
6)通過
7)通過
1.2 礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)約束類型及問題
通過對(duì)《礦山遙感監(jiān)測(cè)成果數(shù)據(jù)入庫(kù)技術(shù)要求》中屬性數(shù)據(jù)約束類型的分析發(fā)現(xiàn),礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)的約束分可為簡(jiǎn)單類型和復(fù)雜類型2種。針對(duì)簡(jiǎn)單類型約束,可以通過
1)缺乏含有子元素的元素自身域值的約束機(jī)制。在礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)中,經(jīng)常出現(xiàn)屬性間含有約束項(xiàng),同時(shí)自身也存在域值約束[10]的情況,如表1所示。Name2和Name3屬性均受到Name1的約束,如果采用XSD進(jìn)行描述,可以通過
2)缺乏復(fù)雜類型元素間約束描述機(jī)制。在礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)中,屬性之間也經(jīng)常存在著相互約束。如表1所示,屬性Name3在Name1的值為B和C時(shí)才需要填寫,屬性Name5在Name4的值大于200時(shí)才填寫。而在XSD中缺乏直接表示這種情況的機(jī)制。
為對(duì)礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)的約束類型進(jìn)行準(zhǔn)確描述,本文提出了一種“附加屬性(attached attribute)”的解決方案,即通過對(duì)XSD約束機(jī)制中的復(fù)雜約束類型進(jìn)行擴(kuò)展,加入復(fù)雜類型元素自身域值約束和元素間相互約束2種約束描述類型,如圖1中虛線部分所示。
在礦山遙感監(jiān)測(cè)成果數(shù)據(jù)輔助生成軟件[3]的開發(fā)過程中,利用“附加屬性”的方法,解決了在礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)中復(fù)雜約束類型描述方面存在的問題。通過對(duì)XSD文件的解析,實(shí)現(xiàn)了對(duì)錄入的屬性數(shù)據(jù)的實(shí)時(shí)檢查,提高了用戶的工作效率和錄入數(shù)據(jù)的準(zhǔn)確性。
2.1 含有子元素的元素自身域值約束的描述
利用“附加屬性”對(duì)礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)中復(fù)雜約束類型元素自身域值的表示相對(duì)比較簡(jiǎn)單,可以結(jié)合典型XSD約束描述機(jī)制,通過給復(fù)雜類型元素附加一個(gè)“value”的屬性來(lái)表示自身的約束即可,如圖2所示。
圖2 復(fù)雜約束類型的元素自身域值描述
結(jié)合表1礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)實(shí)例,Name1為約束項(xiàng),其約束描述的代碼如圖4中代碼段②所示。通過
2.2 復(fù)雜類型元素間約束的描述
復(fù)雜類型元素間約束的描述主要通過給被約束項(xiàng)擴(kuò)展一個(gè)約束屬性,約束屬性中通過域值的設(shè)定來(lái)表示具體的約束關(guān)系。如圖3所示??傮w上講,對(duì)礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)復(fù)雜約束類型的XSD描述,主要分為如下3個(gè)步驟:
1)將被約束屬性表示為約束屬性的子元素。
2)采用“附加屬性”的方法,為約束屬性添加一個(gè)表示自身域值的“Value”屬性。
3)如果存在元素間約束的情況,則給被約束屬性添加一個(gè)表示約束內(nèi)容的“Restraint”屬性。
圖3 復(fù)雜約束類型的元素間約束描述
根據(jù)上述步驟,以表1所示礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)為例,Name3與Name1之間的約束關(guān)系表示為: 通過
圖4 元素間約束的XSD描述
在表1所示的礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)中,Name5與Name4之間的約束關(guān)系表示為: 通過
圖5 屬性數(shù)值約束的XSD描述
礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)的約束描述完成后,需要對(duì)XSD文件進(jìn)行解析。XSD文件是XML格式的。目前,典型的解析方式主要有3種模型[11]: ①XML簡(jiǎn)單應(yīng)用接口模型(simple aPI for XML,SAX); ②XML拉式解析模型(XML pull parse,XPP); ③文檔對(duì)象模型(document object model,DOM)。
SAX是一種處理XML的“推式”模型,采用基于事件處理器的文檔內(nèi)容訪問方式; XPP模型在語(yǔ)法分析和編寫文檔時(shí)需要更多步驟,且不支持節(jié)點(diǎn)樹的增加操作; DOM模型是以獨(dú)立于平臺(tái)和語(yǔ)言的方式訪問和修改文檔的內(nèi)容和結(jié)構(gòu)的,是表示和處理XML文檔的常用方法。
由于礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)約束描述的XSD文件規(guī)模不大,故采用上述3種解析方法中的DOM方式解析最合適。
XSD文件的解析驗(yàn)證流程如圖6所示。解析與驗(yàn)證主要分為加載屬性數(shù)據(jù)、加載XSD文件并建立DOM對(duì)象、驗(yàn)證屬性數(shù)據(jù)、輸出錯(cuò)誤信息4個(gè)部分。其中,驗(yàn)證屬性數(shù)據(jù)包含了簡(jiǎn)單類型驗(yàn)證、一致性驗(yàn)證、非空性驗(yàn)證、格式驗(yàn)證和復(fù)雜類型驗(yàn)證。復(fù)雜類型驗(yàn)證包含了復(fù)雜類型自身域值的驗(yàn)證(包含Value屬性的復(fù)雜類型元素)、屬性間約束驗(yàn)證(子元素中包含Restraint關(guān)鍵字的屬性)。
圖6 XSD文件解析流程
在礦山遙感監(jiān)測(cè)成果編制系統(tǒng)[3]的開發(fā)過程中,采用C#語(yǔ)言實(shí)現(xiàn)了XSD文件的解析與驗(yàn)證。系統(tǒng)中通過對(duì)XSD文件的解析,得出屬性數(shù)據(jù)的約束信息,并基于ArcGIS Engine實(shí)現(xiàn)了礦山遙感監(jiān)測(cè)成果數(shù)據(jù)中矢量圖層文件的創(chuàng)建。圖7所示為創(chuàng)建開采點(diǎn)圖層的界面。
圖7 開采點(diǎn)圖層的創(chuàng)建界面
創(chuàng)建矢量圖層完成后就可以對(duì)矢量圖層進(jìn)行矢量編輯,編輯完成后的圖層如圖8所示。
圖8 矢量編輯完成后的開采點(diǎn)圖層
在對(duì)圖層屬性數(shù)據(jù)賦值時(shí),系統(tǒng)根據(jù)XSD文件中屬性數(shù)據(jù)的約束描述對(duì)圖層進(jìn)行驗(yàn)證。填寫內(nèi)容不符合要求的用紅色圖標(biāo)進(jìn)行標(biāo)識(shí),用戶鼠標(biāo)放在紅色標(biāo)識(shí)上會(huì)提示錯(cuò)誤信息。如圖9所示。
圖9 XSD驗(yàn)證后的圖層屬性錯(cuò)誤標(biāo)識(shí)
“附加屬性”的方法,是對(duì)XSD針對(duì)與空間數(shù)據(jù)相關(guān)聯(lián)的屬性數(shù)據(jù)描述機(jī)制的完善。該方法具有操作簡(jiǎn)單、擴(kuò)展性強(qiáng)等特點(diǎn),可對(duì)礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)的復(fù)雜約束類型進(jìn)行描述,同時(shí)對(duì)XSD在復(fù)雜約束類型方面存在的問題也提出了解決方法。
針對(duì)XSD文件的解析流程方面,通過并采用C#語(yǔ)言實(shí)現(xiàn)了DOM方式的XSD文件的解析,解決了對(duì)用戶填寫的屬性數(shù)據(jù)不能進(jìn)行實(shí)時(shí)檢查的問題,提高了用戶的工作效率,同時(shí)保證了填寫屬性數(shù)據(jù)的準(zhǔn)確性。
[1] 楊金中,秦緒文,張志,等.礦山遙感監(jiān)測(cè)理論方法與實(shí)踐[M].北京:測(cè)繪出版社,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] 胡鵬,黃杏元,華一新.地理信息系統(tǒng)教程[M].武漢:武漢大學(xué)出版社,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的礦山遙感監(jiān)測(cè)成果編制系統(tǒng)[J].國(guó)土資源遙感,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的三個(gè)常用元數(shù)據(jù)描述工具的評(píng)價(jià)與比較[J].情報(bào)科學(xué),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].計(jì)算機(jī)應(yīng)用研究,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開發(fā)典型應(yīng)用:數(shù)據(jù)標(biāo)記、處理、共享與分析[M].北京:電子工業(yè)出版社,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]馮進(jìn),丁博,史殿習(xí),等.XML解析技術(shù)研究[J].計(jì)算機(jī)工程與科學(xué),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.
(責(zé)任編輯: 李瑜)
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
刁明光,薛濤,梁建東,等.礦山遙感監(jiān)測(cè)屬性數(shù)據(jù)復(fù)雜約束類型的描述方法[J].國(guó)土資源遙感,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
中國(guó)地質(zhì)調(diào)查局“礦產(chǎn)資源開發(fā)環(huán)境數(shù)據(jù)平臺(tái)建設(shè)與應(yīng)用”項(xiàng)目(編號(hào): 12120115062701)及中央基本科研業(yè)務(wù)費(fèi)專項(xiàng)資金資助項(xiàng)目“基于云計(jì)算平臺(tái)構(gòu)建的巖石地球化學(xué)圖解服務(wù)系統(tǒng)研究”(編號(hào): 2-9-2013-109)共同資助。
TP 319
A
1001-070X(2016)04-0197-05
刁明光(1970-),男,副教授,主要從事地學(xué)信息工程、軟件工程學(xué)研究。Email: dmg@cugb.edu.cn。