段金榮,劉凱,徐東坡,張敏瑩,施煒綱
(農業部長江下游漁業資源環境重點野外科學觀測試驗站中國水產科學研究院內陸漁業生態環境和資源重點開放實驗室中國水產科學研究院淡水漁業研究中心,江蘇無錫214081)
地理信息系統(GIS)作為獲取、存儲、分析和管理地理空間數據的重要工具、技術和學科,近年來得到了廣泛關注和迅猛發展,隨著信息技術的發展和數字時代的來臨,理論上來說,GIS可以運用于現階段任何行業,從技術和應用的角度,GIS也是解決空間問題的工具、方法和技術。目前成熟的商業地理信息系統軟件有ArcGIS、MapGIS、Map Info等,Google Earth在空間數據分析、處理、表達等功能上與商業地理信息系統軟件有差距,但其海量的數據存儲和全球網絡共享發布的功能是其它商業軟件所望塵莫及的[1-2]。本研究采用Visual Basic(VB)作為可視化開發平臺,MapX作為電子地圖容器,將Map Info格式的地理信息如點、線、多邊形等轉化為可被Google Earth表達的KML文件格式,將Google Earth強大的衛星圖片作為背景圖像,清晰表達用戶所關注圖元周邊的地物信息,同時可以從數據庫中查詢并顯示選擇圖元的相關文本信息,擴展選擇圖元的信息量。
MapInfo是一套基于Windows平臺的地圖化信息解決方案,可以方便、直觀地展現數據和地理信息的關系,其周密而詳細的數據分析能力,可幫助用戶從地理的角度更好地理解商業信息,輔助用戶做出更具洞察力的分析和決策。Map Info主要有計算機地圖制圖、專題地圖編制、空間查詢和分析等功能。其應用領域十分廣泛,包括市政工程、資源管理、企業決策、投資分析、交通運輸、地質礦產、醫療保險、郵電通訊、軍事公安、市場銷售、石油化工、水利電力、環保旅游等,囊括各行各業[3]。
Google Earth是一款Google公司開發的虛擬地球儀軟件,2005年正式向全球推出,它把衛星照片、航空照相和GIS布置在一個地球的三維模型上。Google Earth采用了公共領域的圖片、受許可的航空照相圖片、KeyHole間諜衛星的圖片和很多其它衛星所拍攝的城鎮照片,針對不同用戶推出了3種版本:Google地球、Google地球專業版和Google地球企業版[4-5]。
KML,是Keyhole標記語言(Keyhole Markup Language)的縮寫,是一種采用XML語法與格式的語言,用于描述和保存地理信息(如點、線、圖像、多邊形和模型等),可以被Google Earth和Google Maps識別并顯示。KML提供以下功能:指定點圖標和標識、創建特寫、自定義標識內容、支持超鏈接和圖片顯示等[6]。

技術路線如圖1所示。

圖1 研究的技術流程
利用可視化開發語言VB和地理信息系統控件MapX,可以完成點、線、面等圖元的KML文件轉換,將所選擇的圖元顯示在Google地圖上,同時利用SQL和ASP技術將與該圖元相關的信息直接顯示在新打開的網頁窗口上。
選擇電子地圖上用戶感興趣的圖元,系統讀取選擇圖元的經緯度坐標并轉化成Google Earth所能判讀的數據格式,最終將上述圖元體現在Google地圖上,點擊該圖元,可以查詢與該圖元相關的文本信息,并顯示在地圖下方打開的IE窗口內,相關文本信息存儲于數據庫中,可擴展性比較好。
2.1.1 點圖元
讀取點圖元的中心坐標,將其按規定格式寫入KML文件,具體的處理方法及實現見以下代碼:

2.1.2 線或面圖元
讀取線或面圖元外廓節點的坐標,將其按規定格式寫入KML文件,處理方法及實現見以下代碼:

生成的KML文件由于編碼為ANSI,故可能會產生中文字符無法識別的情況,必須對字符作適當的處理,即KML文件必須轉換成Unicode類型,從而解決Google地圖出現亂碼顯示的問題,具體的處理方法及實現見以下代碼[7-8]:

系統全部信息存儲于數據庫(Microsoft Access),通過點擊圖元并以圖元名稱作為傳遞參數,在數據庫表格檢索相對應的信息,并將所有信息通過ASP+SQL查詢語句實現,最終將選擇圖元的全部檢索信息體現在新打開的空白網頁上[9-10]。主要代碼如下:


以太湖(圖2和圖3)為例,表達選擇圖元在Google Earth中的轉換結果。以“宜興”作為查詢關鍵詞,在數據庫表格中檢索相與之想匹配的信息,表達于Google Earth的空白信息框內,豐富了選擇地物的屬性信息。

圖2 選擇的區域

圖3 表達的區域和數據
利用Visual Basic作為可視化開發平臺,MapX作為電子地圖容器,將Map Info格式的地理信息如點、線、多邊形等轉化為可被Google Earth表達的KML文件格式。將Map Info數據轉化成Google Earth所能識別的KML文件,同時將圖元所涉及的屬性信息以網頁的形式展現,用戶在地圖查詢的同時,獲取更多的圖元相關信息。解決了不同空間數據的表達形式以及與相關數據庫通訊的問題,借用Google Earth的衛星地圖,豐富了Map Info數據的表達內容,同時結合數據庫連接,可以擴展空間地物所包含的屬性數據內容。隨著網絡技術的發展,開發人員可利用KML在現在或未來的在線地圖及3D地理信息瀏覽工具上撰寫及分享更多的地理信息。
[1]段金榮,張紅燕,施煒綱.結合GPS串口通訊和MapX在漁業資源監測上的運用[J].上海海洋大學學報,2006,15(3):380-384.
[2]謝春剛,張人銘,郭焱.Google Earth和GPS在漁業資源調查中的應用[J].上海海洋大學學報,2008,15(3):380-384.
[3]李春靜,徐達,施新程,等.基于Map Info的VB集成地圖開發[J].信陽師范學院學報:自然科學版,2005,18(2):231-233.
[4]向民錦,李云星.利用Google Earth建立旅游資源導航信息平臺[J].湖南城市學院學報:自然科學版,2010,19(1):64-66.
[5]余豐華,姜云.Google Earth在浙江省地質災害管理中的應用[J].地質災害與環境保護,2007,18(3):98-103.
[6]金永福,羅冬箐,郭偉其,等.基于Google Earth的海域使用管理信息系統的應用Ⅱ.二次開發篇[J].海洋環境科學,2010,29(3):436-439.
[7]王彤,胡笳,于文憑.基于Google Earth的數字校園WebGIS系統的專題制圖[J].計算機應用與軟件,2010,27(6):242-243.
[8]段金榮,張紅燕,施煒綱.“水產虛擬標本館”的設計與開發[J].南方水產,2006,2(5):65-68.
[9]張在志,段金榮,劉凱,等.基于MapX的水產物種地理分布圖繪制方法[J].浙江海洋學院學報:自然科學版,2009,28(4):468-472.
[10]段金榮,張紅燕,劉凱,等.基于ARCSDE和MAPGUIDE的太湖漁業資源管理系統[J].中國農學通報,2011,27(7):405-408.