Нахождение декартовых координат другого смартфона?

Учитывая, что у меня есть два смартфона, A и B. Если я держу смартфон A, есть ли способ определить местоположение B по отношению к себе?

Итак, если бы у нас была ситуация с этим изображением:

декартовы координаты:

это скажет мне, что B находится в положении (2, 1).

Изобретательские методы, такие как использование силы сигналов Wi-Fi для определения местоположения, более чем приветствуются. Могу ли я также определить, есть ли стена между двумя телефонами?

2 ответа

Решение

Насколько я понимаю, сигналы Bluetooth и Wi-Fi движутся радиальной волной во всех направлениях - поэтому, хотя вы можете измерить расстояние между двумя терминалами, я сомневаюсь, что это даст вам правильное значение, так как это может либо находиться на вашей "стороне" круглой области, либо на другой равноудаленности от источника сигнала.

Хотя GPS может быть очевидным решением, поскольку он обеспечивает именно то, что вы ищете, я не уверен, если вы включите это в качестве опции. Как только вы получите два набора координат для устройств, нужно рассчитать смещение (N/S и E/W) от устройства 1.

Это заставляет меня задуматься о точности, которую дает GPS, учитывая, что вы включили в вопрос тег Bluetooth, а радиус действия Bluetooth составляет около 15-30 футов (тип 2-3), а погрешность GPS составляет 25-35 футов, это тоже не может быть хорошо.

Если вам удастся установить соединение (Bluetooth) между двумя устройствами, вы уже знаете, в каком диапазоне вы находитесь, но не в каком направлении. Вы можете получить показатель силы сигнала от Android 2.1: Как я могу опрашивать значение RSSI существующего соединения Bluetooth? но опять же, я не уверен, как определить, в каком направлении пользователь относительно вас, насколько он близок в любом направлении. Черт, другое устройство может быть над вами или под вами, и вы получите практически то же значение, что и рядом с вами, при равных расстояниях.

Это все на "статическом" подходе, то есть оба устройства являются стационарными. Однако, если вы измеряете это значение, а затем делаете шаг влево и повторно измеряете, вы можете определить, находитесь ли вы ближе или дальше от источника, поэтому с помощью небольшого метода проб и ошибок одного из перемещающихся устройств вы можете определить Относительное положение, однако это может оказаться бесполезным для вас, так как вам нужно будет либо вручную сообщить телефону, что вы переместились влево, либо измерить или использовать что-то более сложное, например, мониторинг акселерометра телефона, который может определить телефон переместился и отобразил силу сигнала.

Я схожу с ума? Наверное.

Насколько мне известно, пока нет ответа, только мысли. В зависимости от того, что будет делать приложение, могут быть другие жизнеспособные подходы. Это мой ответ, так что, надеюсь, кто-то еще сможет прочитать его и придумать более сложный ответ, а не грохочущие мысли.

Если расстояние от A до B превышает несколько метров, то, если вы можете получить местоположение GPS обоих A и B, вы можете легко рассчитать расстояние и расстояние между ними, используя Location.distanceTo() и Location.bearingTo() методы.

В зависимости от физической среды, вероятно, что два GPS, которые физически расположены близко друг к другу, будут использовать одни и те же спутники для расчета, и что ошибки будут одинаковыми в обоих. Поэтому в некоторых случаях использование GPS может работать на небольших расстояниях.

Другие вопросы по тегам