GeoServer + PostGIS 進行圖層檔案資料匯入併發布

zxfBdd發表於2020-02-13

 

 

一.資料匯入

1.新建資料庫

        開啟pgAdmin管理工具,登入後右鍵Databases新建資料庫

2.新增空間資料庫擴充套件

        建立完成資料庫後,點選該資料庫下的Schemas->public->Table,使用SQL語句新增空間資料庫管理外掛PostGIS:CREATE EXTENSION PostGIS,成功後重新整理,資料表中會出現spatial_ref_sys,說明可以匯入空間資料了。

執行語句

結果展示

3.匯入shp檔案

        開啟PostGIS匯入shape檔案工具(注意檔案路徑為英文,中文路徑會報錯)

匯入成功提示

二.GeoServer關聯資料來源

1.新建工作區

        進入GeoServer首頁,點選左側的工作區(Workspaces),再點選新增新的工作區(Add new workspaces)可以建立工作空間。工作空間的作用是在於將不同資料來源的資料儲存在一起。在設定URI時,須設定為http://localhost:8070/pgLayers,pgLayers代表的是工作空間的名字,這樣所有與之相關的網頁均在這個URI之後。

2.配置資料來源

        接下來點選資料儲存(Stores),再點選新增新的資料儲存(Add new store),可以新增一個新的資料來源。從圖中我們可以看出,GeoServer支援多種資料型別。在這裡我們以PostGIS為例進行服務的釋出。

        點選PostGIS選項,進入資料來源資訊的頁面。先點選工作區(Workspace)下拉選項,可以選擇具體的工作空間,接下來輸入資料來源名稱,這是標識不同資料的依據,在連線引數中,輸入host,若為本機則為localhost,埠5432,再輸入資料來源在PostgreSQL中的資料庫名稱,之後輸入連線PostgreSQL的帳號和密碼即可完成資料庫的連線。在最下面點選儲存即可。

3.釋出圖層

        點選圖層(Layers),進入圖層選擇介面;再點選新增新的資源(Add a new resource),選擇相應的工作空間+資料來源,點選發布(publish),即可進行釋出。

        可以根據需要輸入圖層名稱,也可以直接使用預設的圖層名稱。需要注意的是地圖投影的定義:如果原圖沒有投影,將不會進行顯示,在這裡可以點選Find,輸入投影的程式碼(如WGS84為4326)進行查詢。接下來在下方的範圍中,點選從資料中計算(Compute from data),即可算出範圍。其他的文字框可以不填。儲存之後即為圖層的釋出。

        此時在圖層中,可以看到釋出成功的圖層

4.釋出樣式

值得注意的是,釋出的圖層採用預設渲染模式,改變風格樣式需要在釋出圖層介面選擇釋出,然後選擇樣式

如果想採用自定義的渲染,可以使用qgis儲存SLD檔案,再回到GeoServer中,選擇左側Styles,釋出一個新的Style,輸入相應的樣式名稱、工作區,選擇檔案的型別(點、線、面等),最後將生成的sld檔案上傳即可。

回到編輯圖層介面,配置剛釋出的樣式,儲存後預覽圖層即可看到渲染效果

5.圖層預覽

        點選左側資料欄中Layer Preview選項,找到圖層通過OpenLayers方式進行檢視,下圖為效果圖。(關於OpenLayers呼叫可以參考此預覽網頁原始碼)

        圖層後面的選項提供其他資料格式的檔案可供選擇

相關文章