2012-01-17 85 views
3

基于可用的Location字段,浮点精度似乎是确定GPS位置有多好的主要领域,而不考虑时间戳。我想知道从NMEA数据(我认为它是$ GPGGA)还是通过LocationManager.getGpsStatus解析卫星的数量也是有帮助的。如何过滤高精度GPS位置?更具体地说,我也有兴趣知道:GPS卫星数量和位置过滤

  • 卫星数量越多,修复效果越好?我知道卫星的最低数量是4,但是可以说有8个卫星的修复比6个卫星的修复好得多?
  • 准确性字段中是否包含sats的数量?
  • 互联网上的一些页面提到一个重要的参数是DOP(稀释精度)。似乎它出现在$ GPGSA NMEA句子中。这个句子在Android中可用吗?此外,哪些NMEA句子保证在Android中可用?

谢谢。

回答

4

卫星数量越多,修复效果越好?我知道卫星的最低数量是4,但是可以说有8个卫星的修复比6个卫星的修复好得多?

完全取决于GPS芯片组和运行在其上的代码。通常是的,更多的卫星意味着更好的预测。

互联网上的一些网页提到一个重要的参数是DOP(稀释精度)。似乎它出现在$ GPGSA NMEA句子中。这个句子在Android中可用吗?此外,哪些NMEA句子保证在Android中可用?

是的NMEA句子在Android中可用。现在NMEA标准非常庞大,所以大多数GPS芯片组只支持NMEA的一小部分。我不能保证任何东西,但我发现GGA,RMC,GSV,GST和GSA是最受欢迎的。我所使用的芯片组大部分都是VDOP和HDOP。

看来你想提高你的GPS修复的准确性?为什么不使用加速度计,陀螺仪,方向和其他传感器(甚至是晴雨表/ Wifi RSSI) - 或 - Kalman filtering。 Google地图可以做到这一点,以提高准确性。

如何过滤高精度GPS位置?

这是科学在进步,得到一个完美的GPS位置做困难的事情,因为那改变,考虑到我们与dumbed down民用数据工作的事实变量的数量。

+0

“为什么不使用加速度计,陀螺仪,方向和其他传感器......”这些参数如何帮助评估位置?但是,我知道速度和加速度可能对预估有用,但我并未考虑导航应用程序。我正在考虑如何仅使用GPS芯片组接收的数据来评估位置。 – 2012-01-17 14:06:31

4

答案很简单,使用HDOP值。
hdop越小,精度越好。 (但没有保证,就像所有的GPS一样)
卫星的数量并没有多大帮助,忽略它们。 (卫星星座更重要,用DOP和HDOP表示)
使用hdop < 5,并且忽略低于特定速度阈值的所有修正(例如,g 5km/h)
此外,您只能使用类型为“3D-fix”的修复程序。你可以在NMEA的基本信息中找到。 (RMC,GSA,GGA)

不要使用陀螺仪,测速仪,这对您和我以及大多数人来说可能会有很大的帮助。