GML

GML - Geography Markup Language

Written by LightThis email address is being protected from spambots. You need JavaScript enabled to view it.

Logo from GML Book


Section 1. 背景介紹

地理標誌語言 (GML) 是由OGC定義的XML格式,用來表達地理信息要素。GML提供一個表達地理信息要素的語言模型,同時可以用來在Internet上進行數據交換。

GML主要包含如下元素: legend sample

  • 要素 Feature
  • 坐標 Geometry
  • Coordinate Reference System
  • 拓撲 Topology
  • 時間 Time
  • 動態要素 Dynamic feature
  • 覆蓋 Coverage
    (including geographic images)
  • 單位 Unit of measure
  • 方向 Directions
  • Observations
  • 地圖展現風格
    Map presentation styling rules

Section 2. GML Features

地理現象是複雜、多樣和多尺度的,要準確且有效率的在電腦環境中,甚至網路世界中操作,必須轉化於真實世界概念中地理資料模式(geospatial data models),以作為人與電腦溝通地理資料的中介。GML的應用並扮演了二個重要角色(OGC,2005) ,一是表現原始資料模式;另一是在地理空間資料基礎設施(Spatial Data Infrastructure,SDI)架構下,以GML文件在政府組織和商業團體中相互分享。目前實用性較高GML版本為GML 2.0和GML 3.0,其中GML 2.0符合地理空間資料庫或GIS軟體所奉行的簡易圖徵標準(Simple Feature Profile),同時也被眾多商業軟體所採行,如ESRI ArcGIS,然而GML 3.0則加強地理空間資料之表達上所需的型態與方式,支援了多種物件(objects)以描述地理資訊之位相關係、三維(3D)幾何性質、座標參考系統、時間屬性值、多種比例尺、metadata、網格(grid)資料、和對地形及區域做視覺化處理所需的預設樣式,且GML 3.0也大幅度地擴展內建元素(built-elements),這也是GML提供地理應用開發者最主要的部份。GML 3.0提供29個核心綱目(core schemas)於使用者對地理資料建立各自知識領域或專業領域的地理模式時使用,如此豐富地理描述語彙包含了超過10,000條的編碼充份地提供各知識領域所需。而GML 3.0提供地理物件的編碼包含(OGC,2003):

  1. 地理特徵(geographic features),包括幾何(geometry)、位相(topology)和時間的演變(temporal evolution)。
  2. 地理覆蓋(geographic coverage),包括幾何位置(geometry)和屬性值(attribute values)
  3. 地理觀察(geographic observation),例如水文觀測,具有空間位置和時間動態資料的記錄。
  4. 座標參考系統(Coordinate reference systems)。
  5. 抽象值(abstract values),包括有測量單位的數值量化,和基於計算、分類和布林邏輯(Boolean)決定的觀測值。

GML的主要目的是提供一個一致性語言來描述地理物件,且透過這個方法所編碼地理空間資料可以輕易地分享在網路世界中。GML模式是基於物件導向技術(Object-Oriented)以直覺地建構真實世界的地理空間物件,因此GML的模式是由宣告地理物件和物件屬性所構成,Trninić (2005) 認為GML模式由幾個部份構成;首先是圖徵(feature),為基本地理物件,是來自於真實世界的抽象化,如道路或房屋;再者是幾何(geometry),是一種物件,而被用來描述地理物件的絕對位置,如點或多邊形;其次是位相(topology),也是一種物件,是用來描述地理物件的空間相互關係,如端點(node)或邊(edge);此外,地理物件也可以有許多屬性,如一個房子的具有多少房間是以表達,其「值」是一個整數型態和一個房子的空間屬性是以表達,其「值」是一個幾何座標的型態,如編碼表1。由此可見,每一個屬性有它自己的值,而值可能是一個簡單的型態,也可能是一個物件,因此GML模型是物件─屬性─值(object-property-value model),相對於ER(Entity-Relationship)模型,即為實體─關係─實體;或物件導向中物件─屬性─值模式(object-attributes-value)。

GML編碼技術是以XML Schema為基礎,是一個理想並適合於以分享為目的資料集。GML模式和它的核心綱目(core schemas)讓使用者可以描述所屬應用領用領域的地理實體,如同蓋房子前需要先畫好藍圖,這樣的藍圖不但得以在該應用領域被使用,一致性的表達方式,更使得這些地理資料亦可分享於其他應用領域中。GML核心綱目(core schemas)的元素是使用XML綱目(Schema)來構成GML的語義模式和語法規則,且GML是一個基於圖徵(feature)架構,因此一個地理物件通常可由一個或數個GML應用綱目(Application Schema)構成,如圖2所示,在GML名稱空間(namespace)中圖徵(feature)是由詮釋資料(Metadata)和幾何(Geometry)所組成,表示GML核心綱目中圖徵(feature)綱目 是由詮釋資料(Metadata)和幾何(Geometry)綱目所組成,而其它領域的名稱空間(namespace),如圖2的foo 1和foo 2應用領域中的schema 1、schema 2、schema 3所包含的元素(element),可以繼承GML架構中的物件,而根據各領域之專家對地理空間物件的模式,可建立以GML編碼模為基礎的應用綱目(application schema),而該應用綱目不但具有GML編碼規則與特性,同時又保有所屬領域中的對地理空間物件的闡釋,如此的物件可能包含道路、水溝、河流、建築物、山脈、崩塌地滑和斷層等各種的地理現象,而這些地理現象在GML中被稱為圖徵(feature),而這些圖徵在GML中是XML的元素(element),有明確的名稱(如)且藉由子屬性元素來描述,因此空間資訊將可利用GML當成一個交換標準以供各領域之專家來交換資料(Galdos Systems Inc., 2003)。

GML除了繼承XML的特色而有利於地理空間資料的交換,進一步地,剖析GML,可發現GML具有幾項特色,而被認為是解決資料相互操作性的重要基礎(Zhang等人,2003;鄧東波等人,2004):

  1. GML基於一個共通(common)的地理的抽象模型,而此模型描述真實世界中如何被一組圖徵(feature)所建構,地理圖徵是一個真實世界現象概括化物件,且該物件關連於地球上某一個空間位置,一個圖徵可有簡單的屬性和幾何屬性,簡單的屬性包括慣用的名稱、型態和值的描述,而幾何屬性可以是點、線和面所組成,因此由GML中的圖徵架構和屬性可使得圖徵容易整合,以及相互比較。
  2. GML所提供的核心綱目(core schemas),是一般性地理空間資料的描述方式,其中GML 3.1.1已增加至29個核心綱目,可滿足目前大部份地理空間資訊的編碼需求,因此藉由擴展與限制核心綱目,不但可充份表達多樣性地理空間資料,亦可使這些編碼遵循於同一標準。
  3. GML基於XML的標準,而在網路世界中對於結構化文件和資料,XML是一個通用的格式,XML是容易轉換的,除了可使用XSLT轉換外,幾乎其它的程式語言皆可轉換XML,因此依附在一個開放、非私有的標準,GML文件具有與XML同樣的彈性,可被運用、轉換和呈現。此外,現存的相關XML技術也同樣地可以應用在GML上,如XQuery和XPath的技術。
  4. GML相同於XML,提供XLink的機制,可連結不同分散的來源在一個複雜的關連(association),相同於,HTML被使用來連結網頁的重要地位,GML則被發展來連結地理網絡中地理空間圖徵集合,透過XLink可以將不同圖徵和圖徵集合之間作可跨文件的串連,因此XLink允許我們可以建構出複雜且分散的地理資料集,使我們可在不同部門間、縣市政府間,甚至國家間緊密地的整合資料及存取資料。
  5. GML文件可透過WFS在網路中相互傳輸資料,而透過其它的OGC所提供的標準網路地理資料服務,如WMS和WCS的建立與整合,不同格式的地理空間資料庫藉由GML格式以相互交換資料。
  6. GML資料完全以文字型態儲存,文字格式不被任何一個軟體可限定的,不同於現今許多地理空間資料格式是以二元制(binary)格式,使人無法閱讀,甚至解析。也因為GML是文字格式,它可以輕易的整合不同來源的非空間型態資料,如文字、一般圖形、動畫、聲音…等,這提高了地理空間資料的價值和親近性。

Section 3. 範例程式碼

Example Code

http://docs.codehaus.org/display/GEOTDOC/02+GML+Example