3

根据可用Location字段,浮动精度似乎是确定 GPS 位置好坏的主要字段,而不考虑时间戳。我想知道从 NMEA 数据(我认为是 $GPGGA)或通过LocationManager.getGpsStatus. 如何过滤高精度 GPS 位置?更具体地说,我也有兴趣知道:

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

谢谢。

4

3 回答 3

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) - 或 -卡尔曼滤波。谷歌地图这样做是为了提高准确性。

如何过滤高精度 GPS 位置?

这是一项正在进行的科学,要获得完美的 GPS 位置是困难的事情,因为变量的数量会发生变化,并且考虑到我们正在使用简化的民用数据这一事实。

于 2012-01-17T13:27:25.950 回答
4

答案很简单,使用 HDOP 值。
hdop越小,准确度应该越高。(但没有保证,就像所有有 GPS 的东西一样)
卫星的数量没有多大帮助,忽略它们。(卫星星座更重要,以 DOP 和 HDOP 表示)
使用 hdop < 5,并忽略低于某个速度阈值(例如 5km/h)的所有修复
此外,您只能使用类型为“3D-使固定”。您可以在基本的 NMEA 消息中找到所有这些。(RMC、GSA、GGA)

不要使用陀螺仪、加速度计,这对你我和其他大多数人来说可能会有很多工作。

于 2012-03-17T00:35:26.760 回答
1

精度稀释 (DOP) 值基于卫星几何形状。如果您的 GPS 使用的是一组在天空中靠得很近的卫星,您将获得比使用分布更广的卫星更高的 DOP 值。DOP 值越低,修复越准确。见https://en.wikipedia.org/wiki/Dilution_of_precision_(navigation)

于 2017-11-27T23:17:30.103 回答