天天看點

Web GIS離線解決方案

1、背景

在離線環境下(區域網路中)的gis系統中如何使用地圖?這裡的地圖主要指的是地圖底圖,有了底圖切片資料,我們就可以看到地圖,在上面加上自己的業務資料圖層,進行相關操作。

下面介紹下web系統如何使用gis切片資料,開發web gis系統。

2、使用geowebcache釋出wms服務

geowebcache是基于java的web開源項目,主要用于緩存各種wms資料源的地圖瓦片,它實作了多種服務接口,包括wms-c,wmts,tms,kml。

geowebcache作為一個獨立的開源項目,在最近被geosever的幾個版本所內建,主要是對釋出的wms圖層建立緩存切片。

服務釋出步驟:

2)修改geowebcache的配置檔案geowebcache-core-context.xml。該檔案在tomcat的webapps\geowebcache\web-inf下,修改如下:

Web GIS離線解決方案
Web GIS離線解決方案

修改gwcxmlconfig執行個體化時使用固定路徑,該路徑可以為任意建立路徑檔案夾。geowebcache啟動之後會檢查此檔案夾下是否存在gewebcache.xml檔案,如果不存在則按模闆建立立并讀取使用,如果存在則直接讀取使用。

3)修改第2步中的gewebcache.xml檔案:

Web GIS離線解決方案
Web GIS離線解決方案

在layers節點裡添加arcgislayer節點(預設生成的gewebcache.xml的layers節點有許多其他備援資料,可删除可保留)。name節點表示待添加圖層的名稱(這裡配置為arcgis-demo),titlingscheme節點為conf.xml檔案的路徑,tilecachepath為瓦片資料的路徑。

4)瓦片地圖的準備

Web GIS離線解決方案

其中conf.xml為配置檔案,conf.cdi為顯示區域限制檔案,_alllayers檔案夾下則存放了切片資料,status.gdb為切片狀态情況記錄(可直接删除)。

通過瓦片下載下傳器下載下傳瓦片地圖,然後生成的切片資料_alllayers檔案夾:

Web GIS離線解決方案

l01-l10表示地圖縮放級數,按照arcgis切片目錄組織,切片命名規則也和arcgis切片資料命名規則一緻。(conf.xml、conf.cdi和_alllayers在同級目錄)。

5)啟動tomcat,繼而啟動geowebcache服務,浏覽器通路 localhost:8080/geowebcache,如果一切正确的話可以看到下面的頁面

Web GIS離線解決方案

該頁面簡單說明了geowebcache的一些情況。

點選“a list of all the layers and automatic demos”連接配接可以看到下面:

Web GIS離線解決方案

該頁面顯示了geowebcache.xml配置的圖層資訊。圖中可以看到隻配置了一個名字為arcgis-demo的圖層,使用的epsg3857坐标系,釋出的圖檔格式為png格式,點選png連結即可看到瓦片地圖。

Web GIS離線解決方案

這裡地圖顯示的級别和坐标系配置都來自conf.xml檔案。這裡的前端js使用的是openlayers。

個人比較喜歡leaflet這個gis javascript庫,使用leaflet加載geowebcache釋出的服務:

Web GIS離線解決方案
Web GIS離線解決方案

3、使用自定義的http服務

geowebcache本質上就是個http服務,通過請求參數擷取配置檔案中的路徑中的切片資料,傳回給請求方。

我們可以自己寫個獨立的http服務,從資料庫中讀取切片資料傳回給請求方。

切片請求位址類似:http://localhost:8899/1818940751/{z}/{x}/{y}

其中“1818940751”是下載下傳器下載下傳的地圖類型,z/x/y分别是zoom和地圖切片行列号。

前端js使用leaflet加載:

Web GIS離線解決方案
Web GIS離線解決方案

前端js可以自定義投影projection算法,而國内google地圖、高德地圖和騰訊地圖都是标準的墨卡托投影,可以直接用leaflet加載。

配合一些畫圖插件,再配合一些背景poi檢索服務,如:

<a href="http://www.cnblogs.com/luxiaoxun/p/5020247.html" target="_blank">《使用lucene索引和檢索poi資料》</a>

<a href="http://www.cnblogs.com/luxiaoxun/p/4477591.html" target="_blank">《使用solr進行空間搜尋》</a>

則能做出如下效果:

Web GIS離線解決方案

總結:介紹了如何使用下載下傳的離線切片資料在區域網路環境下釋出web gis地圖服務,前端配合使用一些js插件,實作web下空間資料的檢索。

附件:

Web GIS離線解決方案

 conf.cdi

Web GIS離線解決方案

 conf.xml

參考:

http://www.cnblogs.com/luxiaoxun/p/4454880.html

http://www.cnblogs.com/luxiaoxun/p/5020247.html

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

http://www.cnblogs.com/luxiaoxun/p/5022333.html

繼續閱讀