接上一篇,地圖服務發佈完成後,如果不進行樣式調試,那麼地圖看上去雜亂無章,毫無美感可言。因此,我們通過樣式文件的設置,來美化地圖。
geoserver中標準的樣式文件爲.sld文件,該文件是文本文件,語法規則遵循xml語法規範。樣式這一塊的內容,比較大。一篇說不完,在後面會花時候,單獨來寫。
先來介紹下geoserver中樣式的相關操作。
一、添加新樣式
1、樣式->添加新樣式
2、在geoserver中,直接編輯樣式文件是比較困難的,但可以藉助一些方法來比較快速的生成樣式文本。
1)通過模板生成
這種方法,根據你選擇的的幾何類型,快速生成一個簡單的樣式。然後我們再去通過一些樣式關鍵字,找到對應設置,進行修改來調整樣式。
2)通過複製geoserver中已有的樣式。
這個就是拿來主義。
3)通過上傳
我們可以通過其他一些開源的GIS軟件來生成樣式文件,如Udig、QGIS等。
無論哪種方法,操作完後,在下面的樣式編輯框中,可以手動的進行一些調整。
3、編輯完成後,先點擊Validate進行語法的驗證,如果有語法錯誤,將會提示。
4、驗證無誤後,輸入樣式名稱、設置工作區、選擇樣式文件的格式,然後保存。
二、設置圖層樣式
以前面發佈的world圖層爲例。
1、切換到圖層頁面,找到world圖層,點擊後進入編輯圖層頁面。
2、在頁面下放,找到Default style。在其下面的下拉框中選擇你要給圖層綁定的樣式。
由於world圖層是面圖層,因此在你未指定圖層樣式之前,geoserver默認給出了用於面圖層的polygon樣式。
在綁定樣式時,應注意樣式是否支持該圖層,不能任意搭配。否則可能導入地圖無法預覽。
三、圖層樣式的常見問題
- 幾何類型不對應。點的樣式綁定到面圖層上,張冠李戴。雖然樣式文件支持在一個文件中定義多個圖層的樣式,但是強烈不建議這麼操作。
- 樣式中使用了圖層數據中沒有的屬性字段
- 中文標註亂碼。這個具體情況具體對待。主要工作區編碼、數據編碼、樣式文件編碼。
四、樣式命名
當你上傳的樣式文件比較多時,在關聯操作時將帶來很大的不便,尤其當你的一個geoserver服務器中,有多達幾十個圖層的。因此,建議樣式和圖層一一對應,同時對樣式採用一些規則的命名方案,方法你追查。如city點圖層的樣式命名:p_city。
以下分享我個人的一些經驗。
類型 | 字符串 |
---|---|
點 | p |
線 | pl |
面 | pg |
地域 | 字符串 |
---|---|
深圳 | sz_ |
廣州 | gz_ |
功能 | 字符串 |
---|---|
深色底 | d |
灰色底 | w |
綜合以上
我個人習慣以幾何類型放最前面,這樣在關聯樣式時,通過幾何類型字符標識,很容易找到對應的樣式。