Личный блогSeekDownhills: Поиск МТБ трейлов

Хочу предствавить вашему вниманию проект, над которым я работал последние несколько месяцев. Встречаем — SeekDownhills — поиск мтб-трейлов.

Личный блог: SeekDownhills: Поиск МТБ трейлов

Я давно использую различные GPS гаджеты и софт. В сети полно ресурсов с расшариваением маршрутов. Я, как и многие, больше люблю кататься вниз, и хочу видеть не столько маршруты, сколько самое интересное на них, а именно — спуски!

На Strava есть Segments Explorer, но, к сожалению, отфильтровать подъемы не представляется возможным. Поиск ограничен десятью треками, гугл карты не дают нужной детализации. Также хочется вменяемой работы на мобильных устройствах в лесу и в оффлайне.

В итоге я написал SeekDownhills. Это веб-приложение на основе данных Strava, позволяющее разведывать трейлы. Впереди большие планы и много работы, но стадия 1.0, я считаю, достигнута. На большом удалении мы видим что-то вроде heat map — регионы с наибольшей концентрацией спусков.

Личный блог: SeekDownhills: Поиск МТБ трейлов

Приближая, видим сами трейлы и базовую статистику — длину, уклон.

Личный блог: SeekDownhills: Поиск МТБ трейлов

Если нажать More, то появится статистика со Strava.

Личный блог: SeekDownhills: Поиск МТБ трейлов

В ближайшее время добавятся комменты и… Много чего еще появится ;)

Ряд приятных фишек:

Фильтр

Нажав Filter Settings, можно настроить свои предпочтения поиска — минимальный уклон, длину, сортировку.

Личный блог: SeekDownhills: Поиск МТБ трейлов

Ссылка на место

Первая кнопка в правом нижнем углу карты показывает ссылку на видимую область, которую можно скопировать и переслать.

Личный блог: SeekDownhills: Поиск МТБ трейлов

Мобильная версия

Архиважная фича для меня — чтобы работало с телефона, используя GPS и компас.

Личный блог: SeekDownhills: Поиск МТБ трейлов

Оффлайн

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

Ограничения и особенности

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

Вместо заключения

Проделано немало работы и впереди большие планы. Хорошо бы узнать мнения и пожеляния.

Комментарии (28)

0
Круто!
avatar

DenisPoryadin

+8
Дружище, я уже готов платить деньги за прогу!!!
П.с. уклон лично для меня не воспринимается в %, мне кажется логичнее перепад указывать, ну или выбирать то или это.
Последний раз редактировалось
avatar

dinjaa

0
Мне нравится такой подход ;)
Хорошая мысль. Спасибо! 
Местность, где я катаю, не славится большими перепадами, поэтому я выбираю треки по крутизне. 15-20% означает наличие приличных съезжалок. 
avatar

pasho

+7
В нашей местности, тоже не большие перепады, однако при общем градиенте на участке в 10 %, есть там места и с 45%. Просто трэйл преимущественно вниз, но кое где надо покрутить, и это не в напряг, а даже в кайф. Крутильные участки не длинны, а вот общая протяжонность трейла возрастает. Вот по этому я считаю и нужен перепад (набор и сброс высот) в купе с длинной трассы и градиентом.  Только по этим трем показателям можно получить более реальное представление.
Последний раз редактировалось
avatar

monster_pro

0
Идея отличная :)
з.ы. почему то не показывает один мз моих участков — трейлов 
avatar

ZoozR

0
Я немного слоупок, и мне надо почаще обновлять данные. Сейчас мы видим картину где-то за май.
Последний раз редактировалось
avatar

pasho

0
Похоже это приложение под Виндавс Фон выйдет.
avatar

icanpissgasoline

0
Я бы сказал и под Windows Phone тоже, что бывает нечасто ;)
Последний раз редактировалось
avatar

pasho

0
То, что видны private сегменты, так и должно быть?
avatar

raabdullaev

0
Wow! Очень нужная программа, спасибо!!!
avatar

repkin

+1
Страва недавно на openstreetmap перешёл, судя по новостям. А штука крутая. :)
avatar

SergeyVolkov

+13
Идея хорошая. Я как раз картами занимаюсь, поэтому внесу несколько предложений:

  • уклон это характеристика одного спуска/подъёма, а на маршруте (трейле) их много, и они чередуются, так что сейчас это цифра не о чём, лучше показывать набор высоты в метрах и потерю;
  • кнопка для получения ссылки это хорошо, но почему при этом в самом адресе параметры изначально отсутствуют? Используй плагин leaflet-hash;
  • настройки фильтра все склеились, это не дело, размести лучше их вертикально;
  • подложка конечно вырвиглазная сама по себе, но тут ещё получается, что отмеченные на ней в оверлее маршруты недостаточно контрастны, так что пока советую приглушить тайлы. А когда проект взлетит заменить подложку на что-то получше, например, на run-bike-and-hike от mapbox (платная).

Удачи в развитии проекта, если будут какие вопросы — пиши.
avatar

Saga

+4
Спасибо за развернутый фидбэк.
— Да, с уклоном не все так просто. Сегодня на 10% лайтке напоролись на съезжалки достойные мирового кубка. Наверное, надо искать максимальный уклон. Не хочется сильно перегружать параметрами. Весь смысл — показать сложность. Большой средний уклон косвенно указывает на жесть, но в настоящий момент, метрика хромает. Я бы хотел ввести цветовые грейды, как в байк-парках — синие, красные, черные. 
— Очень интересно.
— Согласен.
— Да, Open Cycle Map — не самый лучший рендер, но наиболее детальный. Слишком делатльный, это отвлекает. Когда я показываю прогу кому-то постороннему в первый раз, начинаются распросы — «а что это за жирная синяя линия». Спасибо за идею!
avatar

pasho

0
Некоторые советы уже реализовал.
avatar

pasho

+3
Интересная штука, спасибо.
Будет ли возможность добавалять свои трейлы? 
avatar

Vados

0
Я об этом не думал. Основной задачей ставилась визуализация того массива данных, который публично доступен в сети. Посмотрим, как полетит.
avatar

pasho

+1
Идея отличная!
Одназначно в закладки!
Всетаки с перепадом высоты было бы информативнее,(% тоже оставить) но есть одно но, при частых подьемах и спусках страва их нещадно режет до прямой линии, и соответственно перепад высоты с большими погрешностями получается :(  Проверено на наших трейлах другими программами и на разных устройсвах.
Это из за особенностей программы. Данные по высоте она берет не с GPS, а накладывает трек на карту высот, и он на нашей территроии с шагом в 50 метров Учитывая что у нас не горы, где такими мелочами можно было пренебречь, погрешность получалась до 20%  
avatar

monster_pro

0
Ого, спасибо за информацию.
avatar

pasho

0
-Определится ли уклон, если после спуска райдер поднялся на машине или подъемнике и не выключил страву?
-кеширование в пределах сессии очень спорно, потому что лично я использую 4 аккумулятора для телефона

Постарайся реализовать фильтры на тип треков. Понимаю что для импорта из стравы это не сработает, но то что пользователи будут заливать на твой ресурс можно будет отфильтровать. 
avatar

SERG

0
На сколько я понял данные взяты из сегментов, а подьем в него сорее всего не попадет, если это конечно не кантрийный сегмент. 
avatar

monster_pro

0
Да, кеширование стоит существенно развить, пока реилазовано по принципу поскорей. 

Серж, я хочу добавить что-то вроде тегов, чтобы пользователи сами могли дополнять информацию, помечая треки. Например, указывать, что на треке есть дропы, съезжалки. Мне очень хочется иметь метрику, говорящюю о техничности/сложности.
avatar

pasho

0
Очень круто!
А реально ещё прикрутить опцию по поиску подъёмов?! :)

Из комментов — мне кажется, всё же лучше писать градиент со знаком "-" даже, если подъёмов никогда и не будет в сервисе. Позволит избежать лишних вопросов/мыслительных операций на первой минуте пользования.  
avatar

Techno

+1
Полезный сервис. Несколько замечаний и предложений.

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 они есть уже сейчас, их можно и нужно брать и использовать. Рекомендую исследовать данный вопрос. Такие дела.
Последний раз редактировалось
avatar

romanshuvalov

+1
Хм, про копирайты не знал, добавлю. Благодарю за информацию.

Да, OSM дико крутой проект. На мой взгляд это как Linux. Я собираюсь использовать overpass для чистки базы от треков по дорогам.

Использование других источников вполне возможно в будущем. Моя первая версия работала на базе треков с Gpsies, но потом я проникся стравой. 
avatar

pasho

+3
Спасибо всем большое за фидбек и поддержку. Это неожиданно сильно мотивирует ;)
avatar

pasho

0
Крутой проект. Даже банчик неожиданно присутствует со всеми трассами. Фильтр странно работает. Большие и настоящие ДХ трассы не смог отфильтровать, в итоге если смотреть на урал самый большой красный круг над Челябинском над каким то парком с прогулочными трассами (потому что их много), а настоящий ДХ на Банчике вообще кружочек мизерный, если бы не знал про Банчик — фиг бы я его нашел!
Последний раз редактировалось
avatar

Deon

0
Я смотрю в Банном немало трасс стало.
Да, данные еще чистить и чистить. 
avatar

pasho

0
Как с тобой связаться то? Стукнись мне в вк плиз.
vk.com/tazhate 
avatar

tazhate

Комментировать


Зарегистрируйтесь или авторизуйтесь. Сделайте что-нибудь.