Pull to refresh

OpenStreetMap в помощь велосипедистам

Reading time 5 min
Views 72K

Вступление


Представьте, что сейчас лето, солнце светит, у вас отпуск, и вы с друзьями — заядлые велосипедисты. Возникает мысль о велосипедном походе куда-нибудь далеко. В этой статье я расскажу о том, как OpenStreetMap-технологии и некоторые другие сервисы упрощают жизнь в такой ситуации, решают проблемы планирования и позволяют быстро и просто поделиться впечатлениями. Упор делается на online, я упоминаю ресурсы:

Планирование поездки


Итак, на каком-нибудь велофоруме или от знакомых вы узнаете, что место X — просто супер, каждый уважающий себя велосипедист обязан там побывать и вообще непонятно, почему вы там до сих пор не были. Если X вам абсолютно незнакомо, то возникают вопросы:

Где находится X?
Официальный сайт OpenStreetMap, не смотря на спартанскую аскетичность, позволяет «из коробки» искать населенные пункты, места и т.д. Также будет полезен Nominatim, который «заточен» специально под поиск.

Как лучше всего туда добраться?
Первое место, куда стоит заглянуть, в случае, если вы проживаете не в России — OpenCycleMap. Это специальная карта для велосипедистов с велосипедными маршрутами. Маршруты, я бы сказал, глобальные и не рассчитаны на местные легкие 8-часовые прогулки.

Карта OpenCycleMap. В России пока совсем не популярна.
В остальных случаях, маршрут таки придется прокладывать самим. Как правило, автоматически проложенный маршрут не идеален и требует ручного «допиливания». Поэтому я рекомендую связку из OpenRouteService и ShowYourJourney, они оба используют данные OpenStreetMap.

OpenRouteService
Отличный немецкий сайт, по умолчанию открывается на немецком, однако справа сверху у него есть заветный английский флаг. Кликаем на строку Start, потом на пункт отправления на карте, потом на строку End, потом на пункт назначения на карте, и, наконец, по кнопке Calculate. Довольно быстро появится результат, в т.ч. суммарное расстояние и указания типа «через 200 метров поверните направо». Можно находить маршруты для машины, пешеходов и велосипедистов. Для первого и последнего вариантов доступны уникальные опции, смысл которых понятен из названия, но на всякий случай многократно проверен эмпирически. Для машины возможен выбор между самым быстрым и самым коротким путем, ведь самый короткий может быть извилистым или с кучей светофоров и прочими неприятностями. Для пешеходов ищется кратчайший путь, при этом используются дорожки, тропинки, тротуары и т.п., заботливо нанесенные картографами OpenStreetMap.

Для велосипедистов настройки особенно богатые: кратчайший путь/shortest track, самый безопасный путь/safest track (избегать большие дороги), для шоссейного велосипеда/racer (наоборот, стараться прокладывать маршрут по автомобильным дорогам), для горного велосипеда/mountain bike (режим похож на самый безопасный, видимо, добавляется извилистость). Помимо перечисленных опций, алгоритм можно дополнительно настраивать (more options), в частности, вручную включать опцию избегания автомобильных дорог и трамвайных путей, а также выделять полигоны на карте, через которые нельзя проезжать/проходить. Результат можно экспортировать в ссылку с параметрами внутри или в стандартный GPX. В общем, немецкие разработчики заслуживают уважения, тем более что по OpenRouteService доступен внушительный список научных публикаций (в разделе INFO&CONTACT).


Настройки OpenRouteService.
Избегание автомобильных дорог в велосипедном маршруте OpenRouteService.
ShowYourJourney
Чем длиннее маршрут от OpenRouteService, тем больше вероятность, что где-то он проложен не очень хорошо, и человек это сделал бы лучше. ShowYourJourney позволяет загрузить к себе GPX маршрут и поправить его руками. Впрочем, можно и создать маршрут с нуля. Удачно реализована работа с треком — каждое звено всегда можно посередине поделить пополам. Для того, чтобы начать, нажмите на «start a route» справа снизу. Разумеется, результат можно вновь экспортировать в GPX.
На ShowYourJourney похож сервис GPS Visualizer Freehand Drawing Utility, но там нельзя импортировать данные.

Интерфейс Show your journey.

Где взять карты для навигатора?
Теперь хочется сохранить карту с маршрутом в навигаторе (если он у вас есть). Скачать карты OpenStreetMap можно на вики проекта Карты России, а с загрузкой GPX в навигатор, думаю, проблем не возникнет.

Как подготовить печатный вариант карты?
Навигаторы бывают ненадежные (например, батарейка быстро садится), да и экран у них маленький из-за портативности. Хорошая практика брать с собой карту, напечатанную на бумаге. Официальный сайт OpenStreetMap хоть и позволяет печатать, выйдет у вас, мягко говоря, мелковато. Для целей высококачественной печати существует MapOSMatic. Просто задаем прямоугольник мышью, зажимая Control, и вперед. Сервис поддерживает экспорт в SVG и растр, удобно разбивает карту на квадраты и создает индекс. Как автоматизировать печать карты с нашим маршрутом с помощью OpenStreetMap — вопрос открытый. Думаю, в оффлайне с этим справится Maperitive. Также ничего не мешает использовать GPSVisualizer.

MapOSMatic в работе.

Визуализация поездки

Вы удачно съездили в X и благополучно вернулись обратно. Все время поездки ваш навигатор или трекер старательно записывал ваш путь. Где-то дороги были перекрыты и вы поехали в объезд, где-то сообщество OpenStreetMap облажалось и поместило тропинку через непроходимое болото и опять пришлось ориентироваться на месте, где-то сделали крюк ради POI, в общем — полученный трек не совпадает с «эталонным». А так хочется поделиться впечатлениями с друзьями, коллегами и родственниками! Необходимо визуализировать трек. Снова по порядку:

Как перегнать мой трек из «родного» формата ??? в удобоваримый GPX?
Многие интересующиеся знают про замечательную gpsbabel, которая знает про форматы треков абсолютно все. Доступна online версия этой программы, делающая ровным счетом то же самое. Загружаем свой трек в веб-интерфейс, качаем GPX (можно даже в zip-архиве).

Веб-интерфейс к GPSBabel от GPS Visualizer

Чем оптимизировать трек?
Не секрет, что функция записи трека у навигаторов реализована одинаково — бездумная машина просто запоминает ваше положение с заданным временным интервалом. Как следствие, треки через 12 часов записи занимают мегабайты, и сервисы, работающие с ними, не по-детски напрягаются. Информация в «сырых» треках избыточна: если вы ехали все время по прямой, внутренние точки можно с чистой совестью выкинуть. Также, на стоянках, GPS «колбасит» и происходит «броуновское движение» вокруг истинного положения.
Для решения этой проблемы существует CourseMapper. К сожалению, он построен на основе Google Maps и подложку OpenStreetMap сделать в нем нельзя, зато способен загружать трек напрямую из устройств Garmin, ну и, разумеется, дружит с GPX. В его настройках можно выбрать минимальную точность в метрах и версию алгоритма (скорость против качества). Сервис бывает задумчивым на больших объемах данных. Если ваш трек очень большой, то остается либо резать на куски и потом склеивать оптимизированные, либо использовать offline-решения. Оптимизация очень сильно уменьшает размер трека, в зависимости от настроек и данных до 1000 раз.

Commander-оподобный CourseMapper.

Как круче и красивее всего показать трек?
Речь идет о «чистовой» визуализации, качественнее, чем у ShowYourJourney. Если вам лень самому изобретать велосипед, мой вам совет — используйте GPS Visualizer. Это просто ну очень навороченный и бесплатный сервис визуализации, мощный и гибкий, со своим сообществом и вики. Я только перечислю особенно «вкусные» функции:
  • Одновременное отображение сразу нескольких треков. Удобно, если ваш попутчик встречается с вами на полпути, и ваши треки разные.
  • Импорт из GPX.
  • Экспорт в растр и вектор. Экспорт интерактивной карты в HTML (с помощью Google Maps).
  • В интерактивной карте можно настраивать подложку по умолчанию, будь то OpenStreetMap или спутниковые снимки Google.

Обилие настроек GPS Vizualizer.

Отображение сразу двух треков на интерактивной карте.

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


Не зря на конференции State of the Map (SotM) 2011 OpenStreetMap сравнивали с Linux — наблюдается тотальный Linux way в работе с картами и треками. Ни один сайт не делает всю работу полностью, и добиваешься цели, собирая решение из независимых кусочков. Может быть, когда-нибудь, появится стартап, который избавит от описанного выше зоопарка из онлайн-сервисов, но пока что все гораздо интереснее. Я очень надеюсь, что вы вынесли для себя что-то интересное и полезное из этой статьи.

P.S.
И да прощен я буду за табличную верстку картинок.
Tags:
Hubs:
+51
Comments 17
Comments Comments 17

Articles