文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/。sql
這一週,我對GIS開源解決方案中涉及到的開源軟件以及相關技術和流程作了一些初步的探索,也瞭解了一下其餘公司利用開源方案作的比較成熟的案例。這裏我將一些技術關鍵點的預研作一下總結,同時對其餘公司開源成功案例作一個分析,並提出我的認爲目前最符合公司實際的GIS開源解決方案。數據庫
利用postGIS將shp數據導入到postgreSQL中:緩存
導入postgreSQL中的空間數據,能夠進行展現以及編輯等操做。服務器
能夠直接利用uDig進行圖層配圖以及生產對應的SLD文件,而且能夠導出:微信
在Geoserver中添加stores選擇postgis便可:網絡
將多個單獨發佈的圖層服務組合爲一個圖層組,在一次請求中能夠顯示全部圖層組下的圖層:架構
包含了單元網格和社區的圖層組:框架
研究了GeoWebCache的兩種切圖策略:一種是類AGS切圖策略,即預先切圖;一種是類AGS動態切圖策略,即第一次請求時切圖。編輯器
切圖的相關配置和結果:函數
PostGIS中的ST_Geometry函數與SDE中的基本相同,不過它包含了自身的一些擴展函數。大體有以下功能:
在postgresql中測試了基本的空間要素增刪查改以及空間要素的面積和長度獲取:
某公司的平安XX(安防項目)爲此次研究的案例對象,經過與他們研發人員的交流,我大體得出如下幾點信息:
Geoserver(地圖服務器)+geoWebCache(瓦片緩存服務)+JBOSS(中間件)+postgreSQL(空間數據庫)+Oracle(業務數據庫)+uDig(空間數據編輯工具)。
a.該項目中Geoserver發佈了近六十個圖層,無明顯不穩定問題。
b.該項目中的空間數據查詢、編輯以及涉及到的空間分析功能,均用ST_Geometry函數實現,效率不錯。
c.項目中地圖瓦片緩存採用的geoWebCache的動態出圖策略。近六十個圖層做爲底圖,第一次請求出圖的時間大約爲20多秒(算上網絡耗費)。
d.業務數據和空間數據分開存放,業務數據存放到Oracle中,空間數據存放到postgresql中。
e.項目的部署,爲他們研發事先將數據均處理好後,再將已包含了數據的Geoserver和空間庫發給現場工程人員。
a.出圖和空間分析等功能是基本齊全的,效率和穩定性也不錯。平安XX自己是一個比較大的項目,經歷了比較好的實踐考驗。
b.將空間分析均用ST_Geometry+SQL來實現,而不經過Geoserver自己提供的WFS服務,能夠有更多的定製需求,而且若是出錯也方便排查。若是編寫的合理的話,是能夠加速數據的獲取。同時,非GIS專業的開發人員也更容易理解。
c.將空間數據和業務數據分開,這樣能夠保證原有的其餘項目使用的業務數據改動不大,保證系統的穩定性。
a.項目的實施均須要研發人員參與,將數據入庫以及發佈。而後還要配合現場將環境佈置好。
a.當用geoWebCache進行切圖時,若是底圖配圖很複雜,是否能夠保證切圖的不失真。
b.當用GeoWebCache進行切圖時,若是底圖是很大的影像圖(GB以上),是否能夠保證切圖的不失真,以及第一次出圖時的出圖效率。
c.當用Geoserver發佈超過100個圖層服務時,Geoserver自己的穩定性問題。
經過以上的技術關鍵點預研和其餘公司成功案例的分析,結合公司目前的總體架構,我我的提出一個自認爲比較符合公司的開源解決方案:
GeoServer(地圖服務)+本地瓦片服務(ArcGIS等切圖)+Tomcat(中間件)+Postgresql(空間數據庫)+Oracle(業務數據庫)+uDig(空間數據編輯工具)。
公司能夠依然採用ArcGIS來進行切圖(公司有正版),這樣有三個好處:
a.項目實施人員易操做。
b.配圖容易。
c.能夠保證切圖質量和效率。
切完的圖,咱們採用咱們已有的的離線瓦片策略便可,繞過GeoWebCache的採用和配置。固然,若是不想用ArcGIS切圖,想進行全開源化,咱們也能夠研究使用MapTiler這個開源切圖工具,切圖的效率和效果都比較好。
採用公司已有的基於GeoServer的功能。
採用公司已有的基於GeoServer的功能。
對於已經過GeoServer開發的空間分析功能,可基於採用。對於未開發的部分,建議採用ST_Geometry函數來進行。
採用postgresql+postGIS。PostGIS支持批量入庫,也支持中文數據,穩定性和性能均很不錯,操做也很容易。同時,開發方面的教程和社區論壇也不少。
採用uDig來進行空間數據編輯。uDig能夠直接導入shp數據或者postgis中的數據,也能夠將shp數據導入到postgresql中。還支持數據的樣式編輯以及SLD文件的生成。
a.切圖環節工程可自行完成。
b.空間數據的入庫環節工程也能夠經過postGIS自行完成,操做跟catalog操做同樣很簡單。
c.空間數據的發佈和部件基本樣式的關聯,以及業務數據的生成,能夠經過修改目前已有的小工具來實現。
d.複雜樣式的配置和發佈,能夠由研發來協助完成。
-----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/
若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^