【问题标题】:Finding the cartesian coordinates of another smartphone?寻找另一部智能手机的笛卡尔坐标?
【发布时间】:2012-05-10 22:07:43
【问题描述】:

考虑到我有两部智能手机 A 和 B。如果我拿着智能手机 A,有没有办法确定 B 相对于我自己的位置?

所以如果我们有这张图片的情况:

:

它会告诉我 B 在位置 (2, 1)。

使用 wifi 信号强度获取位置等创造性方法更受欢迎。我也可以确定两部手机之间是否有墙?

【问题讨论】:

  • 没有。除非您对不准确的 GPS 位置感到满意。也许第三部手机可以实现更多功能,因此您可以进行一些三角测量
  • @b2238488:你有没有找到解决这个问题的方法或想法?

标签: android iphone bluetooth gps smartphone


【解决方案1】:

据我了解,蓝牙和 Wi-Fi 信号都以径向波向各个方向移动 - 所以虽然您可以测量两个终端之间的距离,但我怀疑这会给您一个正确的读数,因为它可能位于圆形区域的“一侧”,也可能位于与信号源等距的另一侧。

虽然 GPS 可能是显而易见的解决方案,因为它可以提供您正在寻找的东西,但我不确定您是否将其作为一个选项。一旦获得设备的两个坐标集,就可以计算设备 1 的偏移量(N/S 和 E/W)。

这让我想到了 GPS 给出的准确性,考虑到您在问题中包含了蓝牙标签,并且由于蓝牙的范围约为 15-30 英尺(类型 2-3)并且 GPS 有错误25-35 英尺的边距,这也可能不好。

如果您确实设法在两台设备之间建立连接(蓝牙),那么您已经知道您在那个范围内,但不知道在哪个方向。您可以从Android 2.1: How do I poll the RSSI value of an existing Bluetooth connection? 获得信号强度测量值,但是我再次不确定如何检测用户相对于您的哪个方向,以及他在任何方向上的距离。该死的,其他设备可能在您的上方或下方,并且在距离相等的情况下,您将获得与您旁边的读数几乎相同的读数。

这都是“静态”方法,这意味着两个设备都是静止的。但是,如果您测量该值,然后向左侧迈出一步并重新测量,您可以判断您是离源更近还是更远,因此通过对其中一个设备的移动进行一些试验和错误,您可以确定一个相对位置,但这可能对您没有用,因为您要么需要手动告诉手机您向左移动并重新测量,要么使用更复杂的东西,例如监控手机的加速度计,它可以告诉手机的方向手机移动并映射信号强度。

我是不是疯了? 可能

就我目前而言,没有答案,只是想法。根据应用程序将执行的操作,可能还有其他可行的方法。这是我的脑残答案,希望其他人可以阅读并提出更详尽的答案,而不是胡思乱想。

【讨论】:

    【解决方案2】:

    如果从 A 到 B 的距离超过几米,那么如果您可以获取 A 和 B 的 GPS 位置,您可以使用 Location.distanceTo() 和 Location 轻松计算它们之间的距离和方位。 BearingTo() 方法。

    根据物理环境,物理上靠得很近的两个 GPS 可能会使用相同的卫星进行计算,并且两者的误差相似。所以在某些情况下,使用 GPS 可能适用于小距离。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-13
      • 2017-11-27
      • 1970-01-01
      相关资源
      最近更新 更多