Запись вело-треков

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

Воспользовавшись API Яндекс карт по импорту GPX файлов у меня вышла простенькая страничка только с самым важным. Но оказалось, что примерно 30-40% записанного маршрута является недостоверным, либо лишним. Лишнее нужно было отфильтровать, но необходимых инструментов у Яндекса я не обнаружил.

Тогда я изучил запись и оказалось, что GPX файл это обычный XML с последовательным набором точек и свойствами.

PHP класс

Тогда я написал собственный обработчик. И моя простенькая страничка с парой функций обзавелась PHP конструктором с админ-панелью и набором фильтров.

Админка

Работа фильтров

Проблема GPX записей была в том, что во время слабого сигнала со спутниками увеличивалась погрешность местонахождения. Например, в самом начале записи, когда устройство только ищет спутники "можно побывать" в десятке мест в радиусе 50 метров за пол минуты. А во время самой поездки любые остановки на отдых образовывались в неприятный комок точек на одном месте.

Проблему "комков" на местах остановок я решил с помощью контроля дистанции от n'нной точки до проверяемой. За это отвечают 2 параметра в админке "Шаг" и "Радиус".

С недостоверными данными из-за слабого сигнала со спутников всё проще — за это отвечает параметр HDOP в записи. Чем он больше, тем слабее сигнал. Достаточно отсеивать точки с большим значением. Обычно хватает максимального значения 4.5, но если путь лежит через леса, лучше ставить 5.5 или больше.

Например, в следующей записи удалось решить часть этих проблем.

Запись

Дополнительно организовал возможность загружать фотографии к треку с GPS метками. Они встают на места, где сделаны и развовачиваются по клику.

Фотография на карте

Результат обработки уходит в виде JSON файла непосредственно на страницу с картой и визуализируется с помощью стандартных средств рисования в Яндекс API.

Ввиду несовершенности знаний программирования и организации архитектуры приложений, в открытый доступ, например, на GitHub, эту и подобные разработки не выкладываю. Если есть желание использовать или развить мою работу свяжитесь со мной по почте или в ВК.

Подробнее ознакомиться с записями можно перейдя любой из ссылок: Круг под Зеленоградом, Путь на "Горки".