資源描述:
《基于開源leaflet的webgis客戶端設計與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、基于開源Leaflet的WebGIS客戶端設計與實現(xiàn) 摘要:Leaflet是一個開源的地圖Javascript庫,具備界面友好、互操作性強、支持移動設備等特點,支持OGC的WMS/WFS/WCS標準,提供了數(shù)百個第三方插件擴展地圖功能,是進行開源WebGIS客戶端開發(fā)的最佳選擇。文章介紹了WebGIS體系結構和關鍵技術與規(guī)范,并結合實例重點介紹了Leaflet的特點具體應用?! £P鍵詞:開源;WebGIS;Leaflet;GeoJSON 1概述 近年來,隨著計算機技術、互聯(lián)網技術、數(shù)據(jù)庫技術等技術的不斷發(fā)展,GIS技術開始面向傳統(tǒng)行業(yè)和廣大
2、民眾,WebGIS出現(xiàn)并迅速發(fā)展[1]。因為采用B/S(瀏覽器/服?掌鰨┓絞醬罱ǎ?并具有響應快速、交互式、分布式、動態(tài)性等特點,實現(xiàn)了在互聯(lián)網上實現(xiàn)地理信息服務共享,是GIS發(fā)展的必然趨勢。人們可以在網絡上的任意一個節(jié)點,通過瀏覽器無縫訪問來自多個WebGIS服務器發(fā)布的空間數(shù)據(jù),并使用來自多個服務器節(jié)點提供的服務。這使得WebGIS真正成為大眾的工具,貼合人們的生活,利用空間信息更好的為人們服務,如谷歌地圖、百度地圖等,已經成為人們日常出行不可缺少的一部分?! 』赪ebGIS的商業(yè)平臺和OGC開放式地理數(shù)據(jù)互操作規(guī)范的開源框架越來越多,但是
3、對于個人用戶和中小企業(yè),如果使用商業(yè)WebGIS平臺,就必須使用其相關的數(shù)據(jù)處理工具、制圖工具、空間數(shù)據(jù)庫管理工具以及數(shù)據(jù)服務發(fā)布工具等一系列商業(yè)軟件,需要支付高昂的費用,讓人難以接受。因此,基于開源框架的WebGIS平臺成為中小企業(yè)以及科研工作者的首選,并涌現(xiàn)出Openlayers和Leaflet等客戶端平臺。本文選擇Leaflet作為WebGIS客戶端的開發(fā)框架,Leaflet是一套界面友好、互操作性強、支持移動設備的JavaScript開源地圖庫,具有簡便、高效、可用性強等特點,具備開發(fā)者用到的所有地圖功能[2]。 2WebGIS的體系結
4、構 一般來說,WebGIS的體系結構至少包括三個部分:數(shù)據(jù)源,Web服務器,客戶端,如圖1所示[3]?! ?.1數(shù)據(jù)源 數(shù)據(jù)源用戶管理和處理各種數(shù)據(jù),包括文件類型數(shù)據(jù)和空間數(shù)據(jù),以及地圖切片數(shù)據(jù),可采用商業(yè)數(shù)據(jù)庫如Oracle、SQLServer等,也可采用開源數(shù)據(jù)庫MySQL和PostGIS等。系統(tǒng)會使用多臺物理計算機來存儲和更新數(shù)據(jù)、處理數(shù)據(jù),并加工地圖,并定期對數(shù)據(jù)進行備份,為Web服務器提供強大數(shù)據(jù)支撐?! ?.2Web服務器 基于OGC規(guī)范的Web服務器是系統(tǒng)的核心部分,用于創(chuàng)建基于OGC的WMS、WFS和WCS規(guī)范的Web服務服
5、務。Web服務器要求性能要好、處理速度要快,從而快速處理地圖服務等各種服務。當前主流的WebGIS都是用JavaScript直接訪問Web服務,JavaScript是直接在瀏覽器上運行,可以直接訪問Web服務并返回結果?! ?.3客戶端 客戶端是支持WebGIS的各種瀏覽器,瀏覽器通過網絡連接到Web服務器發(fā)布的空間服務,并依賴這些服務來獲取地圖數(shù)據(jù)、查詢、分析、統(tǒng)計、定位等功能,從而以可視化的形式為用戶展示地圖、文字、表格、統(tǒng)計圖和視頻等綜合信息。 3WebGIS規(guī)范和技術 3.1OGC規(guī)范 OGC的主旨是在分布式環(huán)境下實現(xiàn)地理空間數(shù)據(jù)
6、和地理信息處理資源的共享,允許用戶通過網絡實時的獲取不同系統(tǒng)的地理信息[4]。OGC根據(jù)W3C的Web服務發(fā)布了WMS(WebMapService,Web地圖服務),WFS(WebFeatureService,Web要素服務)和WCS(WebCoverageService,地圖覆蓋服務)等規(guī)范,從而實現(xiàn)了矢量數(shù)據(jù)和影像數(shù)據(jù)的共享?! MS定義了GetCapabilities(用于返回服務級元數(shù)據(jù)),GetMap(用于返回地圖影像),GetFeatureInfo(用于返回顯示在地圖上的某些特殊地理要素信息)等3種操作。能夠根據(jù)用戶的請求返回相應的
7、地圖,地圖的形式包括PNG、GIF、JPEG等。 WFS定義了插入、更新、刪除、檢索和發(fā)現(xiàn)地理要素的服務,其中GetCapabilities用于返回服務級元數(shù)據(jù)。DescribeFeatureType用于返回要素結構,進而可以進行查詢等操作?! etFeature是很重要的接口,它可根據(jù)查詢要求返回一個符合GML規(guī)范的數(shù)據(jù)文檔。WFS支持根據(jù)屬性條件進行查詢,支持根據(jù)空間關系進行查詢,并支持屬性條件和空間關系的復合查詢?! CS根據(jù)客戶端請求返回影像等多種數(shù)據(jù)。包含GetCapabilities,GetCoverage等重要操作。其中Get
8、Capabilities返回一個描述服務和XML文檔,在確定要查詢的數(shù)據(jù)后,GetCoverage返回數(shù)據(jù)。 3.2Leaflet