(十九)WebGIS中I查詢的原理及設計(包含AGS、GeoServer、Supermap)


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

1.背景

我們在使用arcmap時,經常會用到被稱為I查詢的工具。具體功能便是,當激活I查詢功能后,鼠標點擊到某個要素上時,界面上會彈出一個對話框用來顯示該要素的各屬性信息。該功能截圖如下:

                       

2.原理

在WebGIS中設計和實現該功能之前,我們有必要對該功能的原理做一個了解。

在OGC的WMS標准中規定了一個接口:GetFeatureInfo。該接口的功能描述便是:根據屏幕坐標、當前視圖范圍等參數,獲得屏幕坐標某處要素的信息。

在OGC的WFS標准中也規定了一個接口:GetFeature。該接口同樣提供了獲取一個符合GML規范的數據文檔的功能。

針對不同的地理服務器,我們選擇以上兩個不同的接口來實現。

這里我分別簡述如何在AGS、GeoServer和Supermap中利用WMS或WMTS的接口來進行I查詢。

2.1AGS中的I查詢

AGS中我們選擇WMS的GetFeatureInfo接口來實現。其本身提供了I查詢界面,如下:

 

具體的rest請求格式為如下:

 

2.2GeoServer中的I查詢

在GeoServer中我們選擇利用WFS中的GetFeatrue來實現。

查詢中,需要注意的是Filter的編寫。這里給出一個樣板例子:

 

2.3Supermap中的I查詢

超圖的WFS服務中提供了要素的范圍查詢界面,如下所示:

 

 

具體的REST服務請求格式為:

 

3.設計思路

這里我直接給出流程圖:

 

4.優化設計

4.1展示結果可配置

當我們通過地理服務器查詢出所有的結果時,可能有些結果並不是我們想要的。比如:

a.一個圖層包含了很多字段,而我們只想展示其中的幾個字段。

b.圖層字段均是英文或者專業術語,而我們想換一種名稱。

這里我們有必要在我們的數據庫中設計一張與查詢展示相關的表,該表中要包含這樣一些信息:圖層號、圖層字段原始名稱、圖層字段展示別名、字段展示順序、字段類型等。

這樣我們的流程可稍作調整,變為:

 

4.2屬性數據和空間數據展示的優化

在返回結果集中讓屬性數據和空間數據進行合理的關聯。當點擊到相關的屬性數據時能夠在地圖上聯動顯示出此時屬性數據所對應的要素。

效果如arcmap中的I查詢。

5.效果展示

 

 

6.總結

I查詢是WebGIS中很重要的一個功能,怎么樣使其有更好的展示效果以及可擴展性也是仁者見仁智者見智。在下一章中,我將跟大家一起探討WebGIS中圖層樹的設計和實現,歡迎大家繼續關注。

 

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

                                                                           如果您覺得本文確實幫助了您,可以微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^

                                           


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM