新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > WinCE下基于ArcGIS Mobile實(shí)現(xiàn)的嵌入式地圖

WinCE下基于ArcGIS Mobile實(shí)現(xiàn)的嵌入式地圖

作者: 時(shí)間:2012-05-15 來源:網(wǎng)絡(luò) 收藏

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

本文引用地址:http://m.butianyuan.cn/article/149053.htm
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉