【问题标题】:Can I get Android GPS information with very few satellites?我可以用很少的卫星获取 Android GPS 信息吗?
【发布时间】:2011-09-01 01:38:47
【问题描述】:

使用 GPS 应用程序时,我发现在车内我可能会收到 3 颗信号质量较差的卫星。 GPS永远不会锁定,因此需要GPS的任何东西都不会起作用。 GPS 应用程序说它的精度为 0 英尺,这意味着需要 GPS 的应用程序永远不会收到成功的 GPS 信号通知。

在应用程序中,当信号质量低时,有什么方法可以获取非常粗略的 GPS 信息?如果我能做的只是粗略的速度和方向,我正在编写的应用程序会很好地工作。我不需要精确的信息。

我知道我可以使用手机信号来获取位置信息,但这些信息对于获取速度和方向毫无用处。我找不到任何使用加速度计获取粗略信息的示例代码,但即使我这样做了,它也只有在汽车停止时启动应用程序时才有效(因此它可以检测到加速度)。

如果我能得到一个非常粗略的信号,我应该能够计算速度和方向,但似乎没有办法为此注册监听器。

【问题讨论】:

  • 据我所知,3 可以让您大致了解位置,但至少需要 4 才能精确定位。

标签: android gps


【解决方案1】:

要获得速度,只有 GPS_PROVIDER 可以提供帮助。您所能做的就是将 minTime 和 minDistance 设置为 0。即 requestLocationUpdates (LocationManager.GPS_PROVIDER, 0, 0, listener) 不要设置任何标准。这将充分利用您的 android 中的 GPS 硬件芯片。然而,这会更快地耗尽电池。我观察到,在获得第一次 GPS 定位后,即使您在房间内稍微移动一点,GPS 更新流程仍会继续,否则它将永远无法获得修复。关于在运动时获得方向,如果您知道车内设备的位置,您可以考虑跟踪加速度计读数,并在方向监听器的帮助下检查哪个axis 您得到更多的抽搐,那么这将给你运动的方向。

【讨论】:

    【解决方案2】:

    从技术上讲,如果您可以从 3 颗卫星接收到正常的信号,您就可以解决问题。我不确定 Android 上是否启用了这种低质量的修复,但这是可能的。

    关于加速度计,它不够准确,无法了解方向。如果有振动的话,你会发现噪音太大。

    也许您应该与车辆顶部的蓝牙 GPS 连接。

    【讨论】:

      【解决方案3】:

      我不知道有什么方法可以获得“低质量”信号。在我自己的应用程序中,我注意到一旦我有 6-7 颗以上的卫星,GPS 通常会收到第一次修复,但这可能会有所不同(我从未见过只有 3 颗的修复)。

      您真的无法根据连接的卫星数量来确定您是否有解决方案。

      【讨论】:

        【解决方案4】:

        我认为您需要四颗卫星才能获得正确的 GPS 读数(GPS 方程中的每个变量对应一颗),但市场上的许多 Android 设备都可以使用磁力计。如果你校准它(在 8 字形中挥动 4 或 5 个周期),你可以使用“指南针”获得非常准确的方向确定。

        除了使用 GPS,我不知道任何计算速度的技术。

        【讨论】:

        • 从技术上讲,您需要四颗卫星才能获得准确的 GPS 定位。在实践中,您可以通过假设地球是第四颗卫星并假设接收器在地表上来获得粗略的解决方案。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多