1. 程式人生 > >OpenLayer3+PostGIS+GeoServer 搭建簡單GIS服務框架問題探究

OpenLayer3+PostGIS+GeoServer 搭建簡單GIS服務框架問題探究

tps 天地圖 過程 處理 解決方案 目錄 優勢 存儲格式 pro

傳統GIS開發中,我們一般會采用ArcGIS或者SuperMap作為GIS平臺來進行開發,簡單的分析查詢會采用官方api或者leaflet,esri-leaflet等進行開發,復雜的查詢分析統計功能會利用Geoprocessor(簡稱GP)來進行操作,采用這種商業平臺好處顯而易見是開發效率很大的提升,因為在這麽多年的發展過程中,官方社區或者一些解決方案都很成熟。在開發過程中遇到的一般問題如果不是很好解決,也可以很方便的向技術支持尋求幫助。但是缺點就是費用很高,一整套產品下來就要好幾十萬,對於開發成本來說這個費用還是很高的。因此提出了基於OpenLayer3+PostGIS+GeoServer 搭建GIS服務框架的想法。

1 GeoServer:一款開源WebGIS地圖服務器,類似ArcGIS Server,提供統一OGC接口服務WMS/WFS/WMTS,功能比較強大,便於使用,使用量多較成熟;

2 OpenLayer:一款開源前臺地圖API產品,對數據進行可視化、空間分析、成果展示;

3 PostGIS:一款開源先進的開源空間數據庫;

4 PostgreSQL:PostgreSQL(以下簡稱PG數據庫) 是一個自由的對象-關系數據庫服務器(數據庫管理系統),除了作為普通關系數據庫所具有的的特征外,我看到其最吸引的優勢是其數據類型,包括:任意精度的數值,無限制長度文本,幾何圖元,IP地址與IPv6地址,無類域間路由地址塊,MAC地址,數組…………此外,用戶可以創建自定義數據類型,通常通過PostgreSQL的GiST機制,它們也能被很好得索引,比如PostGIS地理信息系統的數據類型, 同時也要指出的是,PostgreSQL 對接口的支持也是非常豐富的,幾乎支持所有類型的數據庫客戶端接口。這一點也可以說是 PostgreSQL 一大優點。

  • 步驟一 底圖導出

用太樂底圖下載器下載天地圖或者百度地圖當作服務底圖(推薦使用天地圖,因為天地圖坐標系默認采用web墨卡托投影不偏移,下載好數據之後導出,需要註意下面幾點

1 存儲標準選擇大圖拼接,存儲格式選擇tif格式(geoserver支持),選擇級別只選擇最高等級即可,雖然我們下載了總共有18級,但是不需要全部選中,效果是一樣,這一點我已經在ArcMap進行測試。

2 在導出的高級設置選項裏面 ,把默認的智能分塊進行取消掉,選擇坐標系是xian80坐標系

        技術分享圖片 技術分享圖片

  • 步驟二 地理配準

     1 打開ArcMap 把所下載的地理數據tif格式導入到ArcMap,顏色會進行變化。 圖層屬性裏面 拉伸選擇無就好了

      技術分享圖片 技術分享圖片

2 然後把shp數據疊加在一起 ,如果有偏移的話,可以進行地理校準。然後把校準的數據導出保存。如果在ArcMap中可以疊加 不便宜 就可以在geoserver 上調取服務疊加。

        技術分享圖片

3 可以通過把postgis 導入到postgresql (步驟就不詳細寫了,網上教程很多)。 需要註意的事項就是postgis要安裝在同一安裝目錄。

數據如下。

postgressql 下載地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows

postgis 下載地址:http://postgis.net/windows_downloads/

技術分享圖片

  • geoserver 服務發布

1 登陸geoserver ,左側新建工作區 寫好之後 提交

      技術分享圖片

2 左側新建數據存儲,可以選擇新建的工作區。選擇tif格式,把數據進行發布。也可以進行切圖處理。

同理 shp數據也可以這樣發布。可以選擇從本地打開或者從數據庫導入shp數據。(這需要註意一點 shp數據不能為中文!)

        技術分享圖片

  •  步驟三 前端疊加展示

      技術分享圖片

OpenLayer3+PostGIS+GeoServer 搭建簡單GIS服務框架問題探究