摘要:地理標記語言GML(Geography Markup Language)是基于XML的空間信息編碼標準,由OGC(OpenGIS Consortium)提出。是一種基于XML開放格式的GIS數據形式,具有標準化、通用性、可擴展等特點。該文針對WebGIS傳統數據源的不足,利用GML作為數據源來構建WebGIS平臺,以解決WebGIS數據不能共享的問題。
關鍵詞:可擴展標記語言;網絡地理信息系統;地理標記語言;中間件
中圖分類號:TP311.5文獻標識碼:A文章編號:1009-3044(2010)03-516-02
Research and Application WebGIS Based on GML Data Source
LIU Xiang-dong
(Sichuan Vocational and Technical College, Suining 629000, China)
Abstract: Geography Markup Language (GML) is a spatial information coding standard based on XML by the OpenGIS Consortium(OGC) submitted. It is an open format GIS data type based on XML. It is provides standardized, generic, scalable features. In this paper, because of the traditional data scarcity of WebGIS, In order to solve the spatial information sharing, it is necessary to build WebGIS Platform by GML technology.
Key words: XML; WebGIS; Geography Markup Language; Middleware
地理信息系統GIS(Geographic Information System)作為上個世紀六十年代提出并逐步發展起來的一種采集、存儲、管理、分析和描述空間和地理分布有關的數據的空間信息系統。當前Internet/Intranet迅速膨脹發展,利用Internet/Intranet在Web上建立GIS已經成為GIS發展的必然趨勢,即WebGIS。
1 WebGIS概述
隨著GIS技術和Internet/Intranet技術的融合,使GIS的應用環境、概念、軟件構架都發生了變化,建立Web GIS成為近年來GIS領域的一個新的發展趨勢。從Internet的任何一個節點,用戶均可以訪問WebGIS平臺上的空間數據以及進行各種空間數據的分析與檢索。WebGIS具有以下的優點和特征:
1) 更廣泛的訪問范圍。用戶可以同時訪問位于不同服務器端的空間數據。而這一優勢也大大方便了GIS的數據維護和管理,使得分布式的多數據源的數據管理和合成更易于實現。
2) 平臺獨立性。由于WebGIS使用通用的Web瀏覽器。無論WebGIS服務器端使用何種GIS平臺。用戶都可以透明地訪問WebGIS平臺上的空間數據。
3) 實時性強。WebGIS服務器上的空間數據的更新和維護都是通過Internet/Intranet來實現。能完全做到實時更新。用戶訪問到的WebGIS空間數據即是最新的空間數據。
WebGIS采用三層架構:瀏覽器—Web服務器—數據服務器,如圖1。
在三層架構中,WebGIS服務器既作為一個瀏覽服務器,同時又是應用服務器,包含整個WebGIS的應用邏輯和規則,客戶端就是各個訪問WebGIS的終端,只包含表示層,因此又成為瘦客戶(ThinClient)。應用服務器可以支持多種數據源和數據類型,并可以通過中間件技術來完成通訊。這樣就屏蔽了網絡通訊的技術細節,使得客戶端和服務端不需要過多了解對方的具體工作,從而實現了無縫透明的訪問和連接。
2 GML概述
地理標記語言(GML)是一種開放的XML格式的GIS數據形式,是基于XML的空間信息編碼標準,由OGC(OpenGIS Consortium)提出。專門對地理信息的傳輸和存儲進行編碼,以解決全球地理參考信息(GRI)的互操作問題。GML繼承XML的特性,對現實世界中地理特征對象的幾何數據和屬性數據進行編碼,編碼時不管數據的最終表現形式,實現地理信息內容和表現的分離。GML可以支持各種數據格式,包括矢量柵格圖形,文本、聲音等。
GML有以下的優點:
1) 互操作性強。GML對空間信息通過Internet進行數據傳輸和存儲,并提供從數據描述到數據分析的各種任務的支持。GML是基于模塊化的。能從數據的表示上區別空間內容和非空間內容。允許空間數據和非空間數據的集成。不僅面向瀏覽器終端,還可以對地理信息進行編碼。只要提供XML接口的設備都可以使用GML格式的數據。GML可以讓用戶在GML文件中嵌入與要素相關聯的鏈接。用戶在某一個地理要素上點擊。就可以很容易地獲得要素的標識。
2) 易過濾性。由于GML是基于要素的,可以很容易地實現空間數據的過濾,用戶可以只下載需要的空間數據。這樣就減少了空間數據的傳輸時間。通過過濾選擇,用戶可以顯示或隱藏某些信息,而無需讓服務器產生新的地圖并重新傳送到客戶端。
3 基于GML數據源構建WebGIS
3.1 原型架構
WebGIS提供服務的最終對象是Internet上各個節點的用戶。而服務的內容包括空間數據的可視化顯示、查詢、分析等。實現這些服務的關鍵技術之一就是如何從服務器端將數據傳輸到用戶節點上。傳統的GIS兩層系統結構已經不適合構建WebGIS。要實現分布式異構空間信息的實時發布和互操作。將空間數據的表示層與業務邏輯層分開成為必然要解決的技術。客戶端僅實現空間數據的圖形表示。而主要的業務邏輯放置在中間服務器層,完成空間數據的處理和互操作。后端服務器仍是分布在各個WEB服務站點的地理信息數據庫。基于GML數據源的WebGIS架構如圖2。
在圖2的框架中,客戶端實現圖形用戶接口,接受客戶的輸入和操作,向中間件服務器發出數據請求,解析來自中間件服務器的GML數據,并完成數據的可視化顯示。中間件服務器存儲各個數據庫服務器的元數據,如數據庫服務器的URL、目錄、是否可用、最后一次與中間件服務器通信的時間等。分布式數據庫服務器負責接受地理參考信息并存儲在本地數據庫中。在客戶端或中間件服務器請求時,負責將空間參考信息轉換為GML文檔。
3.2 關鍵技術
在圖2中,在該架構中還有兩個很重要的組成部分:GML生成器和GML解析器。GML生成器可以根據已知空間信息數據生成用于傳輸的GML文檔,GML解析器可以把接收到的GML文檔中攜帶的地理信息數據解析出來。GML解析器和生成器哦配置在客戶端與中間件服務器之間、中間件服務器與數據庫服務器之間。
為了使GML進行空間數據的傳輸,客戶端與中間件服務器之間的GML解析器和生成器配置在客戶端,若客戶端的數據表現形式不同,所配置的GML解析器與生成器也相應不同。客戶端的GML解析器負責解析來自中間件的GML文檔為同數據表現相對應的數據格式;GML生成器則負責將用戶的輸入或請求轉換為GML文檔,然后傳輸給中間件服務器以進行數據查詢和更新。
位于中間件服務器與空間信息數據庫之間的GML解析器和生成器配置在數據庫服務器端,不同數據庫服務器若數據庫管理系統不同,則相應的GML解析器與生成器不同。服務器端GML解析器負責解析由中間件服務器的數據訪問引擎所發來的GML文檔中的SQL語句;然后傳給數據訪問引擎,數據訪問引擎再把從數據庫中獲得的空間參考數據傳給GML生成器,生成GML文檔回傳給中間件服務器。
4 結束語
GML可以將空間數據與表現完全分類開來,并支持空間數據的互操作,可以支持復雜的數據分布關系,并能否實現復雜的鏈接關系。這些優點決定了在構建WebGIS時,GML成為必然的選擇。由于基于GML數據源的WebGIS所涉及知識的復雜度,本文所論述的內容可能存在不足,在以后的學習中,會逐步深入進行研究。
參考文獻:
[1] Making Maps for the Web with Geography Markup Language(GML),[EB/OL].http://www.jlocationservices.com/company/galdos/articles/GMLMapMakinggm1.htm,2002—05—19.
[2] 王保安,吳翠紅.基于XML與中間件技術的GIS空間數據存取[J].計算機輔助工程,2008(2).
[3] 駱炎民,張全伙.基于XML的WebGIS計算模型[J].福建電腦.2003(7).
[4] 許捍衛,萬鐵莊,王善華.基于J2EE的分布式WebGIS研究[J].現代測繪,2004(1).
[5] 周濤. WebGIS的實現技術及發展趨勢[J].信陽師范學院學報(自然科學版).2003(1).
[6] Geography Markup Language(GM L)3.2.1,OpenGIS Implementation Specification,OGC Document Number:01-029,[DB/OL]. http://portal.opengeospatial.org/files/?artifact_id=20509.
[7] 朱前飛,高芒.以GML為框架的WebGIS數據融合系統研究[J]. 計算機工程與設計,2005(5).
[8] 彭明軍,李宗華,楊存吉.WebGIS實現技術及發展研究. 測繪信息與工程,2001(1).
[9] 蘭小機,閭國年,張書亮,姜永發.一種通用GML 3.0解析引擎的設計與實現[J]. 地球信息科學,2005(1).