Бесконечное путешествие

Как не просидеть всю жизнь дома

Загрузка растровых карт в OSMAnd

OSMAnd — одна из лучших программ для векторной навигации под Android и по моему единственная, которая умеет строить маршруты в оффлайн по картам OpenStreetMap. На фоне других программ, например Androzic, ее функционал для решения всяких задачек не особо богат, но это и нее предназначение. Главная ее задача с ориентировать вас на местности/дороге, показать карту и провести по маршруту.

OSMAnd main screen

Вот об аспекте использования карт и пойдет речь в этой статье

Карты в OASMAnd можно загружать двух видов — векторные и растровые

В качестве источника векторных карт используется сервис OpenStreetMap.org. Карты упакованы в собственный формат OBF и имеют такое же расширение. Бесплатная версия программы позволяет скачать прямо из программы всего 10 карт, но с сайта программы можно скачать и подложить программе столько, на сколько хватит вашей карточки 🙂

Эти карты отображаются по умолчанию и ничего включать не нужно.

В качестве растровых карт можно подключать онлайн сервисы, напирмер тот же самый Google или Yandex. Для этого в папке %OSMAND%/tiles/<ИТСТОЧНИК> нужно сделать файл .metainfo, где прописывается адрес источника с форматом тайлов.

Google

[url_template]
http://khms.google.com/kh/v=149&x={1}&y={2}&z={0}
[ext]
.jpg
[min_zoom]
3
[max_zoom]
20
[tile_size]
256
[img_density]
8
[avg_img_size]
18000

Yandex

[url_template]
http://sat01.maps.yandex.net/tiles?l=sat&x={1}&y={2}&z={0}
[ext]
.jpg
[min_zoom]
3
[max_zoom]
20
[tile_size]
256
[img_density]
8
[avg_img_size]
18000
[ellipsoid]
true

Файлы для других картографических сервисов легко составляются по этим двум шаблонам.

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

Проще всего SQLITE кэш делается в программе SASPlanet. Просто выделите нужный участок карты, скачайте его и экспортируйте в формате RMaps(SQLite). На выходе получится один файл <ИМЯ>.slitedb, который нужно поместить в папку %OSMAND%/tiles/ он автоматически подключится и будет доступен в слоях под именем файла.

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

OSMAnd plugins

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

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

Теперь на экране есть векторная карта и одна или две растровых. При этом работает роутинг, ведение по маршруту и видны все POI.

OSM map

 

Понравилась статья? Будет много интересного! Подпишитесь на обновления:

Поделиться в соц.сетях

Тэг:
  • Андрей Лунячек сказал:

    OsmAnd — это отличная программа. Я тоже пишу про неё статью, но дело продвигается медленно )))
    Про подключение онлайн-карт: ряд источников в программе уже прописан. Например, карты и спутниковые снимки от Яндекса и Майкрософта, а также карта от Викимапии. Причём имеется удобная функция кэширования нужного района на смартфон (планшет), например, дома через вайфай. Это проще, чем делать на ПК файл SQLite и закидывать на смартфон (планшет).
    Если делать файл SQLite, то нужно обязательно сделать его многослойным, начиная с мелких масштабов, иначе не будет возможности уменьшить карту.
    Кстати, есть проги, которые делают этот файл из оффлайн-карт формата OziExplorer (JPG/PNG +MAP).
    Можно одновременно включить три карты: основная, карта покрытия и карта подложки. Векторная карта может быть включена только как основная. А растровая — как любая. В том числе и вместо векторной, как основная (Меню — Настройка карты — Источник карты). Но функции векторной карты (автороутинг и использование POI) при этом остаются.

    • nord_tramper сказал:

      Про разницу в онлайн-кэше и SQLite я там написал — предпочтительно использовать формат SQLite, т.к. SD карты не любят обилия файлов на файловой системе. А так да, ничег оне мешает дома закешировать область средствами программы.
      Я делал кэш ген-штаба прямо из SASPlanet ))

  • Катерина сказал:

    Мы пользуемся навигацией MapFactor: GPS Navigation от http://navigatorfree.mapfactor.com/en/download/ . В ней тоже Open Street Maps, навигация работает оффлайн прекрасно (для Австралии, по России не скажу).
    Для хранения и просмотра POI используем гугл-карты, затем экспортируем в KML, затем открываем в приложении Maps.Me. Из Maps.me можно уже потом вызвать MapFactor: GPS Navigation и ехать.

    • nord_tramper сказал:

      Чем-то похожа на османд по описанию, скачаю посмотрю чего и как. Карты там те же самые, так что думаю и навигация по РФ будет работать не хуже чем по Австралии

  • Андрей Лунячек сказал:

    Кстати, довольно большое количество уже готовых растровых топографических карт для программы OsmAnd у меня имеется на этой странице: http://www.encyclopedia-stranstviy.com/p/karty-dlya-android.html

  • ququruzka сказал:

    подскажите, файл .метаинфо для гугла уже устарел ? потому что у меня на османде — чистый экран. ничег оне грузится. osmand 2.4.5 (бесплатный)

    • nord_tramper сказал:

      Вполне вероятно. Вообще гугл с яндексом довольно регулярно обновляют версию карт и надо либо подстраивать их руками, либо просто подгружать файл, с сайта самого османда — там будет свежая инфа по всем онлайн ресурсам

  • алекс сказал:

    russia addresses-nationwide asia- дайте ссылку где скачать новей- установленные 140м-от 15 года..думаю старые…

    • nord_tramper сказал:

      А что это за файл? И где он находится в папке самой программы?

  • алекс сказал:

    russia addresses-nationwide asia—живет там где локальные карты/

  • Katalog сказал:

    Tһanks for sharing your thoughts on Навигация. Regards

  • Brigette сказал:

    Dentro desse contexto, surgiram os cursos online. http://countdirect.com/author/dyandelprat/

  • formula negocio online do Alex Vargas сказал:

    Claro que você optar por fechar esse artigo agora. http://forum.gibsonboats.com/index.php?action=profile;u=459

  • cameltoe сказал:

    Thanks for finally talking about >Загрузка растровых карт в OSMAnd <Loved it!

  • Дмитрий сказал:

    убожество ваш османд! Очередная приставка к интернет-сервисам. Мне не нужны никакие онлайн карты — яндекса и гугла более чем достаточно! Мне нужно открыть карту 1870 года. Она в ozf2. Сконвертировал глобал мапсом в sqlite. Зашел на устройство. Там во первых нет папки %osmand%, а есть osmdroid, в которой уже есть tiles. Пробовал и так и так — одинаково в слоях доступна только osmand и «загрузить». В загрузить хренова туча онлайн источников, а локального нет. Убил полтора дня на разбирания с этим говном и в итоге оно не работает. «Спасибо» за неверную информацию и мое потраченное впустую время.

    • nord_tramper сказал:

      %osmand% — это папка куда вы поставили программу. От системы к системе и от места установки она будет оличаться. В 6-м андроиде на моем смартфоне она вообще стала /Andriod/data/net.osman.plus/files и вот там внутри есть там самая папка tiles. Поместив туда ваш файл c «менде» или «межевкой» вы сможете ее смотреть.

      • Дмитрий сказал:

        Спасибо, уже нашел сам ковыряясь в настройках — там есть этот путь в меню изменения расположения файлов данных (но переместить их нельзя — вылезает ошибка, зато посмотреть можно, что я и сделал). Что такое %osmand% я знать не обязан. Я считаю что программисты должны были предусмотреть штатные средства интерфейса для указания пути к оффлайн-картам, а не вынуждать пользователей разбираться во внутренностях андроида. Или тот кто писал статью мог бы предположить, что читать её будет не программист и выражаться определенно, а не терминами из командной строки линукса.

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

*