(二十)WebGIS中圖層樹功能的設計和實現

文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/前端

1.背景

在GIS的桌面工具中,好比arcgis desktop或者Supermap desktop等工具,均會有圖層控制欄工具,即LayerController。經過勾選圖層控制欄中的圖層選擇框,能夠實現圖層是否展現等,而且還能夠設置該圖層的相關屬性。算法

                       

詳細需求以下:數據庫

a.圖層列表展現工具

b.經過圖層列表控制圖層要素的展現大數據

c.支持設置圖層某些屬性優化

 

2.設計

a.圖層列表的展現將取決於數據庫中的相關表或者配置文件,增長靈活度。spa

b.圖層要素的展現可以使用兩種方式,一種WMS請求圖片疊加,一種獲取要素信息前端繪製。設計

c.設置屬性後可保持只數據庫或配置文件,屬性能夠包括業務屬性或者圖層可視範圍、圖層可視級別等。3d

 

3.圖層列表信息的獲取和實現

圖層列表中的信息應該與發佈的服務中的圖層信息對應。服務的不一樣,獲取圖層信息的方式也就有所不一樣。這裏我分爲兩個模塊來進行描述。rest

3.1ags中獲取圖層組織信息

Ags發佈服務後,經過服務根目錄請求即可獲取到返回的圖層信息。這些信息中包含了服務中圖層的組織結構、名稱、圖層號。解析出這些信息後保存至相關的配置文件中,即可使前端的展現與發佈的服務同步了。

 

3.2Geoserver中獲取圖層組織信息

Geoserver中獲取圖層信息有兩種方式,一種是利用geoservermanager來獲取,還一種是利用想Geoserver服務直接方式rest服務來獲取。這裏我重點描述後者。

獲取workspace信息:

 

獲取workspace下的datasource信息:

 

獲取workspace下datasource中的layer信息:

 

 

4.圖層要素展現的實現

當圖層列表中的圖層被點擊後,須要在前端展現出圖層要素。這裏我分爲兩大類來進行描述。

4.1 WMS方式請求,圖片方式展現

4.1.1 AGS中的WMS請求(export)

 

經過Bbox、Layers和Layer definitions能夠進行圖層要素展現過濾。

4.1.2 Geoserver中的WMS請求

 

能夠經過參數設置出圖的大小範圍等。

4.2 根據返回結果,前端繪製方式展現

向後臺發送請求獲取到知足條件的全部要素信息,前端解析這些信息後進行繪製。此種方式在交互方面更好,可是對前端有必定的負荷。

5.總結

從底層談WebGIS系列的基礎篇到這裏就已經基本講完,我在這個系列中詳細講解了瓦片選址算法、在線和離線地圖URL拼接格式、前端柵格圖層和矢量圖層設計、地圖放大縮小、I查詢等相關功能。後續這個系列中我還會跟你們一塊兒從底層探討如何作路徑優化、如何實現聚類展現、如何解決大數據展現等等問題,歡迎你們持續關注。

                                                                                    ——歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/

相關文章
相關標籤/搜索