找到另一部智能手机的笛卡尔坐标?

时间:2012-05-10 22:07:43

标签: android iphone bluetooth gps smartphone

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

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

cartesian coordinates

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

使用wifi信号强度来获取位置的创新方法更受欢迎。我还可以确定两部手机之间是否有隔墙?

2 个答案:

答案 0 :(得分:3)

据我了解,蓝牙和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?获得信号强度测量值,但是我不知道如何检测用户相对于您的方向,以及他在任何方向上的接近程度。地狱的另一个设备可能在你的上方或你的下方,你可以得到几乎与你相同的阅读距离。

这都是“静态”方法,这意味着两个设备都是固定的。但是,如果您测量该值然后向左移动并重新测量,则可以判断您是否距离源更近或更远,因此只需稍微尝试移动其中一个设备即可确定相对位置,这可能对你没用,因为你需要手动告诉手机你向左移动并重新测量或使用更复杂的东西,如监控手机的加速度计,这可以告诉你的方向是什么电话移动并映射信号的强度。

我是否会失去理智?的可能

就我现在而言,没有答案,只是想法。根据应用程序的用途,可能还有其他可行的方法。这是我的脑力转储答案,所以希望其他人可以阅读它并提出更精细的答案而不是隆隆的想法。

答案 1 :(得分:0)

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

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