WinCE下基于ArcGIS Mobile實現的嵌入式地圖
在移動設備沒有鼠標、觸摸屏等定位設備時,可以采取一種變通的方式進行地圖的縮放,這就是Envelope類。Envelope用來定義一個幾何對象的區域,可以借助它先獲取地圖的顯示區域,然后改變Envelope,再設置地圖的顯示區域。代碼如下:
this.envelop1=this.map1.GetExtent();
this.envelop1.Resize(0.5);
this.map1.SetExtent(this.envelop1);
利用Map控件的GetExtent和SetExtent方法來獲取及設置地圖的可視區域。CenterAt方法可以改變地圖的中心位置。為了在屏幕坐標和地理坐標之間進行轉換,可以調用Map控件的ToMap和ToClient方法。
3.4 用戶圖層符號標繪的實現
軍事上的態勢標繪常常需要在地圖圖層之上疊加各種軍標符號,比較簡單的方法是響應Map控件的Paint事件。Display對象在Map圖層之上顯示,當所有的圖層繪制完畢后,重繪Display之前會觸發Paint事件,此時可以使用Display對象繪制圖形、文本和圖像。需要說明的是,Display對象繪制的內容不可以保持,用戶應注意重繪。調用Display對象繪制一個圓點的代碼如下:
private void map1_Paint(object sender,
MapPaintEventArgs e)
{
e.Display.DrawPoint(
new Pen(Color.Blue),
new SolidBrush(Color.Red), 3,
map1.ToMap(100, 100));
}
另一種繪制用戶符號的方法是借助繪圖圖層(graphic layers),Map控件的MapGraphicLayers屬性表示繪圖圖層的集合。地圖中包括地理圖層(geographic layers)、注解圖層(annotation layers)和繪圖圖層(graphic layers)三類圖層。前兩類圖層的數據都由數據源讀取,繪圖圖層則由用戶控制,可以在地理圖層、注解圖層之上顯示額外的信息。其使用方法是:首先為Map控件的MapGraphicLayers屬性添加MapGraphicLayer對象或其派生對象的實例,然后重載該實例的Draw()方法。這樣當Map重繪時,就會通過Draw()方法完成用戶符號的繪制。
3.5 GPS定位功能的實現
ArcGIS Mobile提供了3個GPS相關的控件對GPS進行支持:(1)FileGpsConnection控件:提供文件GPS連接,它可以從一個包含GPS數據的文本文件中,模擬一個GPS連接,這樣在調試中會非常方便;(2)Seria1P0rtGpsConnection控件:提供串口GPS連接,主要用在實際應用中;(3)GpsDisplay和上述兩種GpsConnection聯動,實現GPS信息在地圖上的表現。
在沒有GPS設備的時候,可以使用FileGpsConnection進行調試。FileGpsConnection的原理就是從一個包含GPS數據的文本文件,模擬GPS連接。將FileGpsConnection對象的FileName屬性指定為這個GPS數據文件,然后調用Open和Close方法就可以打開或關閉GPS連接。每次GPS位置點改變時,都會觸發GpsChanged事件,在此事件中,可以更新地圖的位置。
3.6 應用程序的部署
在部署應用程序之前要在移動設備上安裝一些必要的支持文件,一個是.NET CF運行,另一個是ArcGISMobile.CAB和AGMRuntime.CAB,通過ActiveSync把它們拷貝到移動設備并運行;然后把項目生成的可執行文件拷貝到移動設備上,即可以運行創建的應用程序。
如果在VS 2005環境下調試應用程序,應用程序會自動部署到目標設備上。
本文介紹了使用ArcGIS Mobile開發嵌入式GIS應用的基本方法,這些方法已經在工程實踐中得到了應用。本文的主要目標是實現態勢、軍標在移動設備上的顯示,ArcGIS Mobile作為一款專業的移動GIS平臺,這些功能只是其中一小部分。ArcGIS Mobile的進一步開發,例如數據的現地編輯、數據回傳等應結合ArcGIS Server來實現。
參考文獻
[1] 陳敦根,蔣浩宇,范躍祖.嵌入式GIS軟件ArcPad的二次開發技術[J].嵌人式軟件應用,2006(22):37-39.
[2] ESRI.ArcGIS desktop help[CP/DK].2008.
[3] 賀軍政,毛奎中,林均玲.基于移動GIS的測繪系統設計與實現[J].測繪工程,2010(8):39-42.
[4] 吳泳鋒.使用ArcGIS Mobile SDK 9.3開發移動設備應用[EB/OL].http://www.docin.com/p-20680 8084.html.2011-08-01.
[5] 朱磊,陳鵬,何兵,等.基于ArcGIS Mobile的移動地理信息系統的關鍵技術[J].鐵道勘察,2009(12):58-54.本文引用地址:http://www.104case.com/article/149053.htm linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論