240 likes | 401 Views
GPS 應用程式開發. 葉佰蒼 Jan Yeh 行動智慧公司 www.mobilemind.com.tw MVP, MCSD.NET. 議程. GPS 介紹 WM5 之 GPSID 介紹 結合電子地圖 結語 Q & A. 全球定位系統之組成. 全球定位系統. 地球上空共計 24 顆人造衛星 1978~1994 時速 4200 公里 高度 20200 公里 12 小時繞地球一圈. 全球定位系統工作原理. 接收一顆衛星訊號 速度 (V) x 時間 (T) = 距離 (D) 找另一顆衛星訊號 計算第二個距離 以第三顆衛星訊號 三點定位
E N D
GPS應用程式開發 葉佰蒼 Jan Yeh 行動智慧公司www.mobilemind.com.tw MVP, MCSD.NET
議程 • GPS介紹 • WM5之GPSID介紹 • 結合電子地圖 • 結語 • Q&A
全球定位系統 • 地球上空共計24顆人造衛星 • 1978~1994 • 時速4200公里 • 高度20200公里 • 12小時繞地球一圈
全球定位系統工作原理 • 接收一顆衛星訊號 • 速度(V) x 時間(T) = 距離(D) • 找另一顆衛星訊號 • 計算第二個距離 • 以第三顆衛星訊號 • 三點定位 • 進行誤差計算 • 以第四顆衛星校正
差分GPS • Differential GPS • 以地面的訊號作校正 • 避免干擾、傳輸延遲 • 可提供GPS準確度到10公尺
GPS應用 • 定位 • 災難位置定位、尋人查址 • LBS適地服務 • 追蹤 • 車隊管理、運輸物流監控 • 導航 • 電子地圖、路徑規劃 • 量測 • 大地測量、工程遙測及控制量測 • 校時 • 電信、通訊之對時
GPS術語 • 航點 Way Point • GPS定位之單一座標位置 • 航段 Leg • 兩座標位置組成之區段 • 路徑 Route • 起始航點~最終航點 • 所有航段之組合
GPS訊號解讀 • NMEA標準 • National Marine Electronics Association • 每行以$開頭 • $後面是5個字元的訊息代碼 • 每行以CR/LF結束 • 每行之中的資訊以逗號分隔 • 最後為2個字元的校驗碼(checksum),以*開頭 $GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75 $GPGSV,1,1,02,14,,,37,25,,,46,,,,,,,,*7F
GPS選購考量 • 大小及重量 • 電池續航力 • 天線收訊力 • 有無差分GPS • 價位 • 選購配備 • 外接天線、電源(車/旅充)、底座
議程 • GPS介紹 • WM5之GPSID介紹 • 結合電子地圖 • Q&A
Windows Mobile 5.0 - GPSID • GPS Intermediate Driver • Gpsapi.dll • 以程式方式 • 可取得GPS資訊 • 解析NMEA語句 • 讓多個應用程式 • 共用GPS資訊 • 採用Virtual COM Port
Windows Mobile 5.0 – GPS 控制台 • 可設定GPSID • 看OEM廠商是否支援 • HKEY_LOCAL_MACHINE\ControlPanel\GPS • 將Redirect或Hide的登錄值刪除
.NET CF + GPS API • 以.NET CF開發 • System.Runtime.InteropServices • 呼叫GPS API • GPSOpenDevice • GPSGetDeviceState • GPSGetPosition • GPSCloseDevice
Demo • GPS Info Viewer • Tracker Viewer • .NET CF + OpenNETCF GPS
議程 • GPS介紹 • WM5之GPSID介紹 • 結合電子地圖 • Q&A
電子地圖應用 • PaPaGO! SDK Mobile • 效能佳 • 可靠性高 • 可攜性高 • 多語系支援
PaPaGo! SDK Mobile • 組成元件 • 地圖顯示 • 資料搜尋 • 路徑規劃 • BMPSDK繪圖
PaPaGo! SDK Mobile使用 • IMapObject • LoadProfile • SetImageSize • SetMapBanner • GetMapBitmap • CloseMap
PaPaGo! SDK Mobile使用 • 座標轉換 • PaPaGo! SDK Mobile與GPS採經緯度座標 • 需轉換為PaPaGo! SDK之表示法 • double x = 1000000*(LD.Degree + (LD.Min*60 + LG.Sec) /3600.0) • double = 1000000*(LD.Degree + (LD.Min*60 + LG.Sec) /3600.0)
Demo • PaPaGo! SDK使用 • Pocket PC MAP • 套用GPS資訊
結語 • GPS應用已走向消費性市場 • 結合Windows Mobile平台更容易開發 • 適合搭配企業應用或開發套裝軟體
Q & A 謝謝各位!