22 декабря 201723:09

GPS и велотуризм. Offline-карты на Android: личный опыт, приложения

Существует масса программ для смартфонов и планшетов по части карт и навигации. Какие же из них оптимальны для велосипедиста?

Два года назад я уже представлял вниманию читателей обзор некоторых приложений в статье «Garmin vs Android». С тех пор мне довелось проехать в длительных велопоходах более 10 тысяч вёрст с палаткой, и кое-что изменилось в моей раскладке гаджетов и софта для них. А главное – оно вполне себя оправдало, и пришло время поделиться с вами новым опытом. Надеюсь, он станет полезен не только начинающим, но и бывалым велотуристам!

 

Дмитрий Ховрин

Немного об авторе: Дмитрий Ховрин – велотурист-любитель из Москвы с общим «стажем» около 70-80 тысяч км (на конец 2017), почти треть из них пройдены в одиночных многодневках с палаткой. Увлечение росло с 2008 года из домашних покатушек, и в 2013-ом оно вылилось в первый большой одиночный поход.

Фоторассказы о странствиях можно найти тут.

 

…Прошло больше 10 лет, как я купил свой первый приличный многоскоростной велосипед. Это был Felt Q600 2007 года.

Моей, так сказать, ГИС (геоинформационной системой) тогда являлась связка из кнопочного java-телефона и внешнего GPS-приёмника, подключаемого по Bluetooth. Позже эта связка сменилась сочетанием сенсорного Symbian-смартфона и GPS-логгера (отличие логгера от простого приёмника – возможность автономной записи трэка в собственную память).

 

Природная страсть к новым горизонтам потянула меня за пределы Подмосковья – в 2012 году «домашние» ПВД уступили место палаточному велотуризму.

Для удобного «полевого» просмотра Интернета и географических карт я приобрёл Андроид-устройство. Но от логгера не отказался, хотя и перестал «цеплять» его по Bluetooth. Запись пройденного пути логгером выходит гораздо экономичнее, чем смартфоном или планшетом. А весит прибор размером со спичечный коробок всего 50 г.

Исходя из этого, функция программной записи трэка для меня не критична.

 

Какие карты лучше подходят для велопоходов?

Прежде всего, карты должны быть офлайновыми – то есть, храниться в памяти устройства и не требовать подключения к Сети.

РФ заселена весьма неравномерно, и то же самое относится к покрытию сотовой связи. Более того, в велопоходе мы зачастую стремимся уехать подальше от скоплений народа, в ту самую глушь с нестабильным приёмом, где «безлимит» и ёмкий аккумулятор не помогут.

 

Во-вторых, предпочтительнее векторные карты: они занимают в разы меньше места в памяти устройства, нежели растровые («обычные» изображения). И, в отличие от растра, векторная графика плавно масштабируется без потери качества картинки. Эта картинка, по сути, является графическим представлением математических объектов (например, координат точек или ширин линий). Такое преобразование требует определённых вычислительных мощностей. Что, впрочем, не проблема для современных многоядерных «гаджетов».

 

Однако если на ядрах ЦП производители не экономят, то объёма ОЗУ (оперативки) прожорливой системе Android часто не хватает, и тогда ОС сама закрывает запущенные в фоне приложения. То есть, страдает многозадачность. Так что потребление памяти – тоже важный аспект.

 

Для большинства пользователей важны также бесплатность карт, поэтому хорошим выбором будет динамично развивающийся проект OpenStreetMap (сокращенно – OSM). Эти карты создаются и поддерживаются открытым сообществом, и любой желающий может принять участие в их наполнении.

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

 

И, наконец, актуальность и информативность карт (степень наполнения объектами и прочими элементами).

 

MAPS.ME

Знакомая многим программа с картами на основе OSM, в которых применяется довольно эффективный алгоритм сжатия векторных данных. Например, вся РФ «весит» порядка 2 ГБ, при этом картинка получается однотонная, однообразная, но не в ущерб детализации.

ОЗУ потребляет немало (около 200М при HD-экране).

Трэки писать не умеет! (напомню, что мне запись трэка в приложении не важна – использую логгер)

 

Maps.Me на Андроид

 

Возможности:

  • offline построение маршрутов (в том числе велосипедных) между двумя заданными точками с возможностью последующего добавления промежуточных точек («заехать»);
  • offline поиск объектов (POI, точек интереса), в том числе по категориям;
  • Экспорт/импорт закладок (меток, путевых точек) и импорт трэков (маршрутов) в формате KML/KMZ;
  • подробная информация о заведениях на карте;
  • бронирование гостиниц через Booking.com;
  • редактирование объектов OSM прямо из приложения.

Достоинства: простота освоения, скорость работы, малый «вес» карт.

 

Недостатки:

  • навязчивая реклама, которая появляется в шторке уведомлений совершенно внезапно, даже если программа (точнее, её видимая часть) не запущена. Впрочем, на 4pda имеются версии от народных умельцев, избавленные от этого минуса;
  • нет группировки регионов РФ по фед. округам. Можно скачивать регионы по-отдельности или же всю РФ разом;
  • карта рассчитана на дорожно-городской туризм и далека от топографической (не показан рельеф, тип растительности и т.п.);
  • нельзя расставить промежуточные точки ДО построения маршрута – можно лишь корректировать маршрут, добавляя точки по одной. (например, мне чаще нужно просто измерить расстояние по уже известному пути)

В общем, MAPS.ME вполне подойдёт непритязательным туристам.

 

OpenAndroMaps — OSM-карты на основе Mapsforge 

А для более замороченных искушенных есть Mapsforgeбиблиотека инструментов для создания векторных карт на основе OSM. Эту библиотеку используют немало приложений и карт, но для пешего и велосипедного туризма больше всего подходят карты OpenAndroMaps (сайт на английском/немецком, но карты многоязычные). «Весят» они в 4-5 раз больше, чем карты Maps.Me, но объекты показывают более наглядно, напоминая по виду топографические карты с горизонталями (изолиниями высот).

Сравните:

 

сравнение Maps.Me и OpenAndroMaps

 

Выделю 3 приложения, умеющие отображать эти карты: Cruiser, Locus и OruxMaps.

 

OruxMaps мне не нравится цветовым оформлением, неудобной структурой меню и отсутствием кинетики при перемещении карты.

Locus удобнее, хотя многие функции платные. Но и бесплатной версии большинству хватит за глаза, если не смущает полоска с рекламой, «съедающая» часть высоты экрана. Новичку, однако, придётся посидеть час-другой, изучая меню.

 

Locus (руководство на английском) и OruxMaps (русское руководство, PDF-файл) – это достаточно «тяжелые» приложения с кучей детально настраиваемых функций – запись трэка, прокладка и ведение по маршруту, geocaching (геокэшинг) и т.п.

 

Cruiser (Talent S.A.)

Cruiser (бывший Atlas) больше подошел для моих задач: запускается быстро, на экране нет лишних элементов; простая структура меню (только English, что для меня не проблема).

ОЗУ ест около 100М (Locus, Orux – 100-150М при HD-экране).

Трэки не пишет!

 

Cruiser app for Android

 

Возможности:

  • offline построение маршрутов (в том числе три вида велосипедных) с любым количеством промежуточных точек;
  • экспорт/импорт путевых точек (закладок) и маршрутов, импорт трэков в формате GPX;
  • импорт базы POI из форматов GPX и GeoJSON, offline поиск по базе POI;
  • измерение расстояния между двумя произвольными точками.

Достоинства и недостатки: посмотреть выше у MAPS.ME и поменять местами. =)

 

Как использовать карты с сайта OpenAndroMaps в приложении Cruiser

Locus и OruxMaps поддерживают быструю установку карт и стилей из приложения, а вот для Cruiser придётся указать файлы/папки, предварительно загруженные в память устройства. Но плюс в том, что их расположение можно задать самому (я создал во внутренней памяти смартфона папку ‘MapsForge’).

  • Загружаем карты: идём на openandromaps.org, где в меню ‘Map Downloads’ выбираем нужную часть света – например, ‘Russia’. На открывшейся странице видим таблицу регионов страны и качаем нужные из них кнопками «Download». Если нужны POI – качаем их тоже. Затем распаковываем ZIP-архивы и помещаем файлы .map и .poi в выбранную папку устройства.

Я загрузил «центральный» регион и его POI:

 

 

  • Загружаем набор стилей для карт (рекомендуемый – ‘Elevate 4’): на этой странице жмём ‘Normal version’ (или вот прямая ссылка). Внизу страницы приведена легенда (разъясняются условные обозначения на карте). Распаковываем ZIP-архив в пустую папку, помещаем её на устройство.

Как видно выше на скриншоте, я назвал эту папку ‘Elevate4’ и поместил её в корень папки ‘MapsForge’.

 

На скриншоте остаётся папка ‘graph’ – там лежат файлы для offline-маршрутизации (опционально). Откуда их брать, рассмотрим чуть позже.

 

Качаем Cruiser в Google Play или .apk здесь. После установки будут доступны два ярлыка – Cruiser и Cruiser GL, второй открывает карты в 3D-перспективе (я его скрыл за ненадобностью).

Запускаем Cruiser.

«Выдвигаем» меню слева:

Map —> Open map —> указываем файл .map.

Map —> Open map style —> указываем файл Elevate.xml.

Map —> Style menu —> выбираем тип активности (hiking, biking, city…) и отображаемые объекты (shops, amenities, transport…).

 

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

 

Графы создаёт «настольная» версия Cruiser (ZIP брать тут). Для её работы требуется установленная Java Runtime Environment (JRE).

Распакуйте ZIP в любую папку и запустите программу. В ОС Windows запуск возможен любым из трёх файлов – cruiser.EXE, cruiser.JAR, cruiser.BAT. Советую открыть «батник» в текстовом редакторе (и запускать потом через него):

 

@echo off

cd /d %~dp0

java –Xmx1024M -jar cruiser.jar

 

1024 – это верхний предел выделяемой для java-проги оперативной памяти (heap, «куча»). Если планируется создавать графы для больших регионов (например, всей РФ или Африки), то желательно поднять эту планку, иначе памяти может не хватить, и создавать оно будет не 5 минут, а «вечно». У меня на ПК 16G RAM, так что спокойно выставил 8192.

 

Пункты меню ПК-версии по большей части совпадают с мобильной. Выбираем Routing —> Create graph. Появляется окно, в котором нужно выбрать файл .osm или .pbf (это исходные данные OSM):

 

Cruiser desktop window

 

Файлы .osm.pbf берём, к примеру, отсюда: http://download.geofabrik.de (или GIS-Lab для стран ex-СССР).

Для GeoFabrik: жмём нужный Sub-Region, выбираем страну, потом фед. округ (для РФ). ЦФО весит 0,5 ГБ. Для его обработки может хватить и 1024М ОЗУ, но лучше выставить хотя бы 2048.

 

Итак, указываем скачанный файл .osm.pbf, в следующем окне – пустую папку с любым названием (лучше без пробелов и кириллицы), например, Central.

Потом эту папку с готовыми файлами графов помещаем на смартфон/планшет.

 

После этого в Android-версии Cruiser заходим в меню Routing —> Open graph, затем долгим нажатием выбираем папку региона. — Всё! Приложение полнофункционально.

 

Не так уж и просто, да? И всё ради более «красивой» карты, последовательной маршрутизации и отсутствия рекламы. Ну, и простого меню, в отличие от Locus.

Кстати, Locus тоже умеет строить маршруты offline, но и там надо слегка заморочиться – установить BRouter на гаджет, потом выбрать квадраты на карте, скачать данные. НО промежуточных (транзитных) точек в маршруте может быть не больше двух, и то в платной версии.

 

Ещё отмечу, что Cruiser при быстром перемещении карты отрисовывает её не всю сразу, а постепенно, по квадратам, создавая растровый кэш во внутренней памяти устройства. При следующем просмотре того же участка карты приложение грузит тайлы (tiles) из кэша почти мгновенно.

Поэтому по мере просмотра карт кэш будет накапливаться по адресу /Android/data/gr.talent.cruiser/, и когда-нибудь забьёт всю свободную память. Очистить кэш можно пока что только очисткой вышеозначенной папки, причём кэш сразу всех карт, что неудобно. Но приложение развивается – возможно, добавят пункт в меню.

 

У MAPS.ME «срединный» путь – объекты на масштабе (когда их много) появляются всегда с небольшой задержкой, но гораздо быстрее, чем у Cruiser при первом показе.

 

К тому же, после импорта на карту больших (несколько МБ) файлов с точками/трэками/маршрутами перемещение по карте у Cruiser заметно лагает в отличие от MAPS.ME.

 

OsmAnd

Это приложение использует векторные карты OSM в своём формате (.obf). Беслатная версия OsmAnd имеет ограничение на 7 загрузок/обновлений карт. Но это касается только загрузок из самого приложения; если карты копировать извне (например, с помощью OsmAnd Map Creator для ПК), то «счетчик» тикать не будет.

Обзорная карта мира «счетчик» не затрагивает (она необходима для отображения масштабов 10+ км).

 

OsmAnd Map Creator создаёт файлы .obf из .osm (источники — geofabrik или GIS-Lab). Написана программа на Java, так что возможны манипуляции с файлом .bat (описаны выше).

 

Отрисовка карт на экране гаджета значительно медленнее, чем у MAPS.ME, но тут карты удобнее. Линии высот, однако, платные (реализованы дополнительным слоем). Как и в OpenAndroMaps, вид карты можно менять стилями.

Карты .obf занимают приблизительно в 2 раза больше места, чем те же наборы регионов OpenAndroMaps (и в 8 раз, чем MAPS.ME).

 

На моём смартфоне Asus_Z00LD (Android 5.0.2) OsmAnd ведёт себя странно: «падает» при попытке импорта трэка/точек, но главное — постоянно грузит на 100% одно из ядер ЦП Qualcomm. По этой причине я не рассматриваю это ПО для походов.

 

Яндекс.Карты

Как говорится, «одна голова – хорошо, а две – лучше». Ничто не идеально, и OSM имеют броские недостатки. По крайней мере, для путешествующего по глубинке.

Например, OpenAndroMaps для РФ обновляются 4-5 раз в год, а Я.Карты – не реже 2 раз в месяц. Кроме того, в глухих населённых пунктах Я.Карты бывают информативнее, чем OSM:

 

 

Я.Карты частично конкурируют с MAPS.ME, имея схожие функции (записи трэков нет). С 2016 года Я.Карты также стали векторными, и появилась возможность скачивать для offline-просмотра не только отдельные города, но и целые регионы. Однако «весят» они в 4 раза больше, чем карты MAPS.ME (т.е. почти как OpenAndroMaps), а ОЗУ потребляют очень много (около 300М при HD-экране).

 

 

Возможности:

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

Достоинства: актуальность в крупных городах, простота освоения, скорость работы.

 

Недостатки:

  • реклама и невыгружаемые фоновые сервисы (выход – качать с 4pda);
  • группировки регионов РФ нет вообще;
  • карта рассчитана на городское использование;
  • закладки (метки) доступны только через «облако», экспорта/импорта нет.

Карты от HERE, Bing, Yahoo! для РФ менее пригодны, чем Я.Карты. То же, но в меньшей степени, относится и к картам Google, к тому же приложение от Google еще более громоздкое, чем от Яндекс.

 

Спутниковые снимки

В некоторых случаях компактные схематичные карты не дают нужной информации, и приходится обращаться к слою «космоснимков». Поскольку только они показывают реальное состояние земной поверхности при тонком ориентировании по полевым грунтовкам, просёлкам и т.п. А также могут быть полезны при выборе места для палатки:

 

преимущества спутниковых снимков

 

Конечно, эти снимки тоже устаревают со временем, особенно в обжитой местности. А иной раз разрешение съёмки оставляет желать лучшего. Поэтому источников разных снимков должно быть два или больше.

 

Основные их поставщики – Яндекс, Google, Microsoft (Bing).

По идее, не обязательно устанавливать три приложения – хватит и одного, которое умеет отображать снимки из трёх источников, как Wikimapia Viewer NG:

 

 

Как видно на скриншоте, в качестве подложки доступна (и всё еще работает! – кнц 2017) даже «старая народная» Я.Карта, разноцветные значки объектов которой очень выразительны. Но Яндекс давно (в 2015) закрыл её разработку в пользу «новой народной», доступной лишь через браузер.

 

Спутниковые снимки, как и прочие фотографии с плавными переходами тонов, невозможно перевести в векторный формат без потери деталей. А весят они прилично: к примеру, Мособласть – несколько гигов.

Остаётся «бродить» по карте, прогружая в offline-кэш интересующие участки грядущего пути. Но всё не предвидишь, и что-то придётся высматривать уже в пути. Чтобы не попасть впросак, это лучше делать заранее, до «спецучастка» – в райцентре или хотя бы крупном селе, где есть приём 3G.

 

К сожалению, Wikimapia Viewer может кэшировать для offline-просмотра только слой объектов Wikimapia, но не подложку карт. Если кому-то из читателей известно другое приложение – пожалуйста, напишите в комментариях!

Отзывы, предложения по улучшению статьи – приветствуются! (вдруг упустил важное пояснение или скриншот)

 

****

Засим разрешите откланяться и добавить напоследок, что в наш цифровой век общество начинает понимать, что самое ценное в жизни – это информация. И не абы какая, а полезная. В Сети иногда непросто выделить её в нескончаемом потоке, но с туризмом проще: основными итогами поездки должны стать яркие впечатления, знакомства, маленькие открытия, а не профиль трэка в «Strava». Не так ли?

Скорее, так. И надеюсь, что эта статья поможет вам правильно сориентироваться на пути к новым свершениям!

 

Дмитрий Ховрин


remont_velosipedov

Комментарии

  1. ////////:

    Не вижу ничего плохого в профиле Strava. В качестве «записной книжки» / посмотреть потом — сойдёт. Ещё как аналог похеренного gpsies.

    1. А что с gpsies? — трэки загружаются, показываются с профилем высот и т.п. Мне больше и не надо. =)
      Дык, и я не вижу плохого в Strava, разве был подтекст? Дело в приоритетах. Велотуризм-ради-трэка — вот в чем засада. Средство, помощник становится целью. А где романтика, любование, трепет?..

  2. Дима Красавин:

    Спасибо за полезные ссылки и анализ.

  3. Алексей:

    А как же OsmAnd+

    1. shura:

      Не знаю, насколько лицензионно чисто, но существует программа OSMDownloader, которая может скачивать OSM карты для разных программ, в том числе и для Osmand. Если качать карты через неё, то можно скачать хоть всю Россию и сколько угодно раз, счётчик загрузок в OSMAnd не тикает.

    2. Добавил в статью. Также выражаю признательность shura.

  4. shura:

    Небольшая неточность «И, хотя изначально карты OSM – растровые (.PNG)». Изначально это как раз таки векторные данные и только для удобства переведены в растр.

    1. Да, верно — PNG отображается при загрузке онлайн в клиенте. Это я грубую ошибку допустил. Благодарю! Подправил статью, в т.ч. блок Maps.Me.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сайт размещается на хостинге Спринтхост