地理標記語言(Geographic Markup Language)是由OGC定義的XML(標準通用標記語言的子集)格式,用來表達地理信息要素。它提供一個表達地理信息要素的語言模型,同時可以用來在Internet上進行數據交換。由開放地理信息系統協會(OGC)負責制定它的標準。
簡介
GML是XML(標準通用標記語言的子集)在地理空間信息領域的應用。利用GML可以存儲和發布各種特征的地理信息,并控制地理信息在Web瀏覽器中的顯示。
地理空間互聯網絡作為全球信息基礎架構的一部分,已成為Internet上技術追蹤的熱點。許多公司和相關研究機構通過Web將眾多的地理信息源集成在一起,向用戶提供各種層次的應用服務,同時支持本地數據的開發和管理。GML可以在地理空間Web領域完成了同樣的任務。GML技術的出現是地理空間數據管理方法的一次飛躍。
由來
2000年5月,OGC推出了基于XML DTD (Document Type Definitions,文檔類型定義)和RDF(Resource Description Frameworks,資源描述框架)的GML1.0版。2001年2月,OGC又推出了完全基于XML Schema的GML2.0版。2003年2月,GML3.0版正式發布。
目的
如下:
提供適用于Internet環境的空間信息編碼方式,用于數據傳輸和存儲;
能夠擴展,用以支持對空間信息的多樣化需求,不管是用于對空間信息的單純描述,還是進行更深層次的分析使用;
以一種可擴展和標準化的方式為基于Web的GIS建立良好的基礎;
允許對地理空間數據進行高效率編碼;
提供了一種容易理解的空間信息和空間關聯的編碼方式;
實現空間和非空間數據的內容和表現形式的分離;
易于將空間信息和非空間信息進行整合;
易于將空間幾何元素與其它空間或非空間元素連結起來;
提供一系列公共地理建模對象,從而使各自獨立開發的應用之間互操作成為可能。
GML為網絡時代的地理空間Web領域提供了一種“開放式”的標準,它的出發點是空間數據編碼,包括分布式空間數據的編碼。
組成
在介紹GML組成之前,首先需要說明一下什么是地理空間特征(Geographic Feature)。地理空間特征是對真實世界現象的一種抽象,當這種抽象與某一地理位置相關時,就表現為地理空間特征。現實世界的數字化表示構成了一個特征集,特征由其屬性說明,屬性由一個三元組(屬性名、屬性類型、屬性值)表示,特征的定義給出了屬性的個數和每個屬性的名字和類型。概括地講,地理空間特征就是擁有地理空間位置屬性的特征。多種特征合并在一起形成一個“特征集”(Feature Collection),特征集也可以當作單個特征使用,并且也有自己的屬性。
版本
GML目前已推出了三個版本,其中1.0版和2.0版的組成和實現方式存在較大差異,而3.0版幾乎完全和2.0版兼容。下面將對這三個版本進行粗略比較。
1.0
GML1.0版是基于XML DTD和RDF,這是一種雖然笨拙但很有用的結合。DTD歷史悠久并被廣泛采用,但是不支持類型繼承、基本語義模型和名字空間。RDF則較少使用,卻支持名字空間、分布式Schema的綜合、類型繼承和一個簡單的語義模型。
三個形態
GML1.0版以下面三個Profile的形式發布。
Profile 1:適用于單純基于DTD的解決方案,而不準備開發自己的應用DTD,或期望獲得的數據依賴于已有的DTD集的情況。Profile 1需要用到GML特征和GML幾何DTD。
Profile 2:適用于單純基于DTD的解決方案,但準備開發自己的應用DTD,或期望獲得用參考DTD編碼的數據情況。Profile 2要求使用者利用GML的幾何DTD創建一個專用的特征DTD。
Profile 3:適用于那些準備使用RDF和RDF Schema的開發者。這些開發者需要對地理空間類型結構有更強控制。Profile 3要求使用者利用GML RDF Schema的定義創建一個專用的RDF Schema說明,同時也允許用戶使用以某種方式從RDF Schema導出的DTD或DTD元素。
2.0
GML2.0版本則完全基于XML Schema,較之1.0版是一個很大的進步。近年來,XML Schema已發展得非常成熟,它同時支持名字空間、分布式Schema的綜合、類型繼承,并已出現大量支持XML Schema的工具和解譯器。因此,GML2.0版能夠享受Schema帶來的好處,使GML技術更加靈活,越來越多的用戶已開始使用GML2.0版。
三個基礎
GML2.0提供了以下三個基本XML Schema,任何基于GML的應用都在這三個Schema的基礎上進行擴展。
geometry.xsd提供了詳細的基本空間幾何組件定義。GML的Geometry Schema既包含了用于抽象幾何元素和具體點、線、多邊形空間幾何元素的類型定義,也包含了用于基礎地物類型的復雜類型定義。
feature.xsd定義了基本的地物特征/屬性模型。GML以地物特征(Ferture)為描述空間地理數據的基本單位,而地物特征又由非空間屬性和空間屬性組成。
xlinks.xsd提供了用于實現鏈接功能的XLink屬性。該Schema中定義了前兩個基本Schema中要用到的鏈接屬性。通過這些鏈接屬性,GML能夠將位于不同數據源的地物特征,通過鏈接的方式組織在一個文件中。
上述三個Schema文檔并不適于單獨使用。它們互相配合,為GML的擴展應用提供了基本類型和結構。其中geometry.xsd和feature.xsd都屬于GML名字空間,xlinks.xsd則屬于XLink名字空間。
GML的三個基礎Schema實際上提供了一套基礎類。通過它們,用戶可以聲明或定義自己的類型,用以命名和區分重要的地物特征和地物集合特征。
3.0
GML3.0版是對GML2.0版的擴充,并且向后兼容。Schema集合的組織具有了模塊化特點,即用戶能夠有選擇地使用所需部分,減化和縮小了執行的尺寸,提供了面向WEB應用、基于對象的地理數據描述語言。此外,3.0版增加了對復雜的幾何實體、拓撲、空間參照系統、元數據、時間特征和動態數據等的支持,使其更加適合描述現實世界問題,如基于位置服務的行程安排和高速公路設計等。
主要特點
GML3.0版新增的主要特性包括:
增加了復雜的空間幾何元素,如曲線、表面、實體等,允許使用幾何元素集合;
支持拓撲的存儲,可表示定向的節點、邊、面和三維實體;
引入了空間參照系統,給出了描述空間系統的框架,并預定義很多公用方案;
提供建立元數據與特征(屬性)間聯系的易于擴充的框架機制;
增加了時間特征和描述移動物體的能力,具有標準的年、月、日、時、分、秒模式和位置、速度、方位、加速度等動態特征。
擴展機制
GML作為一個“開放的”標準,并沒有強制采用它的用戶使用確定的XML標識,而是提供了一套基本的幾何對象標簽、公共的數據模型,以及采用自建和共享應用Schema的機制。所有兼容GML的系統,必須使用GML提供的幾何地物標簽來表示地物特征的幾何屬性,但可以通過限制、擴展等機制來創建自己的應用Schema。
目前,越來越多的公司和研究機構開始采用GML語言開發它們的地理空間信息應用。GML語言本身也在不斷發展和完善中,最新推出的GML3.0版本在空間數據編碼和傳輸、地理對象描述等方面做出了諸多改進。相信在GML等技術的推動下,地理空間Web將日臻成熟,繼而在全球推廣開來。
通用標記語言
通用標記語言為了促進數據交換和操作,在20世紀60年代,通過IBM格公司研究人員的杰出工作,得出了重要的結論:要提高系統的移植性,必須采用一種通用的文檔格式,這種文檔的格式必須遵守特定的規則。這也就是創建通用標記語言(外語全稱:Generalized Markup Language、外語縮寫:GML)的指導原則,從人們所產生的將文件結構化為標準的格式的動機出發,IBM創建了GML。
GML是一種IBM格式化文檔語言,用于就其組織結構、各部件及其之間的關系進行文檔描述。GML將這些描述標記為章節、重要小節和次重要小節(通過標題的級來區分)、段落、列表、表等。GML在文檔具體格式方面,為文檔員提供了一些方便,他們不必再為IBM得打印機格式化語言SCRIPT要求的字體規范、行距以及頁面設計等浪費精力。
GML啟動裝置是IBM的GML標記集合的一個稱呼。GML啟動裝置的輸入是由將打印機輸出隊列格式化的文檔合成設備(DCF)處理的。以后IBM的留言管理產品會提供更多的GML標記集合。
GML是標準通用標記語言的先驅和基礎,SGML是當今創建結構化文檔描述語言規則的戰略集合。很多網頁是用HTML標記表示出的,就是使用GML概念創建文檔的例子。擴展標志語言(XML)也根源于GML。
參考資料 >