文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/。數據庫
咱們在使用arcmap時,常常會用到被稱爲I查詢的工具。具體功能即是,當激活I查詢功能後,鼠標點擊到某個要素上時,界面上會彈出一個對話框用來顯示該要素的各屬性信息。該功能截圖以下:服務器
在WebGIS中設計和實現該功能以前,咱們有必要對該功能的原理作一個瞭解。微信
在OGC的WMS標準中規定了一個接口:GetFeatureInfo。該接口的功能描述即是:根據屏幕座標、當前視圖範圍等參數,得到屏幕座標某處要素的信息。工具
在OGC的WFS標準中也規定了一個接口:GetFeature。該接口一樣提供了獲取一個符合GML規範的數據文檔的功能。優化
針對不一樣的地理服務器,咱們選擇以上兩個不一樣的接口來實現。設計
這裏我分別簡述如何在AGS、GeoServer和Supermap中利用WMS或WMTS的接口來進行I查詢。rest
AGS中咱們選擇WMS的GetFeatureInfo接口來實現。其自己提供了I查詢界面,以下:blog
具體的rest請求格式爲以下:接口
在GeoServer中咱們選擇利用WFS中的GetFeatrue來實現。文檔
查詢中,須要注意的是Filter的編寫。這裏給出一個樣板例子:
超圖的WFS服務中提供了要素的範圍查詢界面,以下所示:
具體的REST服務請求格式爲:
這裏我直接給出流程圖:
當咱們經過地理服務器查詢出全部的結果時,可能有些結果並非咱們想要的。好比:
a.一個圖層包含了不少字段,而咱們只想展現其中的幾個字段。
b.圖層字段均是英文或者專業術語,而咱們想換一種名稱。
這裏咱們有必要在咱們的數據庫中設計一張與查詢展現相關的表,該表中要包含這樣一些信息:圖層號、圖層字段原始名稱、圖層字段展現別名、字段展現順序、字段類型等。
這樣咱們的流程可稍做調整,變爲:
在返回結果集中讓屬性數據和空間數據進行合理的關聯。當點擊到相關的屬性數據時可以在地圖上聯動顯示出此時屬性數據所對應的要素。
效果如arcmap中的I查詢。
I查詢是WebGIS中很重要的一個功能,怎麼樣使其有更好的展現效果以及可擴展性也是仁者見仁智者見智。在下一章中,我將跟你們一塊兒探討WebGIS中圖層樹的設計和實現,歡迎你們繼續關注。
-----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/
若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^