文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/。前端
在GIS的桌面工具中,好比arcgis desktop或者Supermap desktop等工具,均會有圖層控制欄工具,即LayerController。經過勾選圖層控制欄中的圖層選擇框,能夠實現圖層是否展現等,而且還能夠設置該圖層的相關屬性。算法
詳細需求以下:數據庫
a.圖層列表展現工具
b.經過圖層列表控制圖層要素的展現大數據
c.支持設置圖層某些屬性優化
a.圖層列表的展現將取決於數據庫中的相關表或者配置文件,增長靈活度。spa
b.圖層要素的展現可以使用兩種方式,一種WMS請求圖片疊加,一種獲取要素信息前端繪製。設計
c.設置屬性後可保持只數據庫或配置文件,屬性能夠包括業務屬性或者圖層可視範圍、圖層可視級別等。3d
圖層列表中的信息應該與發佈的服務中的圖層信息對應。服務的不一樣,獲取圖層信息的方式也就有所不一樣。這裏我分爲兩個模塊來進行描述。rest
Ags發佈服務後,經過服務根目錄請求即可獲取到返回的圖層信息。這些信息中包含了服務中圖層的組織結構、名稱、圖層號。解析出這些信息後保存至相關的配置文件中,即可使前端的展現與發佈的服務同步了。
Geoserver中獲取圖層信息有兩種方式,一種是利用geoservermanager來獲取,還一種是利用想Geoserver服務直接方式rest服務來獲取。這裏我重點描述後者。
獲取workspace信息:
獲取workspace下的datasource信息:
獲取workspace下datasource中的layer信息:
當圖層列表中的圖層被點擊後,須要在前端展現出圖層要素。這裏我分爲兩大類來進行描述。
經過Bbox、Layers和Layer definitions能夠進行圖層要素展現過濾。
能夠經過參數設置出圖的大小範圍等。
向後臺發送請求獲取到知足條件的全部要素信息,前端解析這些信息後進行繪製。此種方式在交互方面更好,可是對前端有必定的負荷。
從底層談WebGIS系列的基礎篇到這裏就已經基本講完,我在這個系列中詳細講解了瓦片選址算法、在線和離線地圖URL拼接格式、前端柵格圖層和矢量圖層設計、地圖放大縮小、I查詢等相關功能。後續這個系列中我還會跟你們一塊兒從底層探討如何作路徑優化、如何實現聚類展現、如何解決大數據展現等等問題,歡迎你們持續關注。
——歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/