Определить были ли два устройства в одной точке

Есть два устройства, предположим телефона, и нужно определить двигалилсь ли они по одному маршруту. У меня есть история перемещений одного из них и информация о положении второго приходит переодично (при необходимости, можно будет писать историю), нужно определить двигаются ли они одновременно по одному и тому же маршруту?

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

Ссылки на статьи, как можно погуглить и т.д., буду очень благодарен. Может есть какие-то средства для наложения маршрутов, всё будет очень кстати.


Ответы (1 шт):

Автор решения: Aziz Umarov

А я вот почему то думаю что нет алгоритма. Возьмём пример движения двух точек по прямой. Показания первой 1,3,4,6,5,8 и второй 2,5,10,7,9. Напомню они обе двигаются по прямой показания разнятся потому что асинхронные. Я упростил сознательно пример. Теперь если усложнять добавить сюда показаний +100 и точность показаний или же ещё чего побольше то можно представить масштаб трагедии. Что делают в таких случаях: берут маршрут двух конкретных точек это у нас ломанные кривые и ишут области пересечения по типу первая точка находилась рядом в окресности маршрута второго. Это как видно тоже не является простой задачей.

Формулы для нахождения точки в окресности какой-то прямой можно найти вот только перебрать варианты точек и прямых будет совсем не весело.

→ Ссылка