WinCE下基於ArcGIS Mobile實現的嵌入式地圖

2021-01-11 電子產品世界

很多場合的嵌入式應用,需要涉及地圖操作。目前嵌入式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控制項讀取地圖緩存數據。基本步驟是:在程序初始化時,首先通過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
 (this.components);
  this.map1.MapActions.Add(this.zoomInMapAction1);
  this.map1.CurrentMapAction=zoomInMapAction1;

linux作業系統文章專題:linux作業系統詳解(linux不再難懂)

相關焦點

  • 基於和欣嵌入式作業系統實現的一個構件化的網絡協議棧設計淺析
    基於和欣嵌入式作業系統實現的一個構件化的網絡協議棧設計淺析 電子發燒友 發表於 2019-02-20 14:59:23 嵌入式Internet是隨著嵌入式系統的廣泛應用和計算機網絡技術的發展而產生的一種新概念和技術
  • 基於嵌入式的室內靜態場景實時重建系統
    而我們的技術成功將一套成熟的基於Intel Realsense ZR300 的快速實時室內靜態場景重建(室內重建)技術從PC端移植到移動端。我們通過使用奧比中光所提供的的Zora P1嵌入式開發板和Astra Pro RGBD攝像頭組成了實時重建系統的數據實時採集端,並通過自主設計的WiFi數據傳輸模塊將採集的數據實時傳遞至上位機,通過上位機處理完成實時重建的任務,最終取得理想的效果。
  • 基於嵌入式技術的LED顯示屏控制系統淺析
    打開APP 基於嵌入式技術的LED顯示屏控制系統淺析 工程師青青 發表於 2018-08-30 17:23:00 嵌入式系統廣義上認為是一個由系統硬體與系統軟體有機組成並且具有高可靠性和實時性的可控系統
  • 基於ARM嵌入式開發平臺和GPRS無線傳輸網絡的遠程圖像監控設計方案
    打開APP 基於ARM嵌入式開發平臺和GPRS無線傳輸網絡的遠程圖像監控設計方案 電子發燒友 發表於 2019-04-27 10:06:00
  • 康佳特擴展基於恩智浦(NXP) i.MX 8處理器系列的嵌入式視覺產品陣容
    康佳特擴展基於恩智浦(NXP) i.MX 8處理器系列的嵌入式視覺產品陣容 支持MIPI攝像頭:板載即刻應用標準與定製嵌入式計算機主板和模塊的領先供應商德國康佳特擴展其嵌入式視覺產品陣容,為恩智浦(NXP) i.MX 8處理器推出了全新的解決方案平臺。
  • 基於AT91SAM9260工控機平臺的SNMP協議實現
    本文引用地址:http://www.eepw.com.cn/article/201610/306723.htm本文介紹一種基於AT91SAM9260工控機平臺的SNMP協議實現方法,通過開發能在AT91SAM9260工控機平臺上運行的SNMP Agent(SNMP代理),並擴展其MIB(管理信息)庫,實現在網際網路上管理工控機本身和與工控機通過其他通信協議連接的設備資源。
  • Arcgis影像投影轉換及拼接
    1. arcgis中矢量數據投影變換(1) 為矢量定義投影(坐標系的選擇見後面) (2) 投影變換2. arcgis中影像投影帶轉換(1) 定義TIF影像的投影。
  • ...最新嵌入式安全平臺輕鬆實現公鑰加密,有效保護IoT設備和數據通路
    Maxim宣布推出MAXREFDES155# DeepCover®嵌入式安全參考設計,幫助用戶快速、便捷地為系統增添加密安全認證功能,保護物聯網(IoT)硬體設備,以及設備與雲端數據交換的真實性和完整性。
  • 飛凌嵌入式基於全志A40i、T3處理器在臺區智能融合終端上的應用
    配電智能融合終端通過物聯協議接入物聯管理平臺,可實現臺區設備狀態全感知、故障主動研判和搶修、改善供電質量等功能。臺區智能融合終端是 TTU 的演進形態,結合了 TTU ,集中器的硬體功能,並且加入了更多的智能監測等功能。 應用雲編排 APP實現了低壓臺區側、線路側和客戶 側營配源端數據同步採集和高級應用的 邊緣計算。臺區智能融合終端長什麼樣呢?
  • 如何做出美觀的ArcGIS地圖
    我相信,用過ArcGIS的人來說,做一張ArcGIS地圖肯定不難。 但是,難在如何做出一副好看嚴謹的ArcGIS地圖。
  • 旅圖基於AI的3D VR地圖構建智慧城市數字底座
    二是提升精細管理的「感知」能力,基於3D VR地圖構建的城市管理平臺,與物聯網系統充分融合後,可實現多角度的監控、監管,全方位立體化地「感知」城市,從而讓管理更加高效。三是提高協同協作的「聯動」能力,基於3D VR地圖構建的指揮中心,可以更好地實現城市各部門之間的協調聯動,尤其是在突發緊急事件時,可以第一時間調配最優、最多資源。
  • 這些ArcGIS製圖技巧,你知道嗎?
    它是在計算機硬、軟體系統支持下,對整個或部分地球表層(包括大氣層)空間中的有關地理分布數據進行採集、儲存、管理、運算、分析、顯示和描述的技術系統。地理數據只是經過數位化後的一系列的帶坐標的幾何圖形,本身不存在任何的符合,要把這些數位化圖形轉化為我們所能識別的地圖,還需要進行所謂的「符號化」過程,也就是我們常說的配圖。如果要進一步製圖專題地圖,也許還需要對數據進行一系列的處理(如坐標轉換、數據分割、要素聚合和簡化、幾何邏輯驗證、欄位處理等)以及製作基於行業標準的地圖符號庫。
  • 基於FPGA實現FIR數字濾波電路的設計及應用
    打開APP 基於FPGA實現FIR數字濾波電路的設計及應用 劉微;李彥明;姚志 發表於 2020-12-22 12:22:00
  • PC架構和嵌入式錄播主機的優劣對比
    教育錄播系統為傳統課堂教學帶來了顛覆性的變革,使得優質教學資源能夠實現價值最大化,符合教育信息化升級的要求。教育錄播系統的美好應用前景,吸引了諸多企業爭相進行相關設備的研發,令當今市面上教育錄播系統品牌和產品選擇日益豐富。 縱觀當前教育錄播主機產品,按推出時間和設計架構,可以分為兩代產品:第一代具備高運算性能的PC架構,第二代具有較高穩定性的嵌入式架構。
  • 嫦娥五號成功採樣返回,背後離不開嵌入式計算機硬體的支持
    嫦娥五號帶著月球樣品返回地球,標誌著我國探月三期工程第三步取得了圓滿成功,也讓我國成為了世界上第三個成功實現月球採樣返回的國家。 上半年我國北鬥系統第54顆導航衛星也成功發射,北鬥系統導航衛星和嫦娥五號的成功,代表我國導航衛星建設已經處於國際領先地位,同時基於嵌入式計算機系統的衛星導航系統在移動定位導航中的服務將更加精確。
  • 科普| 如何利用ArcGIS讓地圖更有立體感
    充分利用想像力去填充那些蒼白無力的地圖。這裡我們要實現一個目標,就是給非常扁平的地圖做一個處理,讓它變得玲瓏浮凸看起來更加具有立體感。數據概況導入數據行政區劃圖,屬於非常常見的地圖,縱使配了色彩,顯示效果還是非常一般。為了讓它滿足大眾的審美要求,我們最希望看到的是這個樣子的地圖。
  • 校本研修如何實現「彎道超車」?融匯沙小教育者傳遞「嵌入式」研修...
    「嵌入式」研修跨越「兩座大山」教師是立教之本、興教之源。2016年,融匯沙小教師平均年齡為22.5歲。年輕教師普遍缺乏教學經驗,大部分教師感到教學科研工作困難。如何讓年輕教師快速成長、具有教師勝任力成為學校發展的首要任務。源於此,《嵌入教師日常工作情境的校本研修實踐研究》課題應運而生。
  • 嵌入式開發,RTOS比裸奔的優勢在哪?
    第三、生態:很多高級軟體組件,必須依賴於作業系統來實現比如說,我前些年開源過一個基於 FreeModbus 的 Modbus 主機協議棧,因為要考慮各個平臺適配問題,原本計劃支持各種各樣的作業系統,甚至是裸機平臺。
  • 基於Vue實現一個有點意思的拼拼樂小遊戲
    技術棧如下:vue-cli4 基於vue的腳手架Xuery 筆者基於原生js二次封裝的dom庫vue mvvm庫因為該應用屬於H5遊戲,為了清亮化筆者沒有採用第三方ui庫, 如果大家想採用基於滴滴團隊開發的移動端UI組件庫vant 有贊團隊的電商風格的移動端組件庫atom-design atom風格的移動端ui組件庫mand-mobile 滴滴團隊研發的基於金融場景的移動端ui組件庫