【摘要】 對衛星地圖在地理信息平臺應用和實現進行了分析和介紹,論述了如何解決高精度地圖圖片的獲取、地圖圖片的修偏、柵格化和校準的問題,以及在GIS平臺上的地圖顯示的過程中檢索、顯示和加載進行了介紹。該系統的設計實現解決了以往態勢地圖平臺中電子地圖獲取困難或更新不及時的問題。
【關鍵詞】 Google Map 瓦片式 地理信息系統 勢態地圖
一、引言
目前態勢指揮系統的地圖平臺大多采用基于GIS的數字柵格地圖,其中地圖主要來源于測繪部門繪制的矢量地圖或根據現有紙質、膠片等地形圖經過掃描和糾偏后制作而成。這兩種方式實現的數字柵格地圖,存在著地圖信息更新慢、顯示效果單一、精度低的缺點。而目前網絡上流行的多種導航和地理信息顯示系統普遍采用了高精度衛星地圖的顯示方式,尤其是以Google Map為代表的高精度衛星地圖,不僅地理信息全,更新快,且精度高(民用級即可到米級)。但這種方式在態勢指揮系統中應用也存在困難:需要開發者使用Google Map提供的API開發接口,采用其提供的開發規則,而且需要連接互聯網,實時獲取地圖,Google Map采用的瓦片式技術與傳統的GIS平臺很難融合。
本文介紹的基于Google Map地圖的態勢地圖平臺的設計與實現方法,不僅可以保留原有GIS架構體制,又能結合Google Map的瓦片式技術使地圖圖元快速高效的在態勢平臺上得到應用。
二、系統設計原理
考慮到平臺的通用性,本系統的地理信息平臺采用商用MapInfo地理信息平臺。系統的設計原理主要包含以下幾個部分:首先根據Google Map采用的金字塔型瓦片式技術架構(地圖層級按清晰度從1級到22級),根據其地圖坐標影射方式,計算出對應經緯度范圍的地圖的網絡URL地址,從而從Google地圖服務器中獲取海量地圖圖元文件;然后將海量的圖元文件進行經緯度修偏;同時根據MapInfo的校準方式設計相應的校準軟件自動對地圖進行柵格化并生成映射文件;并且根據MapInfo地圖平臺多層級矢量化的特點,將縮放比例與Google Map的金字塔型層級地圖進行對應,當地圖的縮放比例滿足映射關系即顯示該層級的柵格化地圖;由于每個層級的地圖圖元文件數量非常巨大,完全顯示將會使系統效率變得很低影響其他用戶功能的實現,因此平臺會自動獲取顯示器當前顯示的地理范圍,自動檢索相應的圖元文件并進行顯示;最后在地理信息平臺上將道路信息、用戶目標信息、各類狀態效果信息以及地理平臺數據庫進行多層級融合。其主要流程如圖1 系統設計流程圖所示。


三、系統組成
系統分為平臺層、信息支撐層、應用層三層級結構。其中平臺支撐層由地理信息支撐系統和數據庫系統組成;信息支撐層由多種數據信息組成包括衛星圖片信息、地理信息、地理校準信息、地圖柵格化信息、用戶信息、圖元模型信息、用戶標繪信息、圖層信息等;應用層由態勢繪制模塊、地圖調度模塊、顯示控制模塊、層級控制模塊、信息管理模塊、標準管理模塊和數據庫訪問模塊等組成。如圖2所示。
四、金字塔型瓦片式衛星地圖獲取原理
所謂的金字塔型瓦片衛星地圖,是Google Map的地圖文件建立與保存檢索的方法。金字塔方式是Google Map采用了墨卡托投影方式,即為等角圓柱地球投影,但是其將兩極85度以上的地球投影部分切除,形成東西南北相等的正方形,并將此投影作為金字塔最頂端,根據顯示的精度不同分為了22個層級;瓦片式即Google Map所有圖片均由分辨率大小256*256 的jpg圖片無縫拼接而成,每提高一個等級,單個圖片都將裂變為4張小圖片,如圖3所示。
Google Map為每張圖片根據金字塔的層級和瓦片裂變的位置都有專用的LRU地址,每塊圖片的URL格式為http:// kh.google.com/kh?v=3t=trstrq”樣。參數v與圖片關系不大,主要是參數t起作用,它是“qrst”4個字符排列而成的字符串。為獲取某經緯度的URL,就需要把經緯度轉化為“qrst”字符串。Google衛星地圖在zoom=1時,全球就為一個256x256的圖片,它的中心經緯度為(0,0),URL為“http://kh.google. com/kh?v=3t=t”。zoom=2時裂化為4塊,每塊的編號為:左上“t=tq”,右上“t=tr”,右下“t=ts”,左下“t=tt”。依此類推,每放大一倍,每一小塊都裂分為四,從左上到右下順時針按qrst編號,裂分后的編碼為裂分前的編號上小塊的編號。
Google Map 中定義的比例尺與傳統意義定義的比例尺不同,所定義的是單位像素所代表的距離值。在初始等級時的比例尺為:40075016.685578488/256=156543.033928041(米/像素)。地圖放大一個級別后原來256*256 的圖片將變成4 張256*256 的圖片。這時比例尺為:40075016.685578488/5 12=78271.51696402(米/像素)。以此類推各層級比例尺如表1所示。


系統通過計算出所有用戶設定區域內的經緯度信息從Google Map地圖服務器中獲取相關瓦片圖元并根據層級自動保存下來。
五、海量地圖的修偏與柵格化
由于地圖映射后轉換的偏差以及Google公司對本身資源的保護會在不同區域設置一定的地理偏差,因此需要在GIS平臺中建立修偏數據庫并形成柵格化圖層,載入各地點位的修編地標與衛星地圖圖層進行對接與修偏保證地圖顯示的準確性。同時由于地圖圖片是jpg格式,如果要載入GIS平臺首先必須要將地圖進行柵格化處理。
海量下載的地圖圖片是jpg格式,如果要載入GIS平臺首先需要將地圖柵格化。由于Google Map下載的圖元文件數量非常巨大,普通中等城市的圖元文件會有幾十萬甚至上百萬張量級。人工進行地圖的修偏和柵格化顯然是不現實的。因此必須實現對地圖的自動修偏和柵格化。
系統在計算瓦片地圖文件URL地址的過程中自動將獲取的地圖文件名保存為“qrst”裂分規則文件名,因此在柵格化的過程中系統根據不同地圖層級對256*256的地圖圖片逐一進行檢索,根據文件名中的“qrst”規則倒推出該圖片的經緯度信息,并且根據該層級比例尺計算出該圖片的實際顯示面積,獲取圖片4個頂點的經緯度信息,即(1,1)(1,256)(256,1)(256,256)4個像素坐標值,根據MapInfo校準文件規則自動生成校準文件,當然在校準的過程中,還需要根據圖片的經緯度值從修編數據庫中檢索出該經緯度的偏差值進行經緯度補償才能準確的完成地圖的柵格化。其生成的柵格化文件及瀏覽界面如圖5所示。

六、地圖縮放比例與圖層切換的無縫銜接
由于MapInfo平臺采用的柵格化矢量地圖平臺采用的是“無級化”縮放控制,即用戶可以任意調整地圖當前的現實比例尺,如果用戶使用地圖的放大或縮小功能,地圖將根據用戶的操作及當前地圖顯示的范圍自動控制縮放比例已達到較好的顯示效果。
而使用瓦片式架構的衛星柵格化地圖對于縮放比例與地圖層級的控制非常重要,也是顯示效果好壞的關鍵技術。因為每一顯示層級圖片使用固定的比例尺,由于兩個層級間的比例差,如果將用戶的縮放功能和Google的比例尺綁定即只有1-22級縮放比例,圖層的縮放會失去原有GIS平臺“無級化”的優勢,地圖在層級見且歡的過程中會給用戶帶來突變的感覺,同時固定的比例尺對其他圖層圖元信息的顯示會帶來顆粒度不一致的問題。因此系統設計了在兩層級間采用GIS的“無級化”縮放,當比例尺跨越更高或更低層級后才進行圖層圖片切換,并且隱藏原有層級圖片。在這一切換技術的設計過程中還存在一個突出的問題,即在不同區域擁有的衛星地圖圖片的精度不同,因此會帶來再某一層級顯示的過程中會有某些區域無該精度地圖,導致地圖“留白”。這就需要在檢索不同縮放比例地圖時,遇到無該精度柵格圖片的情況下向上或向下檢索,使用不同層級的圖片縮放后差級顯示。
七、顯示區域地圖的自動檢索
當用戶在GIS平臺中確定顯示的地理中心,或者進行移動、放大、縮小等操作后,系統需要檢索出當前需要顯示的地圖圖層和區域已滿足操作員的顯示需要。而載入的圖片多少直接關系到系統資源的占用度,為了提高顯示效率,系統僅僅需要顯示當前顯示器所覆蓋的地圖區域即能滿足用戶使用的需要,并且根據不同的顯示分辨率進行自動匹配。
因此系統首先通過GetZoom()函數獲取當前地圖平臺的顯示比例尺,同時通過GetWindowSize()函數獲取當前顯示區域的像素值,并且根據顯示比例尺換算出顯示區域的經緯度面積,再根據當前衛星地圖層級檢索出需要顯示的地圖圖元信息逐一載入。
如果地圖采用的是移動、放大、縮小等操作,系統設計了二級緩沖機制,將需要顯示的地圖優先顯示后再將區域外的地圖推出,使地圖顯示無閃爍或跳變感。
八、圖元的多層級融合
由于衛星地圖顯示的僅僅是地理信息,當系統需要實際使用中,還必須加載地圖上的道路圖、關鍵地名以及用戶需要的各類圖元信息。這就需要將數據庫與地理信息系統進行綁定,載入用戶信息圖元。或者在MapInfo平臺下使用EXCEL或TXT的文件格式將圖元地理信息載入后生成圖層文件加載到系統中實現多層級信息的顯示,如圖6所示。
九、結束語
本文設計的基于Google Map的態勢地圖平臺,解決了衛星地圖在GIS平臺應用中關于地圖圖元獲取、海量圖元文件修偏、校準、檢索、層間融合等一系列技術問題。并且很好的應對了在態勢指揮系統中電子地圖獲取困難和更新慢問題,在各類地理信息系統有在良好的應用前景。

參 考 文 獻
[1] 高皓亮.基于Google Map的空間數據整合技術.上海:華東師范大學,2000
[2] 崔金紅等.Google地圖算法研究及實現.計算機科學,2007.