《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > WinCE下基于ArcGIS Mobile實現的嵌入式地圖
WinCE下基于ArcGIS Mobile實現的嵌入式地圖
來源:微型機與應用2012年第3期
陳喜春
(石家莊機械化步兵學院,河北 石家莊 050083)
摘要: 以基于WinCE平臺的指控終端為例,介紹了通過ArcGIS Mobile實現地圖操作以及態勢圖標繪等功能的應用。
Abstract:
Key words :

摘  要: 以基于WinCE平臺的指控終端為例,介紹了通過ArcGIS Mobile實現地圖操作以及態勢圖標繪等功能的應用。
關鍵詞: WinCE;ArcGIS Mobile;嵌入式GIS;C#

 很多場合的嵌入式應用,需要涉及地圖操作。目前嵌入式GIS產品國外主要有ESRI和MapInfo,國內主要有超圖、靈圖等[1]。
 本文介紹在某基于WinCE 6.0操作系統的車載信息終端上嵌入式地圖的實現方法。主要的目標功能如下:能夠實現基本的地圖操作,例如放大、縮小、漫游、分圖層顯示;用戶圖層的繪制,例如在地圖上疊加軍標、繪制符號等;能夠接收GPS坐標、繪制本車或它車的地理位置。
本文的開發環境使用VS 2005、ArcGIS Server v9.3,編程語言使用C#,目標操作系統為WinCE 6.0。
1 ArcGIS Mobile開發環境
 ArcGIS Server是ESRI公司推出的專業的GIS應用整合套裝軟件,其主要目標是提供地理信息網絡服務,在大型GIS系統與終端設備間提供無縫的信息交換與服務。為了支持PDA、智能手機之類的手持設備,按照任務的復雜程度,ArcGIS為移動GIS提供了三種解決方案:ArcGIS Mobile、ArcPad以及ArcGIS Engine[2]。本文介紹依托ArcGIS Mobile開發的嵌入式應用。此外,還利用ArcMap和ArcCatalog這兩個工具進行地圖制作和地圖發布,而且這兩個工具也都包含在ArcGIS Server套裝中。
 ArcGIS Mobile的基本功能包括:瀏覽空間數據,捕捉、標注GPS位置,創建或更新點、線、面等要素,通過ADO.Net編輯表格數據,自動從GIS服務器同步更新數據等[3]。
基于ArcGIS Mobile開發移動應用的基本步驟是:首先使用ArcMap編輯地圖;然后使用ArcCatalog或者ArcGIS Server Manager發布地圖;使用Visual Studio 2005以及ArcGIS Mobile SDK開發應用程序;最后將數據和應用程序部署到目標設備[4]。
2 地圖數據的準備
 ArcGIS Mobile開發的應用,不僅支持在線應用,同時也支持離線應用。在應用程序有可用的網絡使用時,ArcGIS Mobile可以在線同步更新數據,并下載到本地設備上作為緩存;當網絡不可用時,ArcGIS Mobile可以使用緩存數據。
 本文描述的終端設備不需要考慮地圖編輯功能,也不需要從地圖服務器讀取數據,所以在應用部署時,應預先生成緩存再直接部署到目標設備上與應用程序一起發布。
ArcToolbox為Mobile應用提供了兩個工具,其中Generate Mobile Service Cache用來生成Mobile地圖服務的緩存。需要注意的是,為了支持移動應用,在發布服務時,應選中“Mobile Data Access”。如果用戶不需要修改地圖數據,還可以創建Basemap,對地圖數據進行高度壓縮,使之在移動設備上的性能更加優化[5]。
3 應用程序開發
 在Visual Studio 2005下提供了智能設備應用程序開發向導,可以按照向導進行應用程序的開發。為了使用ArcGIS Mobile提供的類,應當引用相應的命名空間。
3.1 在應用程序中加入Map控件
 在工具箱的“ArcGIS Mobile Controls”選項卡中提供了與Mobile開發的各種控件,其中Map控件提供了對地圖內容進行管理和控制的功能。當給窗體添加了一個Map對象時,Map控件會自動綁定一個MobileService對象。在ArcGIS Mobile中,地圖內容通過MobileService控件獲得并發送,Map主要負責地圖的表現。地圖服務地址和地圖緩存路徑的設置也保存在MobileService對象中。
3.2 從緩存讀取地圖數據
 為了顯示地圖,首先通過MobileService控件讀取地圖緩存數據?;静襟E是:在程序初始化時,首先通過MobileService的CacheStoragePath屬性設置緩存路徑,然后利用MobileService的Open方法,打開緩存。示例代碼如下(省略了異常捕獲語句):
mobileService1.CacheStoragePath=@"\MapCache";
mobileService1.Open(CacheOpenMode.Open);
3.3 地圖基本操作的實現
 地圖的基本操作如放大、縮小和漫游等可以通過Map控件的MapActions屬性來實現。MapActions是與Map控件關聯的地圖操作模式集合,常用的有PanMapAction、ZoomInMapAction等。將需要的地圖操作模式添加到MapActions集合,在地圖操作模式需要改變時,設置Map控件的CurrentMapAction屬性為MapActions集合中的一種,當前的地圖操作模式也就隨之改變。
例如,準備通過點擊工具欄的Button實現地圖放大操作,則首先創建ZoomInMapAction的新實例,然后將新實例加入Map控件的MapActions,響應Button單擊事件,將Map控件的CurrentMapAction屬性設置為 ZoomInMapAction。代碼如下:
 private ESRI.ArcGIS.Mobile.MapActions.
 ZoomInMapAction zoomInMapAction1;
 this.zoomInMapAction1=new ESRI.ArcGIS.
 Mobile.MapActions.zoomInMapAction1
?。╰his.components);
  this.map1.MapActions.Add(this.zoomInMapAction1);
  this.map1.CurrentMapAction=zoomInMapAction1;
 在移動設備沒有鼠標、觸摸屏等定位設備時,可以采取一種變通的方式進行地圖的縮放,這就是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.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲高清av| 国产精品一区亚洲| 欧美激情欧美狂野欧美精品| 宅男噜噜噜66一区二区| 亚洲天堂免费在线观看视频| 亚洲狼人精品一区二区三区| 欧美精品高清视频| 亚洲欧美文学| 国产精品毛片大码女人| 亚洲国产欧美一区二区三区丁香婷| 亚洲一区精品电影| 亚洲精品日韩激情在线电影| 亚洲一级黄色片| 国内外成人在线视频| 亚洲欧美在线另类| 欧美性猛交99久久久久99按摩| 性欧美xxxx视频在线观看| 欧美国产精品va在线观看| 亚洲综合好骚| 国产精品日韩精品欧美在线| 欧美成人午夜| 国产日产精品一区二区三区四区的观看方式| 亚洲综合色噜噜狠狠| 亚洲欧美卡通另类91av| 久久亚洲精品伦理| 韩日视频一区| 最新国产乱人伦偷精品免费网站| 亚洲国产你懂的| 国产精品一区亚洲| 亚洲啪啪91| 久久精品99国产精品酒店日本| 欧美激情中文字幕乱码免费| 亚洲日本va午夜在线电影| 日韩一级精品视频在线观看| 欧美婷婷六月丁香综合色| 国产精品99久久99久久久二8| 国产精品综合网站| 午夜精品一区二区三区在线| 亚洲精品一级| 欧美男人的天堂| 在线观看日韩欧美| 欧美国产亚洲另类动漫| 在线精品一区| 国产精品免费视频xxxx| 黄色成人精品网站| 亚洲观看高清完整版在线观看| 亚洲自拍偷拍色片视频| 亚洲在线免费| 久久蜜桃资源一区二区老牛| 国产精品久久久久av| 美女脱光内衣内裤视频久久网站| 韩日精品中文字幕| 欧美深夜福利| 欧美国产日本高清在线| 国产日韩av在线播放| 国产一区日韩一区| 亚洲高清中文字幕| 一区二区免费在线播放| 国内精品久久久久久久影视麻豆| 欧美日韩综合一区| 久久精品一本久久99精品| 国产视频欧美视频| 国产精品爱久久久久久久| 久久精品99国产精品| 欧美一区2区三区4区公司二百| 黑人巨大精品欧美一区二区| 亚洲欧美中文日韩在线| 久久久五月婷婷| 国产日韩欧美a| 欧美成人精品三级在线观看| 久久av老司机精品网站导航| 精品盗摄一区二区三区| 欧美日韩三区四区| 欧美特黄a级高清免费大片a级| 国产综合在线视频| 欧美日韩一级视频| 日韩手机在线导航| 亚洲午夜激情网站| 欧美精选午夜久久久乱码6080| 亚洲毛片网站| 在线观看国产精品网站| 在线不卡免费欧美| 国产精品区一区二区三| 欧美国产日本高清在线| 欧美精品久久久久久久久久| 国产视频一区二区三区在线观看| 亚洲每日在线| 亚洲欧美日韩国产一区二区三区| 欧美日韩 国产精品| 亚洲精品久久久久久久久久久久| 亚洲激情小视频| 国产一区二区三区精品欧美日韩一区二区三区| 久久蜜桃香蕉精品一区二区三区| 亚洲在线观看免费| 久久精品一区二区国产| 国产香蕉久久精品综合网| 亚洲欧洲精品一区二区三区波多野1战4| 亚洲高清123| 亚洲欧美久久久久一区二区三区| 国产视频在线观看一区| 亚洲网在线观看| 久久精品女人| 老牛影视一区二区三区| 99国产精品视频免费观看一公开| 亚洲欧美国产日韩天堂区| 国产亚洲精品久久久| 欧美人与性禽动交情品| 韩国精品久久久999| 久热精品视频在线观看一区| 亚洲欧洲一区二区天堂久久| 国产毛片一区| 一区二区三区视频在线播放| 一区二区日韩精品| 亚洲国产精品视频| 久久中文欧美| 国产精品久久久久三级| 国产一区亚洲一区| 亚洲福利视频一区二区| 1769国内精品视频在线播放| 亚洲一区亚洲| 99精品欧美一区二区蜜桃免费| 影音先锋中文字幕一区二区| 黄色成人免费观看| 欧美性jizz18性欧美| 在线成人av.com| 亚洲精品之草原avav久久| 欧美日韩一本到| 国内外成人免费激情在线视频网站| 国产主播精品在线| 国产日韩欧美精品一区| 亚洲欧美日韩国产一区二区三区| 亚洲天堂激情| 免费成人黄色| 一本久久综合| 国产精品久久久久91| 久久成人精品无人区| 精品粉嫩aⅴ一区二区三区四区| 欧美99久久| 永久域名在线精品| 国产丝袜美腿一区二区三区| 欧美巨乳在线观看| 国产精品看片你懂得| 亚洲精品久久久一区二区三区| 樱花yy私人影院亚洲| 久久综合激情| 永久免费精品影视网站| 一区免费视频| 国产性做久久久久久| 欧美一区亚洲一区| 99国产精品久久久久老师| 亚洲永久精品大片| 久久国产欧美| 在线观看精品视频| 在线免费观看日本一区| 亚洲欧美日韩国产中文| 欧美风情在线| 国产精品久久久久久久久搜平片| 亚洲大胆视频| 黑人操亚洲美女惩罚| 玖玖玖免费嫩草在线影院一区| 亚洲高清成人| 亚洲日本乱码在线观看| 在线观看国产欧美| 久久精品一本| 韩国三级电影一区二区| 久久久国产成人精品| 妖精成人www高清在线观看| 国内精品伊人久久久久av影院| 9国产精品视频| 亚洲激情在线激情| 亚洲国产免费看| 欧美精品啪啪| 国产精品裸体一区二区三区| 午夜精品一区二区三区在线播放| 国产免费成人在线视频| 欧美调教视频| 欧美精品观看| 欧美一区二区三区视频免费播放| 在线成人av网站| 欧美日韩成人在线| 欧美制服丝袜| 欧美二区在线看| 9国产精品视频| 亚洲午夜国产一区99re久久| 亚洲色图综合久久| 一本久道久久久| 国产一区二区高清| 久久精品国产第一区二区三区| 国产日韩一区二区| 欧美激情亚洲另类| 午夜免费日韩视频| 免费在线日韩av| 一区二区三区在线免费视频| 久久福利影视| 久久精品免费播放| 欧美午夜www高清视频| 最新中文字幕亚洲| 亚洲国产黄色| 国产精品福利在线| 国产欧美日本一区视频| 久久久激情视频| 亚洲精品中文字幕有码专区| 亚洲免费观看高清在线观看| 国内外成人在线| 国产欧美日韩三区| 久久久综合激的五月天| 久久夜色精品国产| 亚洲免费大片| 欧美激情一区二区三区在线视频| 亚洲二区在线观看| 国产一区91精品张津瑜| 最新国产成人av网站网址麻豆| 欧美日韩国产精品成人| 亚洲综合色视频| 国产麻豆精品在线观看| 羞羞答答国产精品www一本| 老司机免费视频一区二区三区| 欧美日韩在线另类| 国产一区二区三区久久| 欧美老女人xx| 亚洲欧美日韩视频一区| 久热精品视频在线| 久久免费视频这里只有精品| 国产一区二区三区日韩| 亚洲一区在线免费| 欧美一区在线直播| 亚洲精品乱码久久久久久按摩观| 国产精品福利片| 欧美日韩精品综合在线| 欧美福利影院| 国产欧美综合一区二区三区| 国产永久精品大片wwwapp| 国产婷婷色一区二区三区在线| 亚洲国产精品视频一区| 欧美日韩国产一区| 欧美日韩国产在线一区| 欧美精品手机在线| 欧美精品九九| 亚洲午夜影视影院在线观看| 亚洲一区免费在线观看| 亚洲欧美日韩国产成人精品影院| 亚洲二区视频| 久久精品一区二区三区中文字幕| 一区二区在线观看视频在线观看| 久久久久久综合网天天| 欧美波霸影院| 国产精品免费一区二区三区在线观看| 亚洲人成人一区二区在线观看| 欧美日韩高清在线播放| 国产精品久久久久久久久久尿| 狂野欧美性猛交xxxx巴西| 久久99伊人| 欧美激情网站在线观看| 一区在线影院| 国产在线精品二区| 亚洲无限av看| 99精品国产热久久91蜜凸| 国产精品欧美日韩久久| 国产婷婷成人久久av免费高清| 国产综合在线视频| 欧美国产视频日韩| 国内精品国语自产拍在线观看| 亚洲午夜国产一区99re久久| 国产精品第2页| 国产日本欧美一区二区三区在线| 欧美一级在线播放| 亚洲福利专区| 久久久另类综合| 欧美日韩视频在线一区二区观看视频| 国产精品电影在线观看| 亚洲与欧洲av电影| 午夜视频在线观看一区二区三区| 国产视频不卡| 日韩视频亚洲视频| 亚洲高清视频中文字幕| 亚洲女同同性videoxma| 久久久久久久综合色一本| 久久精品国亚洲| 一区二区三区国产精华| 欧美一二三区在线观看| 欧美另类久久久品| 99re6热只有精品免费观看| 免费精品视频| 国产欧美日韩亚洲一区二区三区| 国产精品人人爽人人做我的可爱| 久久国产精品一区二区三区四区| 久久爱91午夜羞羞| 亚洲女女做受ⅹxx高潮| 99re6热只有精品免费观看| 国产婷婷色一区二区三区四区| 欧美网站在线观看| 一本色道久久88综合日韩精品| 久久网站热最新地址| av成人免费在线| 久久精品二区三区| 在线亚洲+欧美+日本专区| 久久久综合香蕉尹人综合网| 韩国女主播一区二区三区| 亚洲国产日韩欧美在线99| 欧美gay视频| 亚洲精品一区在线观看香蕉| 国产一区二区黄| 国产欧美日韩一区二区三区| 99亚洲伊人久久精品影院红桃| 欧美精品一区三区在线观看| 欧美乱人伦中文字幕在线| 久久久久久色| 欧美极品色图| 免费观看亚洲视频大全| 精品成人一区二区三区四区| av成人动漫| 欧美涩涩网站| 国产麻豆日韩欧美久久| 伊人久久大香线蕉综合热线| 欧美视频日韩视频| 免费在线观看一区二区| 久久久精品网| 欧美专区中文字幕| 久久黄金**| 国产精品女人久久久久久| 欧美视频一区二区三区四区| 六月天综合网| 国产精品普通话对白| 午夜久久影院| 久久久久久久综合色一本| 久久综合精品国产一区二区三区| 国产日韩一区二区三区| 欧美午夜视频一区二区|