在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于WinCE 6.0操作系統實現車載終端的嵌入式地圖的設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-08-14 08:03 ? 次閱讀

很多場合的嵌入式應用,需要涉及地圖操作。目前嵌入式GIS產品國外主要有ESRI和MapInfo,國內主要有超圖、靈圖等。

本文介紹在某基于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。本文介紹依托ArcGIS Mobile開發的嵌入式應用。此外,還利用ArcMap和ArcCatalog這兩個工具進行地圖制作和地圖發布,而且這兩個工具也都包含在ArcGIS Server套裝中。

ArcGIS Mobile的基本功能包括:瀏覽空間數據,捕捉、標注GPS位置,創建或更新點、線、面等要素,通過ADO.Net編輯表格數據,自動從GIS服務器同步更新數據等。

基于ArcGIS Mobile開發移動應用的基本步驟是:首先使用ArcMap編輯地圖;然后使用ArcCatalog或者ArcGIS Server Manager發布地圖;使用Visual Studio 2005以及ArcGIS Mobile SDK開發應用程序;最后將數據和應用程序部署到目標設備。

2 地圖數據的準備

ArcGIS Mobile開發的應用,不僅支持在線應用,同時也支持離線應用。在應用程序有可用的網絡使用時,ArcGIS Mobile可以在線同步更新數據,并下載到本地設備上作為緩存;當網絡不可用時,ArcGIS Mobile可以使用緩存數據。

本文描述的終端設備不需要考慮地圖編輯功能,也不需要從地圖服務器讀取數據,所以在應用部署時,應預先生成緩存再直接部署到目標設備上與應用程序一起發布。

ArcToolbox為Mobile應用提供了兩個工具,其中Generate Mobile Service Cache用來生成Mobile地圖服務的緩存。需要注意的是,為了支持移動應用,在發布服務時,應選中“Mobile Data Access”。如果用戶不需要修改地圖數據,還可以創建Basemap,對地圖數據進行高度壓縮,使之在移動設備上的性能更加優化。

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。代碼如下:

基于WinCE 6.0操作系統實現車載終端的嵌入式地圖的設計

在移動設備沒有鼠標、觸摸屏等定位設備時,可以采取一種變通的方式進行地圖的縮放,這就是Envelope類。Envelope用來定義一個幾何對象的區域,可以借助它先獲取地圖的顯示區域,然后改變Envelope,再設置地圖的顯示區域。代碼如下:

基于WinCE 6.0操作系統實現車載終端的嵌入式地圖的設計

利用Map控件的GetExtent和SetExtent方法來獲取及設置地圖的可視區域。CenterAt方法可以改變地圖的中心位置。為了在屏幕坐標和地理坐標之間進行轉換,可以調用Map控件的ToMap和ToClient方法。

3.4 用戶圖層符號標繪的實現

軍事上的態勢標繪常常需要在地圖圖層之上疊加各種軍標符號,比較簡單的方法是響應Map控件的Paint事件。Display對象在Map圖層之上顯示,當所有的圖層繪制完畢后,重繪Display之前會觸發Paint事件,此時可以使用Display對象繪制圖形、文本和圖像。需要說明的是,Display對象繪制的內容不可以保持,用戶應注意重繪。調用Display對象繪制一個圓點的代碼如下:

基于WinCE 6.0操作系統實現車載終端的嵌入式地圖的設計

另一種繪制用戶符號的方法是借助繪圖圖層(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來實現。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 智能手機
    +關注

    關注

    66

    文章

    18515

    瀏覽量

    180597
  • 嵌入式
    +關注

    關注

    5087

    文章

    19158

    瀏覽量

    306450
  • 操作系統
    +關注

    關注

    37

    文章

    6862

    瀏覽量

    123503
收藏 人收藏

    評論

    相關推薦

    嵌入式車載導航信息系統研究

    【作者】:衛小偉;【來源】:《電子設計工程》2010年02期【摘要】:分析研究嵌入式車載導航信息系統體系結構,以實時多任務嵌入式操作系統Wi
    發表于 04-24 09:31

    怎么實現嵌入式手持移動終端中文件系統?

    本文中,我們將以嵌入式操作系統WINCE為背景,來討論嵌入式手持移動終端中文件系統
    發表于 04-25 06:17

    什么是嵌入式操作系統? 

    、INTEGRITY、OSE、C ExecuTIve  什么是嵌入式操作系統 嵌入式操作系統是一種支持嵌入式
    發表于 10-28 07:35

    Android車載嵌入式操作系統怎么樣?

    Android系統和汽車有什么關系?Android車載嵌入式操作系統怎么樣?
    發表于 12-27 07:44

    基于Linux操作系統嵌入式網關的實現

    基于Linux操作系統嵌入式網關的實現
    發表于 03-28 09:48 ?29次下載

    基于嵌入式ARM & WinCE 的小型監控系統的設計

    本文介紹了嵌入式操作系統WinCE 的技術特性、構建基于WinCE嵌入式平臺以及在構建的平臺上開發
    發表于 06-10 14:02 ?22次下載

    基于嵌入式Linux的車載終端的設計與實現

    針對城市交通管理中車輛管理和調度困難的問題,提出了一種基于嵌入式Linux車輛監控管理系統車載終端方案。方案采用ARM核心處理器、嵌入式L
    發表于 01-06 17:06 ?30次下載

    嵌入式操作系統WINCE實踐教程

    嵌入式操作系統WINCE實踐教程,哈理工大學WinCE教程課件,內含實驗例子。
    發表于 03-14 16:13 ?4次下載

    基于嵌入式ARM&WinCE的小型監控系統的設計

    本文介紹了嵌入式操作系統WinCE的技術特性、構建基于WinCE嵌入式平臺以及在構建的平臺上開發嵌入式
    發表于 04-18 14:12 ?1次下載

    谷歌車載嵌入式操作系統Android Automotive

    當中。目前,谷歌正在將該服務提供給采用谷歌車載嵌入式操作系統Android Automotive的汽車制造商。
    發表于 04-14 21:03 ?6035次閱讀

    嵌入式操作系統如何應用_嵌入式操作系統的組成

    本文首先介紹了入操作系統的特點,其次闡述了嵌入式操作系統的應用,最后介紹了嵌入式操作系統的組成
    發表于 09-01 16:36 ?3627次閱讀

    嵌入式操作系統FreeRTOS的原理實現

    嵌入式操作系統FreeRTOS的原理實現(嵌入式開發工具使用實驗報告)-嵌入式操作系統FreeR
    發表于 07-30 12:03 ?31次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統</b>FreeRTOS的原理<b class='flag-5'>實現</b>

    什么是嵌入式操作系統 常見的嵌入式系統有哪些

    、INTEGRITY、OSE、C ExecuTIve  什么是嵌入式操作系統 嵌入式操作系統是一種支持嵌入式
    發表于 10-21 09:36 ?27次下載
    什么是<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統</b> 常見的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>有哪些

    嵌入式操作系統

    嵌入式操作系統一、嵌入式操作系統概述1.1 嵌入式操作系統的特點1.2
    發表于 11-03 18:36 ?46次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統</b>

    什么是嵌入式操作系統?

    嵌入式操作系統是一種專門的操作系統(OS),旨在為非計算機的設備執行特定任務。嵌入式操作系統的主要工作是運行允許設備完成其工作的代碼。
    的頭像 發表于 12-23 15:33 ?7843次閱讀
    什么是<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統</b>?
    主站蜘蛛池模板: 久久国产视频网站| 欧美黑粗硬| 狠狠色丁香久久婷婷综| 黄色一级一毛片| 国产精品久久久久久久久福利| 黄 色 大 片 网站| 国产三级三级三级| www.色五月.com| 新天堂网| 久久精品免看国产| 欧美人与zoxxxx另类| 琪琪see色原在线20| 亚洲色妞| 日本黄色大片免费| 黄 色 录像成 人播放免费| 最新版资源在线天堂| 天天操天天搞| 视频网站免费| 国模小丫大尺度啪啪人体| 香蕉色网| 两性色午夜视频免费网| 2018天堂视频免费观看| 免费网站黄成人影院| 日本69sexmovies| 中国特级毛片| 日韩一级在线| 国产免费一区二区三区最新| 天天做天天添天天谢| 成人黄色免费观看| 美女扒开尿口给男人爽免费视频| 亚欧美色| 久久性久久性久久久爽| 欧美亚洲综合另类成人| 一女多夫嗯啊高h| 一 级 黄 色 片生活片| 日本成人在线网址| 丁香花小说| 国内黄色精品| 欧美 亚洲 国产 精品有声| 四虎影院网| 国产资源网站|