0

Google Timeline показывает очень хорошую сегментацию моей истории местоположений. Он четко определяет периоды времени (т. Е. Сегменты), в которых я находился в одном месте, и периоды времени, в которые я переместился из одного места в другое, - игнорируя дрожание, которое происходит из-за неточности GPS и небольших движений.Временная шкала Google Maps - Как работает алгоритм сегментации?

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

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

Спасибо!

ответ

0

Возможно, вам нужен только простой фильтр и порог.

  1. Отфильтровать данные. Возьмите среднее положение за последние 10 минут.
  2. Порог: если позиция изменена более чем на, например, 50 метров, подумайте о том, чтобы пользователь двигался.
  3. Фильтр снова: удалите слишком короткий или неподвижный интервал.

O (n) по сложности, так же хорошо, как и получается.

Смежные вопросы