如何在Android上获取DOP

时间:2013-01-21 03:58:34

标签: android gps

是否有可能获得Android手机内GPS接收器的DOP(位置水平稀释)?过去使用GPS接收器我发现卫星的数量和DOP在确定信号的准确度和误差方面有很大帮助。我正在编写一个应用程序,如果可能的话,我希望有关于GPS阅读的额外元数据。我知道我可以通过遍历getSatellites列表获得卫星数量,但我还没有发现任何能够提供DOP或某些错误解决方案的东西。

有关DOP的更多信息,请访问here

1 个答案:

答案 0 :(得分:1)

你不能从NMEA字符串中获取DOP吗?

NMEA Listner

特别是GGA字符串

GPS string reference

编辑我继续测试代码 来自NMEA听众的输出是

01-21 16:54:34.446: D/GPS(31835): Location[gps -xx.350320,xxx.764615 acc=15 et=+2d7h44m55s515ms alt=-57.70001220703125 vel=0.37530002 bear=350.0 {Bundle[mParcelledData.dataSize=44]}]
01-21 16:54:35.423: D/GPS(31835): $GPGSA,A,3,05,18,21,25,29,31,,,,,,,2.1,1.2,1.7*35
01-21 16:54:35.423: D/GPS(31835): $GPGSV,2,1,07,25,56,055,22,29,56,156,21,21,45,315,18,31,33,246,17*78
01-21 16:54:35.423: D/GPS(31835): $GPGSV,2,2,07,05,22,111,15,30,11,213,11,18,08,001,12*4E
01-21 16:54:35.446: D/GPS(31835): $GPGGA,xxxx38.000,xxx1.019145,S,xxx45.876838,E,1,06,1.2,-27.1,M,-29.7,M,,*7A
01-21 16:54:35.446: D/GPS(31835): $GPRMC,xxxx38.000,A,xx21.019145,S,xxxx45.876838,E,0.9,8.2,210113,,,A*76

请注意,HDOP可以在GPGSA& GPGGA字符串 对于这些字符串,它是1.2

$GPGGA,xxxx38.000,xxx1.019145,S,11545.876838,E,1,06,**1.2**,-27.1,M,-29.7,M,,*7A
$GPGSA,A,3,05,18,21,25,29,31,,,,,,,2.1,**1.2**,1.7*35