根据可用的Location
字段,浮动精度似乎是确定GPS位置有多好的主要字段,而不考虑时间戳。我想知道从NMEA数据(我认为是$ GPGGA)或通过LocationManager.getGpsStatus
解析卫星数量是否也有帮助。您如何过滤高精度GPS位置?更具体地说,我也有兴趣知道:
感谢。
答案 0 :(得分: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。谷歌地图这样做是为了提高准确性。
如何过滤高精度GPS位置?
这是一项正在进行中的科学研究,由于变量的数量发生了变化并考虑到我们正在使用dumbed down民用数据这一事实,因此获得完美的GPS位置很难做到。
答案 1 :(得分:4)
答案很简单,使用HDOP值
hdop越小,精度就越高。 (但是没有任何保证,就像GPS的所有事情一样)
卫星的数量没有多少帮助,忽略它们。 (卫星星座更重要,用DOP和HDOP表示)
使用hdop< 5,并忽略低于特定速度阈值(例如5km / h)的所有修正
此外,您只能使用“3D-fix”类型的修复程序。您会在基本的NMEA消息中找到所有内容。 (RMC,GSA,GGA)
不要使用陀螺仪,accelormeter,这对你和我以及大多数其他人来说可能会有很多工作。