什么是GML? GML:地理信息管理的飛躍
GML是XML在地理空間信息領(lǐng)域的應(yīng)用。利用GML可以存儲(chǔ)和發(fā)布各種特征的地理信息,并控制地理信息在Web瀏覽器中的顯示。
地理空間互聯(lián)網(wǎng)絡(luò)作為全球信息基礎(chǔ)架構(gòu)的一部分,已成為Internet上技術(shù) 追蹤的熱點(diǎn)。許多公司和相關(guān)研究機(jī)構(gòu)通過(guò)Web將眾多的地理信息源集成在一起,向用戶(hù)提供各種層次的應(yīng)用服務(wù),同時(shí)支持本地?cái)?shù)據(jù)的開(kāi)發(fā)和管理。GML可以 在地理空間Web領(lǐng)域完成了同樣的任務(wù)。GML技術(shù)的出現(xiàn)是地理空間數(shù)據(jù)管理方法的一次飛躍。
GML的由來(lái)
GML (Geography Markup Language)即地理標(biāo)識(shí)語(yǔ)言,它由OGC(開(kāi)放式地理信息系統(tǒng)協(xié)會(huì))于1999年提出,并得到了許多公司的大力支持,如Oracle、 Galdos、MapInfo、CubeWerx等。GML能夠表示地理空間對(duì)象的空間數(shù)據(jù)和非空間屬性數(shù)據(jù)。
2000年5月,OGC推出了基于XML DTD (Document Type Definitions,文檔類(lèi)型定義)和RDF(Resource Description Frameworks,資源描述框架)的GML 1.0版。2001年2月,OGC又推出了完全基于XML Schema 的GML 2.0版。2003年2月,GML 3.0版正式發(fā)布。
OGC推出GML的目的如下:
◆ 提供適用于Internet環(huán)境的空間信息編碼方式,用于數(shù)據(jù)傳輸和存儲(chǔ);
◆ 能夠擴(kuò)展,用以支持對(duì)空間信息的多樣化需求,不管是用于對(duì)空間信息的單純描述,還是進(jìn)行更深層次的分析使用;
◆ 以一種可擴(kuò)展和標(biāo)準(zhǔn)化的方式為基于Web的GIS建立良好的基礎(chǔ);
◆ 允許對(duì)地理空間數(shù)據(jù)進(jìn)行高效率編碼;
◆ 提供了一種容易理解的空間信息和空間關(guān)聯(lián)的編碼方式;
◆ 實(shí)現(xiàn)空間和非空間數(shù)據(jù)的內(nèi)容和表現(xiàn)形式的分離;
◆ 易于將空間信息和非空間信息進(jìn)行整合;
◆ 易于將空間幾何元素與其它空間或非空間元素連結(jié)起來(lái);
◆ 提供一系列公共地理建模對(duì)象,從而使各自獨(dú)立開(kāi)發(fā)的應(yīng)用之間互操作成為可能。
GML為網(wǎng)絡(luò)時(shí)代的地理空間Web領(lǐng)域提供了一種“開(kāi)放式”的標(biāo)準(zhǔn),它的出發(fā)點(diǎn)是空間數(shù)據(jù)編碼,包括分布式空間數(shù)據(jù)的編碼。
GML的組成
在介紹GML組成之前,首先需要說(shuō)明一下什么是地理空間特征 (Geographic Feature)。地理空間特征是對(duì)真實(shí)世界現(xiàn)象的一種抽象,當(dāng)這種抽象與某一地理位置相關(guān)時(shí),就表現(xiàn)為地理空間特征?,F(xiàn)實(shí)世界的數(shù)字化表示構(gòu)成了一個(gè)特 征集,特征由其屬性說(shuō)明,屬性由一個(gè)三元組(屬性名、屬性類(lèi)型、屬性值)表示,特征的定義給出了屬性的個(gè)數(shù)和每個(gè)屬性的名字和類(lèi)型。概括地講,地理空間特 征就是擁有地理空間位置屬性的特征。多種特征合并在一起形成一個(gè)“特征集”(Feature Collection),特征集也可以當(dāng)作單個(gè)特征使用,并且也有自己的屬性。
GML目前已推出了三個(gè)版本,其中1.0版和2.0版的組成和實(shí)現(xiàn)方式存在較大差異,而3.0版幾乎完全和2.0版兼容。下面將對(duì)這三個(gè)版本進(jìn)行粗略比較。
◆ GML 1.0
GML 1.0版是基于XML DTD和RDF,這是一種雖然笨拙但很有用的結(jié)合。DTD歷史悠久并被廣泛采用,但是不支持類(lèi)型繼承、基本語(yǔ)義模型和名字空間。RDF則較少使用,卻支持名字空間、分布式Schema的綜合、類(lèi)型繼承和一個(gè)簡(jiǎn)單的語(yǔ)義模型。
GML 1.0版以下面三個(gè)Profile的形式發(fā)布。
Profile 1:適用于單純基于DTD的解決方案,而不準(zhǔn)備開(kāi)發(fā)自己的應(yīng)用DTD,或期望獲得的數(shù)據(jù)依賴(lài)于已有的DTD集的情況。Profile 1需要用到GML特征和GML幾何DTD。
Profile 2:適用于單純基于DTD的解決方案,但準(zhǔn)備開(kāi)發(fā)自己的應(yīng)用DTD,或期望獲得用參考DTD編碼的數(shù)據(jù)情況。Profile 2要求使用者利用GML的幾何DTD創(chuàng)建一個(gè)專(zhuān)用的特征DTD。
Profile 3:適用于那些準(zhǔn)備使用RDF和RDF Schema的開(kāi)發(fā)者。這些開(kāi)發(fā)者需要對(duì)地理空間類(lèi)型結(jié)構(gòu)有更強(qiáng)控制。Profile 3要求使用者利用GML RDF Schema的定義創(chuàng)建一個(gè)專(zhuān)用的RDF Schema說(shuō)明,同時(shí)也允許用戶(hù)使用以某種方式從RDF Schema導(dǎo)出的DTD或DTD元素。
◆ GML 2.0
GML 2.0版本則完全基于XML Schema,較之1.0版是一個(gè)很大的進(jìn)步。近年來(lái),XML Schema已發(fā)展得非常成熟,它同時(shí)支持名字空間、分布式Schema的綜合、類(lèi)型繼承,并已出現(xiàn)大量支持XML Schema的工具和解譯器。因此,GML 2.0版能夠享受Schema帶來(lái)的好處,使GML技術(shù)更加靈活,越來(lái)越多的用戶(hù)已開(kāi)始使用GML 2.0版。
GML 2.0提供了以下三個(gè)基本XML Schema,任何基于GML的應(yīng)用都在這三個(gè)Schema的基礎(chǔ)上進(jìn)行擴(kuò)展。
geometry.xsd提供了詳細(xì)的基本空間幾何組件定義。GML的Geometry Schema既包含了用于抽象幾何元素和具體點(diǎn)、線(xiàn)、多邊形空間幾何元素的類(lèi)型定義,也包含了用于基礎(chǔ)地物類(lèi)型的復(fù)雜類(lèi)型定義。
feature.xsd定義了基本的地物特征/屬性模型。GML以地物特征(Ferture)為描述空間地理數(shù)據(jù)的基本單位,而地物特征又由非空間屬性和空間屬性組成。
xlinks.xsd提供了用于實(shí)現(xiàn)鏈接功能的XLink屬性。該Schema中定義了前兩個(gè)基本Schema中要用到的鏈接屬性。通過(guò)這些鏈接屬性,GML能夠?qū)⑽挥诓煌瑪?shù)據(jù)源的地物特征,通過(guò)鏈接的方式組織在一個(gè)文件中。
上述三個(gè)Schema文檔并不適于單獨(dú)使用。它們互相配合,為GML的擴(kuò)展應(yīng)用提供了基本類(lèi)型和結(jié)構(gòu)。其中g(shù)eometry.xsd和feature.xsd都屬于GML名字空間,xlinks.xsd則屬于XLink名字空間。
GML的三個(gè)基礎(chǔ)Schema實(shí)際上提供了一套基礎(chǔ)類(lèi)。通過(guò)它們,用戶(hù)可以聲明或定義自己的類(lèi)型,用以命名和區(qū)分重要的地物特征和地物集合特征。
◆ GML 3.0
GML 3.0版是對(duì)GML 2.0版的擴(kuò)充,并且向后兼容。Schema集合的組織具有了模塊化特點(diǎn),即用戶(hù)能夠有選擇地使用所需部分,減化和縮小了執(zhí)行的尺寸,提供了面向WEB應(yīng) 用、基于對(duì)象的地理數(shù)據(jù)描述語(yǔ)言。此外,3.0版增加了對(duì)復(fù)雜的幾何實(shí)體、拓?fù)?、空間參照系統(tǒng)、元數(shù)據(jù)、時(shí)間特征和動(dòng)態(tài)數(shù)據(jù)等的支持,使其更加適合描述現(xiàn) 實(shí)世界問(wèn)題,如基于位置服務(wù)的行程安排和高速公路設(shè)計(jì)等。
GML 3.0版新增的主要特性包括:
◆ 增加了復(fù)雜的空間幾何元素,如曲線(xiàn)、表面、實(shí)體等,允許使用幾何元素集合;
◆ 支持拓?fù)涞拇鎯?chǔ),可表示定向的節(jié)點(diǎn)、邊、面和三維實(shí)體;
◆ 引入了空間參照系統(tǒng),給出了描述空間系統(tǒng)的框架,并預(yù)定義很多公用方案;
◆ 提供建立元數(shù)據(jù)與特征(屬性)間聯(lián)系的易于擴(kuò)充的框架機(jī)制;
◆ 增加了時(shí)間特征和描述移動(dòng)物體的能力,具有標(biāo)準(zhǔn)的年、月、日、時(shí)、分、秒模式和位置、速度、方位、加速度等動(dòng)態(tài)特征。
◆ GML的擴(kuò)展機(jī)制
GML作為一個(gè)“開(kāi)放的”標(biāo)準(zhǔn),并沒(méi)有強(qiáng)制采用它的用戶(hù)使用確定的XML標(biāo)識(shí), 而是提供了一套基本的幾何對(duì)象tag、公共的數(shù)據(jù)模型,以及采用自建和共享應(yīng)用Schema的機(jī)制。所有兼容GML的系統(tǒng),必須使用GML提供的幾何地物 tag來(lái)表示地物特征的幾何屬性,但可以通過(guò)限制、擴(kuò)展等機(jī)制來(lái)創(chuàng)建自己的應(yīng)用Schema。
目前,越來(lái)越多的公司和研究機(jī)構(gòu)開(kāi)始采用GML語(yǔ)言開(kāi)發(fā)它們的地理空間信息應(yīng) 用。GML語(yǔ)言本身也在不斷發(fā)展和完善中,最新推出的GML 3.0版本在空間數(shù)據(jù)編碼和傳輸、地理對(duì)象描述等方面做出了諸多改進(jìn)。相信在GML等技術(shù)的推動(dòng)下,地理空間Web將日臻成熟,繼而在全球推廣開(kāi)來(lái)。
相關(guān)鏈接
關(guān)于可擴(kuò)展標(biāo)識(shí)語(yǔ)言XML及前面提到的相關(guān)的概念,如DTD、Schema、XSL等,請(qǐng)參見(jiàn)我刊于2003年12月15日出版的第47期中《技術(shù)導(dǎo)航》欄目刊登的文章《XML:下一代網(wǎng)絡(luò)的基石》。
OGC (OpenGIS Consortium,開(kāi)放式地理信息系統(tǒng)協(xié)會(huì))是由240多個(gè)公司、政府機(jī)構(gòu)和大學(xué)組成的國(guó)際行業(yè)協(xié)會(huì)。它的目標(biāo)和任務(wù)是增強(qiáng)空間信息和位置技術(shù)的互操 作性,制定空間界面規(guī)范。OpenGIS,意即“開(kāi)放式地理信息系統(tǒng)”。OpenGIS的目的是提供一套具有開(kāi)放界面規(guī)范的通用組件,開(kāi)發(fā)者根據(jù)這些規(guī)范 開(kāi)發(fā)出交互式組件,這些組件可以實(shí)現(xiàn)不同種類(lèi)地理數(shù)據(jù)和地理處理方法間的透明訪(fǎng)問(wèn)。
評(píng)論
查看更多