Личный блог — SeekDownhills: Поиск МТБ трейлов
Хочу предствавить вашему вниманию проект, над которым я работал последние несколько месяцев. Встречаем — SeekDownhills — поиск мтб-трейлов.
Я давно использую различные GPS гаджеты и софт. В сети полно ресурсов с расшариваением маршрутов. Я, как и многие, больше люблю кататься вниз, и хочу видеть не столько маршруты, сколько самое интересное на них, а именно — спуски!
На Strava есть Segments Explorer, но, к сожалению, отфильтровать подъемы не представляется возможным. Поиск ограничен десятью треками, гугл карты не дают нужной детализации. Также хочется вменяемой работы на мобильных устройствах в лесу и в оффлайне.
В итоге я написал SeekDownhills. Это веб-приложение на основе данных Strava, позволяющее разведывать трейлы. Впереди большие планы и много работы, но стадия 1.0, я считаю, достигнута. На большом удалении мы видим что-то вроде heat map — регионы с наибольшей концентрацией спусков.
Приближая, видим сами трейлы и базовую статистику — длину, уклон.
Если нажать More, то появится статистика со Strava.
В ближайшее время добавятся комменты и… Много чего еще появится ;)
Ряд приятных фишек:
Фильтр
Нажав Filter Settings, можно настроить свои предпочтения поиска — минимальный уклон, длину, сортировку.
Ссылка на место
Первая кнопка в правом нижнем углу карты показывает ссылку на видимую область, которую можно скопировать и переслать.
Мобильная версия
Архиважная фича для меня — чтобы работало с телефона, используя GPS и компас.
Оффлайн
С учетом того, что в лесу часто нет связи, хорошо бы позаботиться и об этом. Приложение кэширует все, что находит. Соответственно, если пролистать местность, пока есть связь, данные сохранятся. В целом, оффлайн-режим ожидает дальнейшего развития.
Ограничения и особенности
— Оффлайн данные хранятся в рамках сессии. Если закрыть страницу — все удалится. Кеширование карт весьма условно.
— Еще предстоит отфильтровать треки шоссеров. Но, как показывает практика, на деле это не столь большая проблема.
— Дубли. Помимо публичных дорог, нужно что-то сделать с дублями.
— Я активно обновляю код, если что-то не работает, имеет ссмысл обновить страницу, возможно закэшированные браузером скрипты устарели.
Вместо заключения
Проделано немало работы и впереди большие планы. Хорошо бы узнать мнения и пожеляния.
Я давно использую различные GPS гаджеты и софт. В сети полно ресурсов с расшариваением маршрутов. Я, как и многие, больше люблю кататься вниз, и хочу видеть не столько маршруты, сколько самое интересное на них, а именно — спуски!
На Strava есть Segments Explorer, но, к сожалению, отфильтровать подъемы не представляется возможным. Поиск ограничен десятью треками, гугл карты не дают нужной детализации. Также хочется вменяемой работы на мобильных устройствах в лесу и в оффлайне.
В итоге я написал SeekDownhills. Это веб-приложение на основе данных Strava, позволяющее разведывать трейлы. Впереди большие планы и много работы, но стадия 1.0, я считаю, достигнута. На большом удалении мы видим что-то вроде heat map — регионы с наибольшей концентрацией спусков.
Приближая, видим сами трейлы и базовую статистику — длину, уклон.
Если нажать More, то появится статистика со Strava.
В ближайшее время добавятся комменты и… Много чего еще появится ;)
Ряд приятных фишек:
Фильтр
Нажав Filter Settings, можно настроить свои предпочтения поиска — минимальный уклон, длину, сортировку.
Ссылка на место
Первая кнопка в правом нижнем углу карты показывает ссылку на видимую область, которую можно скопировать и переслать.
Мобильная версия
Архиважная фича для меня — чтобы работало с телефона, используя GPS и компас.
Оффлайн
С учетом того, что в лесу часто нет связи, хорошо бы позаботиться и об этом. Приложение кэширует все, что находит. Соответственно, если пролистать местность, пока есть связь, данные сохранятся. В целом, оффлайн-режим ожидает дальнейшего развития.
Ограничения и особенности
— Оффлайн данные хранятся в рамках сессии. Если закрыть страницу — все удалится. Кеширование карт весьма условно.
— Еще предстоит отфильтровать треки шоссеров. Но, как показывает практика, на деле это не столь большая проблема.
— Дубли. Помимо публичных дорог, нужно что-то сделать с дублями.
— Я активно обновляю код, если что-то не работает, имеет ссмысл обновить страницу, возможно закэшированные браузером скрипты устарели.
Вместо заключения
Проделано немало работы и впереди большие планы. Хорошо бы узнать мнения и пожеляния.
-
добавить в избранное
6
- +128
- Мнения
Комментировать
Зарегистрируйтесь или авторизуйтесь. Сделайте что-нибудь.
Комментарии (28)
DenisPoryadin
П.с. уклон лично для меня не воспринимается в %, мне кажется логичнее перепад указывать, ну или выбирать то или это.
dinjaa
Хорошая мысль. Спасибо!
Местность, где я катаю, не славится большими перепадами, поэтому я выбираю треки по крутизне. 15-20% означает наличие приличных съезжалок.
pasho
monster_pro
з.ы. почему то не показывает один мз моих участков — трейлов
ZoozR
pasho
icanpissgasoline
pasho
raabdullaev
repkin
SergeyVolkov
Удачи в развитии проекта, если будут какие вопросы — пиши.
Saga
— Да, с уклоном не все так просто. Сегодня на 10% лайтке напоролись на съезжалки достойные мирового кубка. Наверное, надо искать максимальный уклон. Не хочется сильно перегружать параметрами. Весь смысл — показать сложность. Большой средний уклон косвенно указывает на жесть, но в настоящий момент, метрика хромает. Я бы хотел ввести цветовые грейды, как в байк-парках — синие, красные, черные.
— Очень интересно.
— Согласен.
— Да, Open Cycle Map — не самый лучший рендер, но наиболее детальный. Слишком делатльный, это отвлекает. Когда я показываю прогу кому-то постороннему в первый раз, начинаются распросы — «а что это за жирная синяя линия». Спасибо за идею!
pasho
pasho
Будет ли возможность добавалять свои трейлы?
Vados
pasho
Одназначно в закладки!
Всетаки с перепадом высоты было бы информативнее,(% тоже оставить) но есть одно но, при частых подьемах и спусках страва их нещадно режет до прямой линии, и соответственно перепад высоты с большими погрешностями получается :( Проверено на наших трейлах другими программами и на разных устройсвах.
Это из за особенностей программы. Данные по высоте она берет не с GPS, а накладывает трек на карту высот, и он на нашей территроии с шагом в 50 метров Учитывая что у нас не горы, где такими мелочами можно было пренебречь, погрешность получалась до 20%
monster_pro
pasho
-кеширование в пределах сессии очень спорно, потому что лично я использую 4 аккумулятора для телефона
Постарайся реализовать фильтры на тип треков. Понимаю что для импорта из стравы это не сработает, но то что пользователи будут заливать на твой ресурс можно будет отфильтровать.
SERG
monster_pro
Серж, я хочу добавить что-то вроде тегов, чтобы пользователи сами могли дополнять информацию, помечая треки. Например, указывать, что на треке есть дропы, съезжалки. Мне очень хочется иметь метрику, говорящюю о техничности/сложности.
pasho
А реально ещё прикрутить опцию по поиску подъёмов?! :)
Из комментов — мне кажется, всё же лучше писать градиент со знаком "-" даже, если подъёмов никогда и не будет в сервисе. Позволит избежать лишних вопросов/мыслительных операций на первой минуте пользования.
Techno
1) Ссылки на Leaflet недостаточно, надо указывать копирайт на OpenStreetMap, а в случае с OpenCycleMap — ещё и на его создателя Энди Аллана (см. openstreetmap.org/copyright и www.thunderforest.com/terms).
2) Данные, как я понял, берутся со Стравы и только со Стравы. В результате в Тольятти у портпосёлка нам предлагают прокатиться по тротуару и затем перейти дорогу по пешеходному переходу: www.seekdownhills.com/#lat=53.474969999548556&lon=49.374017715454094&zoom=15 при том, что в паре сотен метров находится шикарная кросс-кантрийная карта (много тропинок на карте — это она) и небольшая съезжалка для даунхилльщиков (синяя линия чуть правее). В связи с этим п.3:
3) Рекомендую помимо Стравы брать информацию с OpenStreetMap, благо исходниками карты можно пользоваться бесплатно. Выдёргивать нужные данные можно, например, при помощи Overpass API, вот я сделал маленький пример для описываемого случая: overpass-turbo.eu/s/aRN (нажми кнопочку Старт вверху). Данный запрос возвращает все линии с тэгом mtb:scale, который картографы обычно ставят на пригодных для МТБ тропах и трассах. Нравда не всегда: иногда ставят просто дурацкий тэг bicycle=yes, так что запрос надо разработать с учётом того, какие тэги реально используются картографами. Вверху на вкладке «Данные» есть все координаты полученных в результате запроса точек и линий. Формат выбирается — XML, JSON, CSV. Данные как можно скачать массово (не знаю, даст ли это сделать данный сайт, возможно надо поискать другие сервисы по массовому выкачиванию данных), либо делать запросы к Overpass API для каждой области при прокрутке карты. Но число запросов ограничено, почитай условия использования. Ну и на форуме OpenStreetMap есть русскоязычный раздел, где можно позадавать вопросы при возникновении проблем.
На Страве указанные мною трассы может когда-нибудь и появятся, а может не появятся. А на OpenStreetMap они есть уже сейчас, их можно и нужно брать и использовать. Рекомендую исследовать данный вопрос. Такие дела.
romanshuvalov
Да, OSM дико крутой проект. На мой взгляд это как Linux. Я собираюсь использовать overpass для чистки базы от треков по дорогам.
Использование других источников вполне возможно в будущем. Моя первая версия работала на базе треков с Gpsies, но потом я проникся стравой.
pasho
pasho
Deon
Да, данные еще чистить и чистить.
pasho
vk.com/tazhate
tazhate