android - 计算附近另一部Android手机的相对位置

标签 android geolocation gps location

我正在尝试找出确定另一部 Android 手机相对位置(它与我的位置相比)的最佳方法。这些手机将位于 WifiP2P 范围内,因此它们可以相互通信。如果可能的话,我希望它能够离线。我想到了几个可能的解决方案:

解决方案1:

在两台设备中使用 GPS 并进行比较。

问题:

  • 我可以离线使用 GPS 吗?
  • 如果两个设备位于附近区域,GPS 误差是否会相同(或相似)?
  • 这会在室内带来问题吗?

解决方案 2:

根据 WifiP2P 信号强度计算我的相对位置。

问题:

  • 如何计算这个相对位置? (考虑过诸如三角测量之类的东西,但移动手机以获得 3 个或更多不同的信号)
  • 有 WifiP2P 的 getRssi() 函数吗(我还没有找到)?
  • 我可能还需要检查其他设备的移动情况。
  • 我了解到,使用加速度计计算位置变化并不是很准确。

对此或任何其他可能的解决方案有什么想法吗?

如果离线没有“好的”解决方案,您在线上会建议什么?网络位置提供商在附近的设备上是否会出现相同(或类似)的错误?

最佳答案

如果您有两个适当的 GPS 接收器跟踪 8 个或更多卫星,则在本地区域看到的 GPS 误差实际上几乎完全相同。其想法是,由于大气条件,接收到的每个 GPS 卫星信号都会产生与之相关的误差,因此,如果您在已知的某个位置设置了接收器,则可以计算出与给出已知位置应有的信号定时差异,并将这些作为校正发送到移动 GPS 接收器,以便在 50 厘米左右的范围内进行精确的移动定位(水平,垂直1m左右)

这就是 RTCM 信标用于沿海 GPS 校正的工作原理。 - 但话虽如此,手机 GPS 芯片无法获取那么多卫星数据,因此通常依赖于有限的卫星接收,并通过网络校正数据以及网络级定位来帮助种子计算……这不是因此,电话与电话之间可重复,并且取决于每部电话所看到的内容以及它们所使用的网络。

WIFI信号强度会随着超过实际点对点距离的区域内的信号反射和干扰而变化。

我认为您遇到了一个很难解决的问题。玩得开心!

关于android - 计算附近另一部Android手机的相对位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9867982/

相关文章:

android - 网络位置提供商不提供位置android

android - 捕获发送到 Google 语音识别服务器的音频

java - 如何在 Android 上建立异步 URL 连接?

android - 从库模块访问特定于 buildVariant 的 gradle 属性(例如发行说明)的最佳实践

javascript - Kindle Fire 中的 Webview 浏览器

ios - 后台服务问题: App crush when using geolocator

r - 街道地址到地理定位纬度/经度

file - 使用 RTKLib 处理 GLONASS 数据时出现问题

android - GPS 在模拟器上工作,但在设备上不工作

使用 GPS 的 iOS 在图像上显示蓝点?