段金榮,劉凱,徐東坡,張敏瑩,施煒綱
(農(nóng)業(yè)部長江下游漁業(yè)資源環(huán)境重點野外科學(xué)觀測試驗站中國水產(chǎn)科學(xué)研究院內(nèi)陸漁業(yè)生態(tài)環(huán)境和資源重點開放實驗室中國水產(chǎn)科學(xué)研究院淡水漁業(yè)研究中心,江蘇無錫214081)
地理信息系統(tǒng)(GIS)作為獲取、存儲、分析和管理地理空間數(shù)據(jù)的重要工具、技術(shù)和學(xué)科,近年來得到了廣泛關(guān)注和迅猛發(fā)展,隨著信息技術(shù)的發(fā)展和數(shù)字時代的來臨,理論上來說,GIS可以運用于現(xiàn)階段任何行業(yè),從技術(shù)和應(yīng)用的角度,GIS也是解決空間問題的工具、方法和技術(shù)。目前成熟的商業(yè)地理信息系統(tǒng)軟件有ArcGIS、MapGIS、Map Info等,Google Earth在空間數(shù)據(jù)分析、處理、表達(dá)等功能上與商業(yè)地理信息系統(tǒng)軟件有差距,但其海量的數(shù)據(jù)存儲和全球網(wǎng)絡(luò)共享發(fā)布的功能是其它商業(yè)軟件所望塵莫及的[1-2]。本研究采用Visual Basic(VB)作為可視化開發(fā)平臺,MapX作為電子地圖容器,將Map Info格式的地理信息如點、線、多邊形等轉(zhuǎn)化為可被Google Earth表達(dá)的KML文件格式,將Google Earth強大的衛(wèi)星圖片作為背景圖像,清晰表達(dá)用戶所關(guān)注圖元周邊的地物信息,同時可以從數(shù)據(jù)庫中查詢并顯示選擇圖元的相關(guān)文本信息,擴展選擇圖元的信息量。
MapInfo是一套基于Windows平臺的地圖化信息解決方案,可以方便、直觀地展現(xiàn)數(shù)據(jù)和地理信息的關(guān)系,其周密而詳細(xì)的數(shù)據(jù)分析能力,可幫助用戶從地理的角度更好地理解商業(yè)信息,輔助用戶做出更具洞察力的分析和決策。Map Info主要有計算機地圖制圖、專題地圖編制、空間查詢和分析等功能。其應(yīng)用領(lǐng)域十分廣泛,包括市政工程、資源管理、企業(yè)決策、投資分析、交通運輸、地質(zhì)礦產(chǎn)、醫(yī)療保險、郵電通訊、軍事公安、市場銷售、石油化工、水利電力、環(huán)保旅游等,囊括各行各業(yè)[3]。
Google Earth是一款Google公司開發(fā)的虛擬地球儀軟件,2005年正式向全球推出,它把衛(wèi)星照片、航空照相和GIS布置在一個地球的三維模型上。Google Earth采用了公共領(lǐng)域的圖片、受許可的航空照相圖片、KeyHole間諜衛(wèi)星的圖片和很多其它衛(wèi)星所拍攝的城鎮(zhèn)照片,針對不同用戶推出了3種版本:Google地球、Google地球?qū)I(yè)版和Google地球企業(yè)版[4-5]。
KML,是Keyhole標(biāo)記語言(Keyhole Markup Language)的縮寫,是一種采用XML語法與格式的語言,用于描述和保存地理信息(如點、線、圖像、多邊形和模型等),可以被Google Earth和Google Maps識別并顯示。KML提供以下功能:指定點圖標(biāo)和標(biāo)識、創(chuàng)建特寫、自定義標(biāo)識內(nèi)容、支持超鏈接和圖片顯示等[6]。
技術(shù)路線如圖1所示。
圖1 研究的技術(shù)流程
利用可視化開發(fā)語言VB和地理信息系統(tǒng)控件MapX,可以完成點、線、面等圖元的KML文件轉(zhuǎn)換,將所選擇的圖元顯示在Google地圖上,同時利用SQL和ASP技術(shù)將與該圖元相關(guān)的信息直接顯示在新打開的網(wǎng)頁窗口上。
選擇電子地圖上用戶感興趣的圖元,系統(tǒng)讀取選擇圖元的經(jīng)緯度坐標(biāo)并轉(zhuǎn)化成Google Earth所能判讀的數(shù)據(jù)格式,最終將上述圖元體現(xiàn)在Google地圖上,點擊該圖元,可以查詢與該圖元相關(guān)的文本信息,并顯示在地圖下方打開的IE窗口內(nèi),相關(guān)文本信息存儲于數(shù)據(jù)庫中,可擴展性比較好。
2.1.1 點圖元
讀取點圖元的中心坐標(biāo),將其按規(guī)定格式寫入KML文件,具體的處理方法及實現(xiàn)見以下代碼:
2.1.2 線或面圖元
讀取線或面圖元外廓節(jié)點的坐標(biāo),將其按規(guī)定格式寫入KML文件,處理方法及實現(xiàn)見以下代碼:
生成的KML文件由于編碼為ANSI,故可能會產(chǎn)生中文字符無法識別的情況,必須對字符作適當(dāng)?shù)奶幚?,即KML文件必須轉(zhuǎn)換成Unicode類型,從而解決Google地圖出現(xiàn)亂碼顯示的問題,具體的處理方法及實現(xiàn)見以下代碼[7-8]:
系統(tǒng)全部信息存儲于數(shù)據(jù)庫(Microsoft Access),通過點擊圖元并以圖元名稱作為傳遞參數(shù),在數(shù)據(jù)庫表格檢索相對應(yīng)的信息,并將所有信息通過ASP+SQL查詢語句實現(xiàn),最終將選擇圖元的全部檢索信息體現(xiàn)在新打開的空白網(wǎng)頁上[9-10]。主要代碼如下:
以太湖(圖2和圖3)為例,表達(dá)選擇圖元在Google Earth中的轉(zhuǎn)換結(jié)果。以“宜興”作為查詢關(guān)鍵詞,在數(shù)據(jù)庫表格中檢索相與之想匹配的信息,表達(dá)于Google Earth的空白信息框內(nèi),豐富了選擇地物的屬性信息。
圖2 選擇的區(qū)域
圖3 表達(dá)的區(qū)域和數(shù)據(jù)
利用Visual Basic作為可視化開發(fā)平臺,MapX作為電子地圖容器,將Map Info格式的地理信息如點、線、多邊形等轉(zhuǎn)化為可被Google Earth表達(dá)的KML文件格式。將Map Info數(shù)據(jù)轉(zhuǎn)化成Google Earth所能識別的KML文件,同時將圖元所涉及的屬性信息以網(wǎng)頁的形式展現(xiàn),用戶在地圖查詢的同時,獲取更多的圖元相關(guān)信息。解決了不同空間數(shù)據(jù)的表達(dá)形式以及與相關(guān)數(shù)據(jù)庫通訊的問題,借用Google Earth的衛(wèi)星地圖,豐富了Map Info數(shù)據(jù)的表達(dá)內(nèi)容,同時結(jié)合數(shù)據(jù)庫連接,可以擴展空間地物所包含的屬性數(shù)據(jù)內(nèi)容。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,開發(fā)人員可利用KML在現(xiàn)在或未來的在線地圖及3D地理信息瀏覽工具上撰寫及分享更多的地理信息。
[1]段金榮,張紅燕,施煒綱.結(jié)合GPS串口通訊和MapX在漁業(yè)資源監(jiān)測上的運用[J].上海海洋大學(xué)學(xué)報,2006,15(3):380-384.
[2]謝春剛,張人銘,郭焱.Google Earth和GPS在漁業(yè)資源調(diào)查中的應(yīng)用[J].上海海洋大學(xué)學(xué)報,2008,15(3):380-384.
[3]李春靜,徐達(dá),施新程,等.基于Map Info的VB集成地圖開發(fā)[J].信陽師范學(xué)院學(xué)報:自然科學(xué)版,2005,18(2):231-233.
[4]向民錦,李云星.利用Google Earth建立旅游資源導(dǎo)航信息平臺[J].湖南城市學(xué)院學(xué)報:自然科學(xué)版,2010,19(1):64-66.
[5]余豐華,姜云.Google Earth在浙江省地質(zhì)災(zāi)害管理中的應(yīng)用[J].地質(zhì)災(zāi)害與環(huán)境保護,2007,18(3):98-103.
[6]金永福,羅冬箐,郭偉其,等.基于Google Earth的海域使用管理信息系統(tǒng)的應(yīng)用Ⅱ.二次開發(fā)篇[J].海洋環(huán)境科學(xué),2010,29(3):436-439.
[7]王彤,胡笳,于文憑.基于Google Earth的數(shù)字校園WebGIS系統(tǒng)的專題制圖[J].計算機應(yīng)用與軟件,2010,27(6):242-243.
[8]段金榮,張紅燕,施煒綱.“水產(chǎn)虛擬標(biāo)本館”的設(shè)計與開發(fā)[J].南方水產(chǎn),2006,2(5):65-68.
[9]張在志,段金榮,劉凱,等.基于MapX的水產(chǎn)物種地理分布圖繪制方法[J].浙江海洋學(xué)院學(xué)報:自然科學(xué)版,2009,28(4):468-472.
[10]段金榮,張紅燕,劉凱,等.基于ARCSDE和MAPGUIDE的太湖漁業(yè)資源管理系統(tǒng)[J].中國農(nóng)學(xué)通報,2011,27(7):405-408.