Задать вопрос
@Stalinko
PHP'шник и фрилансер до мозга костей

Как нарисовать ровный маршрут на карте, имея большое количество GPS-координат с ошибками?

Мы разрабатываем мобильное приложение, одна из функций которого - отслеживание маршрута пользователя. Приложение просто посылает координаты на сервер, когда пользователь перемещается.
Затем встаёт главная проблема - как по этим координатам нарисовать ровный маршрут на карте?
Если просто соединить все точки по порядку, то имеем 2 проблемы:

1. Слишком много точек. Эта проблема решается с помощью алгоритмов симплификации кривой, например RDP.
2. GPS не идеален, и иногда ошибка может быть 100-200 метров. В итоге на карте появляются зигзаги, петли и прочие некрасивые вещи, хотя очевидно человек просто двигался по прямой.

Пример:
5b5f180d110c5849571407.png

черное - если просто соединить точки по порядку
красное - примерно то, что требуется

Вопрос: может ли кто-то подсказать нужный алгоритм или хотя бы дать совет, куда копать? Интересует именно возможность сглаживания ошибок.
  • Вопрос задан
  • 2354 просмотра
Подписаться 10 Средний 13 комментариев
Ответ пользователя boss_lexa К ответам на вопрос (7)
Комментировать