Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> Android模擬GPS數據生成kml和nmea文件

Android模擬GPS數據生成kml和nmea文件

編輯:初級開發

在android平台上開發可能沒有真機的時候,我們通過DDMS中載入KML或NMEA文件來模擬生產數據,使用方法參考 新版ADT插件讓android開發更人性化 一文,最終這兩個文件加載到/data/misc/location/gps/nmea或/data/misc/location/gps/kml/

一、KML文件其實是一個XML文件,我們看下KML文件結構

<?XML version="1.0" encoding="UTF-8"?>
<kml XMLns="http://earth.google.com/kml/2.2">
<Document>
<name>1065 Brea Mall, Brea, CA 92821.kml</name>
<StyleMap id="default_copy0+nicon=/School/UploadFiles_7810/201106/20110630123629854.png">
<Pair>
<key>normal</key>
<styleUrl>#default_copy0+icon=/School/UploadFiles_7810/201106/20110630123630798.png</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#default_copy0+icon=/School/UploadFiles_7810/201106/20110630123630597.png</styleUrl>
</Pair>
</StyleMap>
<Style id="default_copy0+icon=/School/UploadFiles_7810/201106/20110630123630597.png">
<IconStyle>
<scale>1.1</scale>
<Icon>
<href>/School/UploadFiles_7810/201106/20110630123630597.png</href>
</Icon>
</IconStyle>
<LabelStyle>
<scale>1.1</scale>
</LabelStyle>
</Style>
<Style id="default_copy0+icon=/School/UploadFiles_7810/201106/20110630123630798.png">
<IconStyle>
<Icon>
<href>/School/UploadFiles_7810/201106/20110630123630798.png</href>
</Icon>
</IconStyle>
</Style>
<Placemark>
<name>1065 Brea Mall, Brea, CA 92821</name>
<address>1065 Brea Mall, Brea, CA 92821</address>
<LookAt>
<longitude>-117.883593</longitude>
<latitude>33.916991</latitude>
<altitude>0</altitude>
<range>1000</range>
<tilt>0</tilt>
<heading>0</heading>
</LookAt>
<styleUrl>#default_copy0+nicon=/School/UploadFiles_7810/201106/20110630123629854.png</styleUrl>
<Point>
<coordinates>-117.883593,33.916991,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

二、NMEA協議就是常規的GPS數據,通過串口直接獲取到的,如下

$GPRMC,003347.000,A,3725.3433,N,12205.7920,W,0.08,149.46,061007,,,D*70
$GPRMC,003348.000,A,3725.3433,N,12205.7921,W,0.05,142.51,061007,,,D*7E
$GPRMC,003349.000,A,3725.3432,N,12205.7921,W,0.08,159.56,061007,,,D*7E
$GPRMC,003350.000,A,3725.3432,N,12205.7921,W,0.06,151.59,061007,,,D*7F
$GPRMC,003351.000,A,3725.3432,N,12205.7921,W,0.20,120.57,061007,,,D*72

  實例:

 

  解析方法:

 RMC = Recommended Minimum Specific GPS/TRANSIT Data

$GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,ddmmyy,x.x,a*hh

1 = UTC(universal time, coordinated) of position fix
2 = Data status (A=good, V=navigation receiver warning)
3 = Current Latitude
4 = North/South in Latitude Hemisphere
5 = Current Longitude
6 = East/West in Longitude Hemisphere
7 = Speed over ground in knots
8 = (Direction of travel N:0°, E:90°, S:180°, W:270°)
9 = UT DateStamp
10 = Magnetic variation degrees (Easterly var. subtracts from true course)
11 = East/West
12 = Checksum

 

$GPRMC,003347.000,A,3725.3433,N,12205.7920,W,0.08,149.46,061007,,,D*70

Parts:
1:   003347.000  -->   0:33 am 47 seconds 0 milliseconds (UTC(universal time, coordinated) of position fix)
2:   A           -->   Status is ok   (Data status (A=good, V=navigation receiver warning))
3:   3725.3433         (North/South in Latitude Hemisphere)
4:   N           -->   North   (North/South)
5:   12205.7920        (Current Longitude)
6:   W           -->   West   (East/West in Longitude Hemisphere)
7:   0.08        -->   0.08 knots/second (Direction: North/West)   (Speed over ground in knots)
8:   149.46      -->   sth. like SouthEast (Direction of travel  N:0°, E:90°, S:180°, W:270°)
9:   061007      -->   6th October, 2007  (UT(universal time) DateStamp)
10:  <empty>           (Magnetic variation degrees (Easterly var. subtracts from true course))
11:  <empty>           (East/West)
12:  D*70              (Checksum)
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved