geoserver閱讀筆記----working with sld

使用SLD工作

本節介紹如何創建,查看和解決在GeoServer中SLD的style問題。

創建

GeoServer的配備在其目錄中定義的一些基本款式。 任何數量的新的樣式可以被添加到目錄。 樣式也能夠從外部指定的服務器,或者以定義一個完整的地圖,或使用庫模式擴展服務器樣式目錄。

目錄樣式

目錄中的樣式可以查看,編輯,並通過驗證Web菜單管理界面 下面的styles。 它們也可以被創建並通過REST訪問樣式(styles)的API。

目錄樣式由一個的StyledLayerDescriptor包含一個<NamedLayer>元素,它包含一個<UserStyle>元素指定樣式的文檔。 層名稱將被忽略,因爲樣式可以被應用於許多不同的層中。

每次用的GeoServer登記層(的FeatureType)必須有與之關聯的至少一個目錄的風格,這是默認的樣式呈現層。 任意數量的額外的樣式可以用一個層相關聯。 這使得層有相應的風格張揚的WMS GetCapabilities操作的文件。 圖層的樣式可以通過改變圖層的頁面的Web管理界面 。

 

 爲它的Geo​​Server添加一個層和一個樣式的同時,樣式應先加入,以使新的層可以與樣式立即關聯。

外部樣式

樣式可以以多種方式在外部服務器上被定義:

  • 通過Internet訪問的SLD文件可以通過SLD = 被設置在WMS 的GetMap 參數的url用GET請求
  • 一個SLD文件可以用wms中的GetMap設置並用SLD_BODY = style參數進行GET請求。 該SLD XML必須是URL編碼。
  • 一個StyledLayerDescriptor元素可以包含一個WMS 的GetMap 的POST請求的XML文檔中。

在所有這些情況下,如果未提供與WMS 的參數,然後在地圖上的內容完全是由存在於外部的SLD的各層和樣式定義。 如果這些參數存在,則在庫模式 下進行渲染工作(styling)。

外部樣式可以定義風格數據的新的層,通過使用SLD InlineFeature元件提供的特徵數據。 這可以用於實現動態特徵高亮,例如。

外部造型可以動態客戶端應用程序產生,這提供了一種強有力的方式,爲客戶控制的造型效果。

圖書館模式

圖書館模式的外部定義的樣式將被視爲一個樣式庫 ,它作爲一個擴展的服務器樣式目錄。 當使用樣式 WMS參數被指定圖層和樣式發生庫模式,並附加定型外部使用的上一節中描述的方法之一提供。 在渲染過程中的外部樣式文件中的樣式優先於目錄樣式。

樣式查找在庫模式下的工作情況如下:

  • 列表中的每個層,施加的樣式是任意的樣式列表中指定的指定樣式(如果存在的話),或該層的默認樣式
  • 對於命名的樣式,如果永恆的樣式文件有一個<NamedLayer> ... <UserStyle>與匹配層的名稱和樣式名稱,然後使用它。 否則,樣式名稱中搜索的目錄。 如果沒有找到,則會出現錯誤。
  • 對於默認的樣式,外部的樣式文件中進行搜索,找到與該層名稱的<NamedLayer>元素。 如果它包含一個<UserStyle>具有那麼該樣式所使用的值1 <ISDEFAULT>元素。 否則,該層的默認服務器樣式(必須存在)被使用。

通常它是更簡單和更高性能的使用方式從服務器的目錄。 但是,如果需要的樣式包含許多層的地圖,且其中只有少數人需要有自己的風格定義外部庫模式可能是有用的。

查看

一旦一個樣式已與層相關聯,將所得的層數據的呈現可以通過查看預覽層 ( Layer Preview)。 最方便的輸出格式使用的是內置的OpenLayers查看工具。 樣式可以修改,而認爲是開放的,它們的效果是明顯的,只要在地圖視圖平移或縮放。 備選的款式可以通過在樣式 WMS請求參數,指定他們進行查看。

查看合成多種樣式的層的作用,有幾種方法可供選擇:

  • 創建一個圖層組使用所需要的圖層圖層組頁面,並進行預覽。 非默認的樣式可以爲圖層如果需要指定。
  • 提交WMS 的GetMap GET請求參數中指定多個圖層,並在樣式參數對應的樣式(如非默認的樣式是必需的)。
  • 提交一個含有一個WMS 的GetMap POST請求StyledLayerDescriptor元素指定服務器層,內聯的數據的可選的層,並且是命名目錄樣式或用戶定義的造型爲每個層。

故障排除

SLD是一種類型的編程語言,而不是象在創建網頁或構建腳本。 因此,可能出現的問題,可能需要排除故障。

語法錯誤

爲了最大限度地減少在創建的SLD當語法錯誤,推薦使用,其被設計以XML(可如在GeoServer的用戶界面中提供的樣式編輯器 )工作的一個文本編輯器。 XML編輯器可以發現語法錯誤,提供語法高亮和(有時)內置錯誤檢查更容易。

在GeoServer的樣式編輯器允許驗證對SLD XML模式文檔。 這不是強制性的,但建議保存樣式前做。

語義錯誤

語義錯誤無法通過驗證SLD被抓,但顯示時的樣式在地圖渲染應用。 這大部分的時間會導致無顯示功能(空白地圖)地圖,但有些錯誤會阻止從地圖繪製的。

在一個SLD修復語義錯誤的最簡單的方法就是嘗試找出錯誤。 如果SLD長有許多規則和過濾器,嘗試暫時刪除其中的一些,看看這些錯誤消失。

在某些情況下,服務器會產生一個WMS異常文件,它可以幫助識別錯誤。 另外,值得一檢查服務器日誌,看是否有錯誤信息已被記錄。

viewer(地圖視窗)


發佈了77 篇原創文章 · 獲贊 12 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章