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