Android模拟GPS数据生成kml和nmea文件 Android开发技术

2013 年 3 月 19 日

在Android平台上开发可能没有真机的时候,我们通过DDMS中载入KML或NMEA文件来模拟生产数据,使用方法参考 新版ADT插件让Android开发更人性化 一文,最终这两个文件加载到/data/misc/location/gps/nmea或/data/misc/location/gps/kml/

一、KML文件其实是一个XML文件,我们看下KML文件结构

1065 Brea Mall, Brea, CA 92821.kml

normal

#default_copy0+icon=http://maps.google.com/mapfiles/kml/pal3/icon60.png

highlight

#default_copy0+icon=http://maps.google.com/mapfiles/kml/pal3/icon52.png

1.1

http://maps.google.com/mapfiles/kml/pal3/icon52.png

1.1

http://maps.google.com/mapfiles/kml/pal3/icon60.png

1065 Brea Mall, Brea, CA 92821

1065 Brea Mall, Brea, CA 92821

-117.883593

33.916991

0

1000

0

0

#default_copy0+nicon=http://maps.google.com/mapfiles/kml/pal3/icon60.png+hicon=http://maps.google.com/mapfiles/kml/pal3/icon52.png

-117.883593,33.916991,0

二、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:             (Magnetic variation degrees (Easterly var. subtracts from true course))

11:             (East/West)

12:  D*70              (Checksum)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐