【摘 要】本文對GE開發相關技術進行介紹,并基于VB開發出一個基于GE的林業GIS系統,為林業GIS系統的開發提供了一種新的思路和方法。
【關鍵詞】GoogleEarth;GIS;林業
1.GoogleEarth簡介
谷歌地球(GoogleEarth,簡稱GE)是一款Google公司開發的虛擬地球儀軟件,它集成了地理信息系統、遙感和全球定位系統等高新技術的功能,免費向用戶展示了全球范圍內的衛星影像和航拍影像和道路、水系、地名等基礎地理信息數據。它采用強勁的三維引擎和高速的數據壓縮傳輸技術,進行了金字塔式建庫,將超大數據量的衛星影像通過Internet網進行發布,數據在全球范圍內周期性更新。GE幾乎可以應用于傳統GIS領域如交通、軍事、農業、國土、礦產、文物古跡保護、林業、海洋和城市規劃等。
2.GoogleEarth與KML文件
KML是一種基于XML語法格式的語言,可用于保存點、線、面、文字描述、3D模型、圖像等地理信息,具有易編輯、可網絡發布與共享、層次性與繼承性等優點,可以被GE解譯并在其平臺上顯示出相應的地理要素模型。KML文件成為一個國際性標準,能與ESRI、MapInfo、Intergraph、Surper Map等平臺的GIS數據進行交換和信息共享。
林業空間數據首先需要利用ArcGIS或其他工具轉換為大地坐標系,再轉換成KML(或KMZ,KMZ是壓縮后的KML文件)。用戶可借助網絡上提供的轉換工具也可通過二次開發進行轉換。下面是一個由KML語言編寫的例子:
<?xmlversion=\"1.0\"encoding=\"UTF-8\"?>
這個實例描述了一個瞭望塔,名稱為:株山瞭望塔;描述為建于2009年,護林員編號0507056;位置的經度為114.3652142,緯度為27.389245,海拔高度為14238米。
3.林業GIS系統開發與實現
3.1 GoogleEarth開發關鍵技術
基于GoogleEarth的二次開發通過調用GE類庫提供的API接口實現GE常用功能、添加業務邏輯、構建應用系統,其開發原理與方式與基于COM傳統GIS開發方式類似。編程語言可選擇支持COM的可視化編程語言如VB(本文以VB語言開發為例進行介紹)、VC、Delphi和.Net等。
GE包括11個類的類庫,如表1所示。在這11個類庫中IApplicationGE最為重要也是最大的一個類,它是GE的入口點,提供了其他其他應用程序訪問GE的接口,通過該類還可以其他類的接口。下面就IApplicationGE類如何加載GE及其他重要方法和屬性進行介紹。
表1 GE COM API類庫的類
3.1.1引用類庫
安裝完GE后,在VB的“工程”菜單中選擇“引用”,在引用界面中選擇“GoogleEarth1.0TypeLibrary”。
3.1.2 GE的加載
加載過程中需要添加一個Picture控件(PictureGE)作為容器來顯示和操作GE。關鍵代碼如下:
Dim AppGE as ApplicationGE
Dim HandleGE as Long
Set AppGE=CreateObject(“GoogleEarth.ApplicationGE”)‘加載GE
HandleGE=AppGE.GetRenderHwnd‘獲取地圖窗口句柄
SetParent HandleGE,PictureGE.hWnd‘將地圖窗口句柄傳給操作主窗口句柄
3.1.3其他重要方法和屬性
IsOnline判斷是否連接到數據服務器,Login表示登入,Logout表示登出,GetCamera方法獲取當前視圖,SetCameraParames方法設置當前視圖;OpenKMLFile方法加載KML文件;SaveScreenShot方法保存當前地圖視場范圍圖片。
3.2系統主要功能
多年來我國積極探索GIS技術在林業上的應用,并研發出很多成熟的林業管理軟件。利用GE開發的林業GIS系統與傳統GIS系統具有如下優點:(1)GIS開發者不必關心影像和基礎地理數據的維護;(2)GIS開發者不必考慮GIS軟件平臺;(3)系統建設費用低,相比傳統GIS系統開發周期短、硬件要求低、軟件不需要購買、數據購買維護費用低;(4)用戶體驗直觀豐富。
筆者使用VB語言開發出一個基于GE的林業GIS系統,系統實現的主要功能包括(1)基礎GIS功能:包括地圖縮放、漫游、信息查詢統計;(2)三維飛行、旋轉和定位等功能;(3)數據管理功能:包括數據投影轉換、KML文件生成、KML數據編輯等功能;(4)森林資源管理功能:包括二類資源調查、公益林、林地、集體林權制度改革宗地和古樹名木等數據的管理;(5)森林火災輔助決策功能:包括火點經緯度定位、地名定位和撲救路線制定等功能。
4.結論
本文探討了GE開發技術,并對GE開發的關鍵技術和KML語言進行了詳細的闡述,并基于VB語言開發出一個基于GE的林業GIS系統。系統既能免費共享GE的遙感影像,又能將各類林業專題數據加入系統,使得系統能以動態的、直觀的方式表現各類林業專題數據局,同時本文為林業GIS系統的開發提供了一種新的思路和方法。隨著軟硬件的快速發展和GE的不斷進步,GE在林業及其他領域的應用必將更加成熟和廣泛。
【參考文獻】
[1]馬謙.智慧地圖:Google Earth/Maps/KML核心開發技術揭秘[M].北京:電子工業出版社,2010.
[2]漆明生,徐加清.基于KML的地理數據表示[J].四川林勘設計.2008(3):77-80.
[3]張志樸,金波,王玉濤.Google Earth“數字林火”的大眾網絡平臺[J].中國林業,2006,10:44-45.