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

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

Загрузка растровых карт в 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

 

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

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

Тэг:

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

*