GIS地圖工具(一)

 

GIS地圖工具

李泉   陳玉進 (南京跬步科技有限公司http://www.creable.cn

    在地理信息系統中具有許多不同種類的工具供用戶使用,友好的GIS核心組件會提供一些工具缺省的實現。地圖工具根據其用途的不同可以分爲四大類:瀏覽工具、選擇工具、編輯工具、鷹眼工具。GIS核心組件中的地圖控件應該提供一個工具接口供用戶程序實現,以達到工具擴展的目的。下面四個小節將分別討論這幾種工具。

13.1 瀏覽工具

       在閱讀這一章節之前,讀者可以先回顧一下前面介紹的顯示比例尺的概念。顯示比例尺等於窗口中所顯示的實際座標寬度與屏幕寬度之比,顯示比例尺越大,則能看到的地圖就越多,視野越寬。顯示比例尺越小,能看到的地圖就越少,視野越窄。在地理信息系統中,瀏覽分爲對地圖要素圖形的瀏覽和對地圖要素屬性的瀏覽。這裏將瀏覽工具分爲放大工具、縮小工具、平移工具、信息工具,其中前三個工具用於對地圖要素圖形的瀏覽,放大工具能夠將地圖窗口中的地圖放大顯示,能夠將地圖要素放大展現在用戶面前,但視野會變小,即看到的範圍比之前小,顯示比例尺縮小。縮小工具則相反,將地圖要素縮小顯示並增加視野,顯示比例尺放大。平移工具可以在不改變當前顯示比例尺的情況下,移動窗口並顯示地圖的其他位置。信息工具可以讓用戶查看某個地圖要素的屬性信息,多數以對話框的形式顯示該地圖要素所有字段的值。

13.1.1 放大工具、縮小工具和平移工具

       放大工具的實現主要是將顯示比例尺縮小,GIS引擎自己就會將視圖放大,反之則將視圖縮小。前面的章節介紹過,地圖要素讀取之後,通過空間索引、MBR的過濾之後,需要繪製到窗口中,繪製之前需要進行一步地圖實際座標到窗口座標的轉換工作,這個轉換過程使用的公式其中就有這個顯示比例尺作爲參數,只要將這個比例尺縮小,即可調用GIS引擎的方法來實現放大地圖的功能。圖1爲地圖座標轉屏幕座標的流程。只要縮小步驟2中的顯示比例尺或者等比例縮小步驟3中的顯示範圍,即可達到放大地圖顯示的目的,反之則是縮小工具的實現方式。修改步驟3中顯示範圍的中心點,即可達到平移地圖的效果。

平移工具如果要想提供平滑拖動效果的話需要使用雙緩衝技術來做,這裏簡單介紹一下雙緩衝的原理,首先在內存中新建一個和窗口一模一樣的畫布,先將所有的東西畫到這個畫布上,然後一次性貼到窗口中,這樣就可以有效的避免拖動效果中的閃爍。

 

 

 

 

13.1.2 信息工具

       信息工具用於向用戶展現地圖要素的屬性。其實現的流程圖如下

 

信息工具應該有一個選取策略,在注重信息點的地圖上可以先遍歷點,再遍歷線,最後再遍歷面,讀者可以自行確定這種選取策略。地圖要素經過空間索引和窗口兩道過濾之後,遍歷過濾之後的要素,計算這些要素與用戶單擊位置的窗口距離(一般爲象素),與您制定的標準比較,如果符合標準則顯示該要素的屬性,循環結束。此種方法僅僅顯示一個圖元的屬性,如果用戶單擊的位置下面具有多個圖元那麼只好顯示第一個被遍歷到的圖元,讀者可以嘗試自己增加這種情況的處理,使得程序能夠顯示所有符合標準的圖元屬性。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章