使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

天靖居士發表於2017-11-09

Web GIS系列:
1.搭建簡易Web GIS網站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3
2.使用GeoServer+QGIS釋出WMTS服務
3.使用GeoServer+OpenLayers釋出和呼叫WMTS、Vector Tile向量切片服務 .
4.Leaflet入門:新增點線面並匯入GeoJSON資料

使用GeoServer釋出服務

請參見筆者部落格:搭建簡易Web GIS網站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3
下載GeoServer伺服器並在本地安裝好。本篇文章同樣採用裡面的shp檔案資料進行WMTS服務的釋出。

釋出WMS服務

在GeoServer中,我們可以直接將shp檔案釋出為服務。
方法如下:
選擇左側Data->Store,新增新的Store,選擇Shapefile檔案。

使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

分別輸入Workspaces,資料來源名稱,並通過點選shapefile檔案位置,將shp檔案上傳。最後儲存。
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

之後即可在圖層中預覽所釋出的WMS服務。如圖:
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

釋出樣式

可以看到圖中使用的是預設的樣式。如何將圖修改為我們所需要的樣式,從而配上相應的顏色呢?
在這裡使用了QGIS軟體。QGIS是一個開源的GIS軟體。可以前往其官網下載:QGIS
安裝完成後,開啟QGIS Desktop.在左側選擇新增向量圖層,匯入shp資料。
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

匯入後的結果如下:
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

在這裡,我們希望根據GDP的總量對中國各個省份進行分級設色。雙擊左下角的圖層,即可跳出屬性框,在這其中可以對圖層的樣式、顏色、線形等進行設定。選擇分層設色依據的欄位,設定顏色即可。
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

效果如圖:
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

調整效果後,將樣式儲存為sld檔案:
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

再回到GeoServer中,選擇左側Styles,釋出一個新的Style,輸入相應的樣式名稱、工作區,選擇檔案的型別(點、線、面等),最後將生成的sld檔案上傳即可。
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

再返回圖層,選擇剛才釋出的WMS服務並點選進入,在style裡選擇剛才釋出的樣式。或在下面新增可選樣式。
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

再次瀏覽圖層,發現已經上色了。
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

釋出WMTS服務

點選GeoServer左側Tile Caching中Gridsets,可以看到裡面已經預設了一些切片形式。我們也可以新建一個切片策略。在其中選擇合適的投影,設定範圍,並新增切片的層級。
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

之後點選Tile Layers,選擇Tile Caching,設定樣式,並在最下面新增剛才新建的切片策略。
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

返回Tile Layers,找到圖層,在最後選擇切片策略,預覽結果。例如選擇EPSG:4326 / jpeg效果如下:
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

放大縮小可以感覺出向量瓦片地圖渲染的方式。
再點選Seed / Truncate,即可生成切片。輸入相應的引數,即可生成切片。
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

觀看輸出視窗,可以看到切片在不斷生成。生成的切片檔案將儲存在本地\geowebcache資料夾下。
使用GeoServer+QGIS釋出WMTS服務 | Publishing WMTS Service Using GeoServer+QGIS

若要應用WMTS服務,可以直接呼叫其網址,格式如下:
http://localhost:8080/geoserver/gwc/service/wmtslayer=[workspace]:CHINA_2014GDP&style=&tilematrixset=EPSG:4326&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image/jpeg&TileMatrix=EPSG:4326:[x]&TileCol=[y]&TileRow=[z]
其中x為切片層級,y和z則分別代表該層級下,相應行列處的切片。具體的呼叫方法請參見下一篇文章。

Web GIS系列:
1.搭建簡易Web GIS網站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3
2.使用GeoServer+QGIS釋出WMTS服務
3.使用GeoServer+OpenLayers釋出和呼叫WMTS、Vector Tile向量切片服務 .
4.Leaflet入門:新增點線面並匯入GeoJSON資料

相關文章