開源方案搭建可離線的精美矢量切片地圖服務-2.PostGIS+GeoServer矢量切片

 

系列文章目錄

開源方案搭建可離線的精美矢量切片地圖服務-1.開篇(附成果演示地址)

開源方案搭建可離線的精美矢量切片地圖服務-2.PostGIS+GeoServer矢量切片 

開源方案搭建可離線的精美矢量切片地圖服務-3.Mapbox個性化地圖定製入門

開源方案搭建可離線的精美矢量切片地圖服務-4.Mapbox樣式設計

開源方案搭建可離線的精美矢量切片地圖服務-5.Mapbox離線項目實現

開源方案搭建可離線的精美矢量切片地圖服務-6.Mapbox之.pbf字體庫

開源方案搭建可離線的精美矢量切片地圖服務-7.Arcgis Pro企業級應用

開源方案搭建可離線的精美矢量切片地圖服務-8.mapbox 之sprite大圖圖標文件生成(附源碼)

項目成果展示(所有項目文件都在阿里雲的共享雲虛擬主機上,訪問地圖可以會有點慢,請多多包涵)。

01:中國地圖:http://test.sharegis.cn/mapbox/html/3china.html

02:德國-德累斯頓市:http://test.sharegis.cn/mapbox/html/6germany.html

1.PostGIS簡介

         PostGIS是對象關係型數據庫系統PostgreSQL的一個擴展,PostGIS提供如下空間信息服務功能:空間對象、空間索引、空間操作函數和空間操作符。同時,PostGIS遵循OpenGIS的規範。我們項目中主要使用它來保存原始矢量數據。

2.Geoserver簡介

        GeoServer 是 OpenGIS Web 服務器規範的 J2EE 實現,利用 GeoServer 可以方便的發佈地圖數據,允許用戶對特徵數據進行更新、刪除、插入操作,通過 GeoServer 可以比較容易的在用戶之間迅速共享空間地理信息。我們在GeoServer的基礎上添加vector Tiles插件進行矢量切片。

2-1

3.數據準備

數據一:中國基礎地理數據,格式爲wgs84的shp數據:https://pan.baidu.com/s/16hN5znypnHR-Qw-BAejOoA

2-2

數據二:德國-德累斯頓市詳細數據,格式爲wgs84的shp數據:https://pan.baidu.com/s/1iiN4pntpNwN0W-T-831uJQ

    這套數據來源於openstreetmap的數據,openstreetmap免費提供全球的空間數據,但是存在一點問題就是隻能一塊一塊下載,拼接比較麻煩,我這套數據來自於geofabrik上共享的處理過後地理數據,感興趣的大家可以看一下。

2-3

2-4

4.數據導入PostGIS中

本示例講一下將中國基礎shp文件批量導入PostGIS數據庫。

1.打開安裝目錄下打開postGIS導入程序。

2-5

2.連接數據庫,

2-6

3.加載shp數據,導入文件路徑不可以含有中文,並且導入的時候注意SRID值的設定,SRID對應地理座標系的代碼,我們使用的數據是WGS84座標系對應的SRID值是4326,這個一定要注意,出錯的話可能導致數據偏移等問題。

image

5.Geoserver發佈

1.打開Geoserver web站點,新建一個工作區如下,

2-7

2.新建數據源,將PostGIS數據接入。

2-8

3.輸入數據庫連接參數

2-9

4.點擊發布圖層。並輸入參考座標系以及邊框,一般情況點藍色鏈接便可自動生成。

2-10

2-11

5.繼續發佈其他圖層,

2-12

2-13

6.將各個圖層合起來生成一個圖層組。並設置切片緩存格式。

2-14

2-15

勾選application/x-protobuf;type=mapbox-vector矢量切片格式,切片爲.dbf格式的文件,壓縮率更好。適合網絡傳輸。選擇默認切片格式EPSG:900913,因爲Mapbox只支持WGS84 Web 墨卡託投影投影,這裏注意一下。

2-16

7.矢量切片的預覽

2-17

2-18

8.爲了加快地圖訪問速度,我們可以對矢量切片進行緩存。

2-19

可以選擇切片等級以及切片的線程數。到此整個矢量切片的過程完成了。可在切片文件夾中查看成果文件。

2-20

 

6.遇到的疑惑

1.我沒找到GeoServer矢量切片中對圖層組中單個圖層在某一級別下控制不對其進行切片的功能,因爲很多圖層在低等級下是不需要進行顯示的,我們一刀切必定會帶來數據的冗餘。

2.我使用GeoServer2.13.0版本進行矢量切片緩存的時候,切片只能切出部分數據,我不知什麼原因,後期可以通過循序請求切片的方式進行切片的緩存。

7.總結

這一篇主要講了一下數據的存儲,以及矢量切片的生成,下一篇我會講一下我們本套教程的核心Mapbox的使用。

待續。。。。。。。。。。。。。。。。。。。。。

作者:ATtuing

出處:http://www.cnblogs.com/ATtuing

本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章