1. 程式人生 > >GeoServer之高階符號與圖層組

GeoServer之高階符號與圖層組

目錄

一、使用QGIS建立樣式化圖層描述符

    QGIS可以將當前圖層的樣式另存為樣式化圖層描述符,然後便可以使用前面介紹的方式在GeoServer中使用了。由於有介面化的操作,因此在QGIS中配置符號比直接編寫XML要簡單的多。但是要注意的是,QGIS不能將像註記等一些樣式儲存到.sld檔案中。同時,由於,畢竟是兩個完全不同的系統,對於同樣的符號,在QGIS與GeoServer中顯示稍微有些區別,因此在得到正確的結果之前可能需要一些實驗,而不會一帆風順。

    1.釋出WMS服務

    按照教程六中介紹的方法,在GeoServer中將Philadelphia

中的roads.shp(道路資料)與city_limits.shp(城市邊界資料)兩個檔案釋出為WMS圖層。使用教程六建立的webgis工作區與philadelphia資料儲存。

    2.在QGIS中配置符號

    啟動QGIS,將Philadelphia資料夾中的roads.shpcity_limits.shp兩個檔案加入到地圖中。注意這裡使用的向量檔案,而不是剛釋出的WMS服務。

    將city_limits圖層的樣式設定為無邊線並用非常淡 的灰色填充。

    將道路圖層的樣式設定為稍微深一點的灰色細線條,線寬使用預設值。

    設定後的地圖如下所示:

    3.將樣式輸出為SLD檔案

    在圖層列表中,雙擊roads圖層,開啟圖層資料對話方塊,切換到“樣式”選項卡中。選擇“儲存樣式”中的“SLD檔案”,將對應的樣式儲存為grayroads.sld檔案,如下所示:

    4.設定WMS圖層應用SLD

    返回到GeoServer的Web管理頁面,單擊左邊“資料”中的“styles”。按照教程6介紹的方法與步驟,在webgis工作區中新建一個名為grayroads的樣式,將其樣式檔案指定為在QGIS中匯出的grayroads.sld,並將該檔案上傳到GeoServer伺服器上。

    按照教程6介紹的方法與步驟,將在GeoServer中釋出的費城的道路圖層的預設樣式指定為grayroads

。並使用OpenLayers進行預覽,確保應用了所需要的樣式。

    5.設定WMS服務city_limits圖層的預設樣式

    重複上面的3、4步驟,在QGIS將城市邊界的淺灰色樣式匯出為greycitylimits.sld檔案,在GeoServer中建立一個使用該SLD檔案、名為greycitylimits的樣式,並將該樣式設定為city_limits圖層的預設樣式。

二、將多圖層釋出為WMS服務

    在某些情況下,需要將WMS作為專題圖層疊加在非WMS底圖之上。教程六介紹的就是這類應用。但在某些情況下,只需要一個非常簡單的WebGIS應用,這時可以將WMS服務同時作為基礎圖層和專題圖層。GeoServer可以將多層作為一個單一的WMS服務進行釋出。我們將使用社群圖層、城市邊界圖層以及道路圖層,將它們作為圖層組進行服務的釋出。

    1.先建圖層組

    在GeoServer的Web管理頁面視窗的左邊單擊“資料”中的“圖層組”,在右邊視窗列出了伺服器中已包含的圖層組以及管理圖層組的連結。

    2.在圖層組中新增圖層

    單擊“新增新圖層組”連結,進入“新建圖層組”頁面。將“命名”設定為"NeighborhoodMap",“標題”設定為“費城社群地圖”,”摘要“為”費城社群地圖,資料來自於"Zillow.com"”,“工作區”設定為webgis

    向下滾動滑鼠,定位到“圖層”部分,通過“新增圖層”連結,加入社群、城市邊界以及道路這3個圖層,並使用順序箭頭,按下圖調整圖層順序。這裡要注意的是,該列表中最上面的圖層要最先繪製,第二個圖層在該基礎上繪製,以此類推。

    3.設定座標參照系與邊界

    定位到“座標參照系”部分,將座標參照系設定為EPSG:3857,然後單擊“生成邊界”按鈕,計算服務的座標範圍並自動填寫頁面中“邊界”相關的4個文字框。

    4.其他引數的設定

    定位到"Tile cache configuration"部分,取消其中選中的兩個選項。

    在頁面底部選擇“儲存”,將返回到“圖層組”頁面,在列表中已經增加了我們新建的NeighborhoodMap圖層組。

    5.預覽圖層組

    按照教程六介紹的方法,使用OpenLayer預覽該圖層組,顯示如下: