支持離線區域網操作的開源 GIS 系統有哪些推薦?


推薦開源套裝: Postgresql+PostGIS+uDig+GeoServer+OpenLayers,從數據轉換(製作)、存儲到發布、瀏覽,都齊了。

2014年補充:可以考慮用Leaflet.JS來替代OpenLayers,用QGIS代替uDig。

開源世界真是日新月異年年變啊。2017年補充:

Web前端方面,可以考慮用MapboxGL-JS來替代Leaflet,用Turf.js以及JSTS實現客戶端空間分析,用Cesium實現基於WebGL的三維地球,用iClient9作為多個客戶端庫的集成使用之參考。

後端服務方面:用基於Spark的GeoTrellis來補充GeoServer,用GeoWebCache做瓦片發布代理,用GeoNode做GIS門戶(CMS)。


首先我說一下我對提問者的需求的理解:

在中心節點上存儲空間數據,客戶端可以通過區域網訪問中心節點的空間數據,並通過圖形界面對空間數據進行瀏覽和編輯操作,並在操作完成後將數據傳回到中心節點上。

以下給出的解決方案是針對以上的需求的

根據以上的需求,不難看出,應該使用一個基於伺服器/客戶端架構的解決方案。

伺服器端扮演的角色是空間數據的存儲,管理以及一些複雜的空間分析的計算(如果有必要的話),而客戶端扮演的角色是空間數據的顯示,編輯。

伺服器端和客戶端之間的通訊協議應當基於TCP協議,以便於在區域網內傳輸。

綜上所述,比較簡單的開源解決方案是:

伺服器端採用Postgres+PostGIS, 將空間數據以數據表的形式進行存儲,通過PostGIS對Postgres的空間數據擴展模型存儲幾何數據

客戶端採用QGIS,將空間數據以PostGIS圖層的形式載入,而QGIS就可以直接對圖層中的要素進行編輯。

這個方案的優點在於開發代價很小,幾乎不需要編寫任何代碼,只要配置Postgres+PostGIS,將數據導入到資料庫中即可。

它的缺點就是存在並發訪問的問題,當多個QGIS客戶端共同訪問資料庫的話,可能發生數據不一致的問題。


提的問題比較范,我大概說一下,服務端:熟悉C++建議用mapserver,熟悉java的建議用geoserver,前端:熟悉js的用openlayers,熟悉Flex的用openscales,空間引擎:posgis(postgresql),oracle spatial(oracle),數據編輯:udig(java)


你是想問好的地圖引擎吧。。

目前比較好的地圖開源引擎GeoServer看看能不能~


果斷QGIS啊,跟MapServer和postger什麼的集成的也挺好的


我最近畢業設計用的mapserver 我已經發布了 http://xuexiao5.com


QGIS嘛, Server用MapServer嘛!

你的Server是放在區域網里的,不就可以支持區域網操作了嗎?


  1. Google maps API(http://code.google.com/intl/zh-CN/apis/maps/)比較適合B/S模式,可以申請本地密鑰,你看看適合你不,開發成本很低,比較容易上手;
  2. MapGis,這個是有中國地質大學(武漢)開發的,支持國產;
  3. ArcGis 比較權威;
  4. MapInfo 比較前沿;
  5. GeoStar(吉奧之星,武漢大學開發);


我們實驗室用的是基於MapX二次開發.

上手比較簡單, 建議了解下.


推薦閱讀:

測繪工程專業大地測量方向,想轉gis開發,從哪裡開始學習呢?求指導。?
有了Google Maps API,還需要去購買一些昂貴的GIS系統嗎?2者相比各有什麼優缺點或者說各自適合哪些應用場景呢?
十進位經緯度坐標小數點後幾位能精確到米?
現在常用的地圖標記避讓演算法有哪些啊?

TAG:開源軟體 | GIS地理信息系統 |