使用GeoServer(GeoWebCache插件)发布ArcGIS切片地图
網上的很多都沒說清楚,埋了很多坑,自己試驗成功后將方法公布。此文在20180815更新
1.??概述
嚴格來說,是利用GeoServer的自帶Web服務器,使用GeoWebCache獨立產品,發布ArcGIS的緩存切片(離散型切片)。GeoServer現在的版本,已經集成了GeoWebCache的大部分功能,但是如果想調用第三方的瓦片,還需要安裝獨立的GeoWebCache產品。老規矩,先上效果圖:(好爽,不用花錢買ArcGIS了)
圖1 GeoServer發布ArcGIS切片效果圖
GeoServer緩存瓦片格式和ArcGIS緩存瓦片的存儲目錄結構不同,如果手里有一套切好的ArcGIS格式瓦片,但是不想安裝ArcGIS Server,可直接利用免費的開源的GeoServer將其發布為瓦片服務供前端調用。下圖分別是GeoServer和ArcGIS Server的瓦片結構,可以看出,命名方式并不相同。本文即介紹實現該目的GeoWebCache的相關配置方法。
圖2 GeoServer的瓦片結構
圖3 ArcGIS Server的瓦片結構
2. 下載安裝
GeoServer和GeoWebCache的下載安裝都非常簡單,這里選擇“獨立于平臺的二進制版本”,即通常講的免安裝版。選擇GeoServer2.9.0和GeoWebCache1.10.0,都從官網下載,需要Java 8的支持。GeoServer可解壓縮到任意位置,GeoWebCache需解壓縮至GeoServer的webapps目錄下,如“D:\geoserver-2.9.0\webapps\”,只有這樣GeoWebCache才能利用GeoServer集成的Jetty Web應用服務器打開服務主頁,當然如果安裝了Tomcat,就本文想達成的目的來說,GeoServer甚至可以不用安裝。(我蒙的啊,沒試過)
圖4 GeoWebCache部署目錄
注意,本文開始選擇的最新版的GeoServer 2.12.0和GeoWebCache 1.12.2,會存在“HTTP ERROR:503 Service Unavailable”的提示,GeoWebCache主頁打不開,替換為現在版本,可成功運行。(開源的坑就是多啊~_~)
3. GeoWebCache的配置
1.新建緩存配置目錄(姑且這么叫),并修改web-inf文件夾下的文件web.xml,在</context-param>節點后添加如下節點,記錄新建的目錄:
??? <context-param>
??????? <param-name>GEOWEBCACHE_CACHE_DIR</param-name>
??????? <param-value>D:\geoserver-2.9.0\webapps\geowebcache\arcgis</param-value>
??? </context-param>
本文新建了個arcgis文件夾,可任意命名,只要與web.xml添加的節點中保持一致。
?
2.重啟服務
會發現該目錄下自動生成了幾個文件,注意這里的geowebcache.xml
3.添加ArcGIS切片的路徑
修改在上文出現的geoserver-2.9.0\webapps\geowebcache\arcgis\geowebcache.xm文件,在<layer>…</layer>節點中添加如下節點:
注意:啟動服務時該配置文件中所有服務對應的切片方案和切片路徑必須都存在,否則打不開GeoWebCache主頁,顯示“503...”,要刪去不存在的arcgisLayer節點,并重啟服務!
<arcgisLayer>
<name>fsRoads</name>
<tilingScheme>C:\Users\gishy\Desktop\TileTest\testOne08\Layers\conf.xml</tilingScheme>
<tileCachePath>C:\Users\gishy\Desktop\TileTest\testOne08\Layers\_alllayers</tileCachePath>
<hexZoom>false</hexZoom>
</arcgisLayer>
fsRoads為服務名,GeoWebCache服務頁面中可看到改名字,這里隨便起的。conf.xml就是ArcGIS Server發布服務設置緩存后生成的配置文件,該目錄就是瓦片所在目錄,是不是很眼熟?
4. 瀏覽服務
再次重啟GeoServer,進入GeoWebCache主頁:
在以下鏈接中可以看到發布的服務:
A list ofall the layers and automatic demos
使用Openlayer即可瀏覽服務,出現文初的效果圖。
可以看出,并沒有修改GeoServer的任何地方,GeoWebCache只是利用GeoServer啟動服務。
總結
以上是生活随笔為你收集整理的使用GeoServer(GeoWebCache插件)发布ArcGIS切片地图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑技巧:如何开机进入纯净的Window
- 下一篇: 重新开始学python,梦在远方路就在脚