開源WebGIS實施方案(一):開篇
GIS起源于上世紀六十年代,發展到現如今,也早已不再是某些專業領域的“陽春白雪”。放眼當下,各商業GIS軟件有如群雄逐鹿,大有風起云涌之勢;而開源GIS軟件也有如群星璀璨,在各類型GIS產品中競相爭艷。本系列以介紹各相關開源GIS軟件為目的,藉以實現一套行之有效的WebGIS實施方案。
以我個人粗淺的認識來看,一套切實可行的WebGIS需具備以下三個部分:① 地圖數據,地圖數據既是GIS運行的基礎也是GIS中永遠的主角;② Web服務器&GIS服務器,Web服務器主要提供Web信息瀏覽服務,GIS服務器則用于提供WMS、WFS和WCS等Web服務;③ 客戶端展現,這個當然是面向最終用戶的了。
地圖數據生產,可以采用uDig、QGIS、OpenJUMP等開源桌面GIS。
地圖數據存儲,有兩種可選方法。一是文件存儲,直接以Shapefile文件形式存儲;二是利用空間數據庫。在開源空間數據庫中,比較成型的有PostGIS和MySQL Spatial。其中PostGIS是開源數據庫PostgreSQL的擴展模塊,而MySQL Spatial是開源數據庫MySQL的擴展模塊。相比較而言,在開源GIS領域,PostGIS能夠得到更為廣泛的支持。
Web服務器,Tomcat乃不二之選。
GIS服務器,GeoServer或者MapServer。二者都是開源WebGIS中的佼佼者,在功能與性能上各有千秋。GeoServer 是 OpenGIS Web 服務器規范的 J2EE 實現的社區開源項目,MapServer則是基于C實現的。
客戶端呈現,現在的主流方式都是請求地圖瓦片然后在客戶端進行展示,因此理論上客戶端只需要能夠請求并獲取相應的地圖瓦片即可。但是仍然可以采用一些開源庫的來簡化、強化、優化前端開發。比較著名的有Openlayers、OpenScales,其中OpenLayers 是一個專為Web GIS 客戶端開發提供的JavaScript 類庫包,用于實現標準格式發布的地圖數據訪問,OpenScales算是OpenLayers的ActionScript翻版,對于Flex前端開發來說是個不錯的選擇。另外還有ExtMap、Mapbuilder等。
以上已經給出了用開源軟件實現WebGIS的各個環節可采用的軟件,但在實際中,還需要根據項目實際做一下篩選。如果是Java版項目,推薦uDig + PostgreSQL/PostGIS + Tomcat + GeoServer + Openlayers組合。
本文作為該系列的開篇,簡要的介紹了WebGIS,對WebGIS的實現的各個環節給出了多樣化的開源軟件以供選擇,并給出了Java環境下實現WebGIS的開源軟件組合。本系列的后文,將對這一開源WebGIS實施方案作詳細講解。
出處:http://www.cnblogs.com/hans_gis/