Я расскажу как готовить оффлайн-карты для незаслуженно забытой программы Androzic, программы которой я пользуюсь более 5 лет, и которую использовал во всех поездках, от Парижа до Соловков.
Вот так выглядит карта на моем смартфоне с Android 7.0:
Как это сделать, немного цифровой археологии под катом.
Программа Androzic
Для начала нужно поставить данную программу. Скачать ее можно с одноименного сайта, программа совершенно бесплатна, там же на сайте есть ссылка на исходники на github. К сожалению, автор прекратил разработку программы, однако все и так работает — программа делает то что нужно, и не делает что не нужно. Я использую версию 1.7.9, с 2.3 что-то не срослось, а разбираться было лень. Так что дальнейший рассказ будет про 1.7.9.
Итак, загружаем с сайта apk, устанавливаем на Android. Программа предоставляет все, что необходимо для оффлайн-навигации — карты, точки, вывод расстояния, скорости и пр (разумеется, онлайн-сервисов типа показа пробок, в программе нет).
В комплекте с программой карт тоже нет, так что подготовить их придется самостоятельно. Приступаем к цифровой археологии — нам понадобятся программы, которые использовались лет 10 назад :)
Загрузка карты
Для начала нам необходимо создать карту в формате OZI Explorer. Перепробовав разные программы, я в итоге остановился на SAS.Planet. Программа бесплатная, с ее помощью можно сохранить карту в любом удобном формате. Для примера, создадим карту Москвы.
Выделяем нужную область, выбираем нужный зум (z15) и нажимаем Start — программа скачивает с карт Гугла все тайлы (не знаю насколько это разрешено политикой гугл, но для личного использования думаю, можно).
Открываем предыдущее выделение еще раз, выбираем Stitch и скачиваем карту в формате jpeg (выбран тот же зум=15 и включен флажок «map» для создания файла формата ozi).
Результат — в выбранной папке должны появиться 2 файла — Moscow.jpg (размером примерно 7000х7000 пикселов) и Moscow.map. Теперь наша задача сконвертировать карту и установить на смартфон.
Конвертация карты
Следующим шагом необходимо сконвертировать карту в формат, который понимает Androzic. К сожалению, сохраненные выше файлы напрямую не открываются, карту сначала нужно сконвертировать в формат ozfx3. Для конвертации я использовал программу Img2OZF 3.0. Более поздние версии не подходят, т.к. создают файлы уже в другом формате ozf4 (скачать версию 3.0 удалось отсюда, т.к. официальные ссылки давно мертвы). Если кто знает другой конвертор, было бы интересно.
Пользоваться программой весьма просто — выбираем папку, нажимаем Convert.
Программа создает слои карты для разных уровней зума, через некоторое время карта готова. Как результат, в выходной папке созданы 2 файла Moscow.ozfx3 и Moscow_ozf.map.
Загрузка в смартфон
Последний и самый простой этап. Подключаем смартфон по usb, и копируем оба файла в папку /Androzic/maps. Перезапускаем Androzic — все готово, новая карта видна в списке, и ее можно открыть.
При желании, в Androzic также можно занести список интересных точек, и программа будет показывать их на экране. Hint — если в google maps выбрать в контекстном меню пункт «что это», будут показаны координаты в виде широты-долготы, их и надо вносить в программу.
Результаты
Что мы получили в итоге? Мы имеем бесплатную программу, показывающую на смартфоне наше местоположение, карту, скорость, координаты, список интересных точек, записывающую трек движения, причем все это полностью оффлайн, без какого-либо использования траффика или gsm-сети вообще. Без рекламы, регистраций и sms. В поездке в роуминге/за границу, или даже в самолете, посмотреть где сейчас летим, то что доктор прописал.
Правка
Как подсказали в комментариях, существует несколько альтернативных программ, работающих полностью оффлайн, и не требующих конвертации карт.
Maps.me
OSM Maps
OruxMaps
Locus
7Ways
Galileo
Всем удачных путешествий. Если автор Androzic тоже читает эту статью — респект за отличный продукт.
Комментарии (69)
andreymal
26.08.2017 14:52Мы имеем программу, показывающую на смартфоне наше местоположение, карту, скорость, координаты, список интересных точек, записывающую трек движения, причем все это полностью оффлайн, без какого-либо использования траффика или gsm-сети вообще. В поездке в роуминге/за границу, или даже в самолете, посмотреть где сейчас летим, то что доктор прописал.
Почти всё перечисленное есть в вышеупомянутом MAPS.ME :) Только запись трека там не видел (есть только «недавний путь»), но нужность этого простому пользователю сомнительна
DmitrySpb79 Автор
26.08.2017 14:56+1Как подсказывает google play, оно еще и с рекламой :)
А так, спасибо, как-нибудь попробую.
DmitrySpb79 Автор
26.08.2017 19:48+3Ладно бы только трек, посмотрел сейчас этот maps.me — программа для навигации, не показывающая даже скорость (или я плохо искал?), это весьма странно. Уж про высоту и количество спутников молчу…
Впрочем посмотрел копирайт — © mail.ru, все понятно :)andreymal
26.08.2017 19:57И правда, странно. Но всё-таки пост сосредоточен именно на оффлайн-картах и точках интереса, которые тут таки есть, а скорость, высота и спутники нужны далеко не каждому (мне вот не нужны, раз я даже не заметил их отсутствия :)
Кстати, исходники maps.me открыты, евпочя ;)
DmitrySpb79 Автор
26.08.2017 20:05Они не то чтобы совсем-совсем необходимы, но все-таки бывает интересно, в самолете например.
Или вот недавно ехал на поезде из Парижа поездом Thalys:
Скриншотchersanya
26.08.2017 20:10+1Скорость maps.me показывает — нужно нажать на стрелку, обозначающую себя. Там же и высота будет. Ну и насколько я знаю, их не с самого начала мейл разрабатывает, хотя рекламу конечно именно они добавили.
DmitrySpb79 Автор
26.08.2017 20:12Спасибо. Нажал, показало только координаты впрочем, без скорости и высоты.
aik
27.08.2017 00:44А вы двигаетесь или на месте стоите?
ChiefMate
27.08.2017 01:50+1Даже если стоять на месте, в режиме навигации maps.me (по меньшей мере, вариант для Андроид) показывает скорость
(внизу слева)chersanya
27.08.2017 02:06+1У вас, видимо, GPS не поймался — то есть, координаты определены другим образом. По крайней мере у меня получается, что показывает скорость и высоту когда есть GPS, что логично.
immaculate
27.08.2017 05:12+1Скорость показывает и записывает треки OsmAnd. Но для записи треков предпочитаю использовать osmo.mobi.
qbertych
27.08.2017 14:05+2Помнится maps.me не позволял выбирать пункт отправления — только текущие координаты. Мол, это же приложение для водителей, зачем выбирать? Сел и поехал.
Зато на следующий день после установки он прислал поздравления с днем без автомобиля — двадцать с лишним уведомлений на двадцати с лишним разных языках. Более фееричного способа сказать "удали меня и никогда больше не устанавливай" мне, честно говоря, еще не встречалось.
nikolay_karelin
27.08.2017 14:19Совсем недавно пользовался опцией прокладки маршрута без привязки к текущему месту — все ок. И поздравлений у меня никогда не было… Может вам посчастливилось не в ту выборку A/B тестирования попасть?
Monoroch
26.08.2017 15:40+6А ещё есть OsmAnd для оффлайновой навигации и картографии.
Без кучи свистоплясок с подготовкой карт.Diam77
26.08.2017 21:10Но бесплатно там можно только 7 раз загрузить карты. Потом платно.
Monoroch
26.08.2017 21:47Он настолько много может, что многократно окупает свою копеечную(для навигатора) цену.
mistergrim
27.08.2017 02:57Платно — это для ленивых. Вручную можно загрузить сколько угодно (и автор не скрывает эту возможность).
Self_Perfection
28.08.2017 11:54+2Кроме ручного подкладывания файлов карт можно скачать из F-Droid версию, которую они сами собирают из исходных кодов. Функционально она эквивалентна купленной сборка OsmAnd из Google Play.
И вообще, вам серьёзно жалко дать пару сотен рублей разработчикам чертовски функциональной программы, которые не зажмотили выложить исходный код?
Diam77
28.08.2017 12:11+2Мой пост всего лишь напомнил тем, кто не знает, о факте 7ми бесплатных картах. Там не говорилось, что "я сам использую OsmAnd", и что "плохо, что на платная", и что "она слишком дорогая".
PS Раз уж перешли на личности, то я пользуюсь аппаратным Garmin Oregon + OSM. Да, их (OSM.img под Garmin) дают бесплатно, без деления на "ленивых" и "не ленивых". Да, OsmAnd не пользуюсь. Нет, не делал для себя вывод, оправдана ли цена OsmAnd, или нет. Были случаи, когда я донат переводил, равно как и случаи, когда даже рубля жалко. Об OsmAnd у меня нет мнения ни хорошего, ни плохого пока что.
Mato
26.08.2017 15:59+2Да, были времена. Попробуйте OruxMaps и забудьте уже об этих странных манипуляциях.
UksusoFF
26.08.2017 17:54А 7ways не пробовали?
DmitrySpb79 Автор
26.08.2017 20:00Спасибо, добавил в описание. Лично не пробовал.
UksusoFF
26.08.2017 20:25+1Тут вопрос смотря для чего нужно. Еще 2гис туда же если он есть в нужном городе.
aik
26.08.2017 19:14Locus — он вам сам гуглокарту скачает. Или яндекс. Или osm. Или ещё какую фигню. Хотя можете и ручками туда что-нибудь подсунуть.
Правда я последние несколько лет на maps.me перешел, локус по старой памяти иногда используется или для какой-нибудь дыры, в которой до сих пор по генштабовским картам лучше ориентироваться.Markscheider
28.08.2017 12:01Подтверждаю. Пользуюсь связкой Locus + OSM давно и успешно. Оффлайн и онлайн.
Особо отмечу возможность импорта/экспорта точек и треков. И самое важное для меня — предварительное прокладывание трека. Это когда перед прогулкой тыкаешь пальцами в карту, отмечая точки, по которым потом пойдешь. Позволяет сразу прикинуть длину маршрута, что (лично для меня) очень важно.
FGV
26.08.2017 19:43googlemap & osm это хорошо. а есть ли ресурсы с подобными морскими картами?
izobr
27.08.2017 10:31У OsmAnd есть плагин для морской навигации. Я не моряк, так, что не знаю, на сколько он подходит, но если включить, то рисует совсем необычный для простого человека вид карты.
leggiermente
27.08.2017 10:32+2В OSMAnd есть плагин морские карты (OpenStreetMap не карта, а геоданные), правда бедные.
Переплюнуть Navionics тут трудно, но там и карты дорогие.
encyclopedist
27.08.2017 14:57https://opencpn.org/ но он для десктопов
http://openseamap.org для любой программы куда можно подключать растровые карты
GrisGreyler
26.08.2017 19:43+1Зачем такие сложности? Всю эту кучу действий по добыванию офлайновых карт Google заменяет пункт меню «Офлайн-карты» в официальном приложении Google Maps. Соответствующий раздел справки: support.google.com/maps/answer/6291838
DmitrySpb79 Автор
26.08.2017 19:46Пробовал как-то, отображается только карта, больше ничего оффлайн не работает.
А еще есть забавный баг — они используют только компас для отображения направления, в итоге в 90% случаев он работает криво (например в транспорте, где много металлических частей), и стрелка на карте «едет» боком или задом. Видимо проф.решателям олимпиадных задач невдомек, что еще 20 лет назад gps-приемники выводили указатель направления исходя из разности координат.MiXei4
26.08.2017 21:51+1Навигация оффлайн работает, конечно без учёта пробок.
Ни разу не видел стрелки, которая едет боком или задом.
Вообще стрелка появляется только в режиме навигации, насколько я помню, и она показывает направление как надо. А вы похоже говорите про голубой круг с направлением куда смотрит телефон и тут логично использовать компас.TRIMER
27.08.2017 12:45Не раз было, что стрелка боком. Это даже забавно. Как будто валишь на машине боком. Ещё бывает стрелка указывает, что едешь не по дороге, но это проблема карт похоже, так как всегда в одних и тех же местах.
Tangeman
26.08.2017 21:55-1В оффлайне в современной версии Google Maps есть как минимум POI и информация по ним (время работы, телефоны etc).
В режиме навигации есть возможность скачать всё по маршруту в оффлайн — навигация будет работать и без сети. Также в режиме навигации направление показывается как нужно, только в свободном режиме используется компас (при стоянии на одном месте GPS ну совсем никак не укажет направление).
А если компас откалибровать (даже в транспорте) и не менять существенно положение телефона (не приближать к металлическим частям), то всё будет корректно отображаться.
alsvr
26.08.2017 19:44Уже 4 года пользуюсь Gallileo, сейчас она доступна и под Android. Мне кажется это лучшая оффлайн карта. И запись треков присутствует.
x893
26.08.2017 20:18Наверное что-то сместилось у меня в голове, но не очень я понимаю как программа для рисования офлайн карт (без самих карт) может в apk занимать 60 МБ (MAPS.ME), в сорцах 1 ГБ ?!!!
У меня на .NET такая же программа (из GMap.NET) — в установленном виде занимает 5 МБ.
Androzic еще можно понять — 1МБ кода и 23 МБ картинок.
Это просто замечание — даже не вопрос (наверное в Андроид байт за 4 идет).staticlab
26.08.2017 22:54+3То есть вы скачали исходники, посмотрели их размер, но поленились даже проверить, что именно занимает в них столько места?
280 Мб занимают границы стран и регионов. 226 Мб занимают фреймворки для iOS. 162 Мб занимают исходники плюсовых библиотек, такие как Boost, ICU и т.д. 72 Мб занимают компиляторы шейдеров (там, в основном, бинарные библиотеки). А ещё на каждый отдельный модуль есть юнит-тесты. Вот гигабайт и получается. А что именно вам в этом не нравится?
x893
27.08.2017 00:07Да мне как бы без разницы. Просто мне дедушка рассказал, как он карты рисовал для МО на компьютере с 56КБ и примерно также выглядело всё (когда я ему показал). А когда им генералы дали с 256 КБ — радости не было границ. Правда на мониторе 512х512 точек. Но цветных. Но карты были на жестком диске — 5 МБ
dicto
26.08.2017 21:13До сих пор пользуюсь Google MyTracks, хоть оно уже и не поддерживается и иногда подлагивает. В принципе, устраивает — треки пишет, скорость есть, расстояние и т.п.
MOPOH
26.08.2017 22:12Как-то игрался с заливкой генштабовских километровок в автомобильный навигатор с помощью программы sas4wince. Тоже с помощью Сас.Планеты подготавливал. Там можно было не только карты заливать, но и слои. Для андроида есть SAS4Android, но с ним я не работал.
kirillaristov
27.08.2017 08:38Пока работаешь с подобными программами с микрорегионами — все нормально, но когда нужна, например, вся Сибирь или вся Россия, то тут начинают вылезать фокусы и в Сас.Планета и в тех прогах, куда экспортируется кэш.
pfg21
27.08.2017 11:59-1Шел 2017 год, люди продолжали кататься на конных телегах
Vitalley
27.08.2017 15:48+3Как будто в обычных смартфонах появился дешевый спутниковый интернет. Если за город не выезжать, то норм. Если по Мск. Обл не везде ловит, то что говорить про другие регионы.
iig
28.08.2017 12:14+2Есть места, где гуглокарты бесполезны чуть более чем полностью. Горы, леса… OruxMaps помогает.
pfg21
28.08.2017 15:42как будто трудно накачать кеш тайлов карт, спутник.снимков в саспланете и экспортнуть в кеш османда, орукса, локуса, алпины и т.д.
ограничение только в 4 гб для фат32-карточки памяти, если переформатнуть в ext* то размер неограничен. сколько вариантов тайловых слоев влезает в современную карточку не описать.
интересующие места лесов и гор потихоньку отрисовываю в осм и кроме векторной карты еще получаю и поиск и роутинг и много чего другого.
растр давно уже использую попутно.iig
28.08.2017 18:48Скачать привязанную к местности готовую генштабовскую карту проще, чем делать ее самому. Но если поделитесь толковой инструкцией — буду благодарен.
pfg21
29.08.2017 12:03+1С этим абсолютно согласен — аднрозиком пользуются только потому что к нему есть огромное количество ozf файлов. на этом плюшки заканчиваются.
посмотри в саспланету сколько генштаб-слоев там подключено начиная от ГГЦ 250 м/см.
к сожалению огромная часть генштаба, раздаваемая Гарлом, накрылась, бекапов к ним не было :( потому сейчас генштаба меньше.
берем картинку, привязанную в озике, открываем в глобал маппере, сохраняем в тайлы, можно напрямую в rmaps или mbtiles и кидаем на телефон.
jaguarrus
27.08.2017 14:20Mapy.cz для городов. Зум реализован бесподобно.
Ну и osmand, конечно.
Зачем этот цирк из статьи — не понял.
jawaharlalnehru
27.08.2017 17:40Есть MapFactor совершенно бесплатный с картами OSM, с обновлениями и всем прочим
hawkery
29.08.2017 11:16А как же приписка внизу «Есть реклама · Есть платный контент»? Галлюцинации?
jawaharlalnehru
29.08.2017 15:12+1Вся реклама ограничивается тем, что раз в несколько запусков Вам предлагается использовать платные карты Tomtom вместо OSM. Они же и есть платный контент. Но это никак не ограничивает бесплатное пользование программой. Просто один раз в несколько запусков нажимаем «Нет, спасибо» и пользуемся бесплатно всеми фишками без ограничений.
ClearAirTurbulence
27.08.2017 18:26мало ли оффлайновых навигаторов с рутингом, давайте ещё чего-нибудь откопаем. это ископаемое с отвратительным интерфейсом имеет смысл только, если вам нужно использовать эзотерические растровые карты. в остальных случаях удобнее навителы, айгоу, here wego итп.
evnp
27.08.2017 19:39Androzic забыт более чем заслуженно, автор в личной переписке сказал буквально следующее: «когда количество нареканий, что Андрозик не может прочитать карты, превысило определённый порог, я решил окончательно отказаться от его поддержки». Меня отсутствие поддержки не смущало до тех пор, пока на моем новом устройстве Androzic тоже не прочел ozfx3. Нужен был мне именно растр (а точнее ГГЦ), поэтому я взял себя в руки и наконец научился изготавливать растровые топографические карты в съедобном для OsmAnd виде с помощью mobac.sourceforge.net (ничего сверхъестественного там нет, самым сложным было добавить интересные мне слои вместо штатных — но это прекрасно документировано и есть примеры)
mazayats
27.08.2017 22:58Пользуюсь андрозик уже лет 5, в т.ч. именно так, как написано. Для своих целей — отличный инструмент. Мне принципиально чтоб приложение для навигации умело работать с форматами Ozi, т.к. 90% случаев, когда мне нужна навигация, мне нужны карты в этом формате. Андрозик — одно из немногих приложений, которые это умеют. Генштаб, карты начала-середины 20 века, карты 19 века — все отлично привязывается в Ози и отлично идет на Андрозике. Онлайновая навигация для е-ней, где нет связи, не подходит никак. Насчет интерфейса — ИМХО, он лучший среди подобных приложений. В Ози под андроид интерфейс гораздо хуже. Так что зря выше его ругают. Все что нужно — переключени между картами, поставить точку, включить запись трека — все есть и удобно. Особенно удобно переключение между разными версиями карт одной местности для сравнения. Поставил точку на трехверстовке, переключился на генштаб, доехал, переключился на спутниковый снимок, сделаный в том же САСпланет. В общем, также очень благодарен автору.
igor_kuznetsov
28.08.2017 16:37Тут много про альтернативы написали, так вот
Maps Me — это тихий ужас, который постоянно глючит с ориентацией и по ПРЯМО дороге он может перевернуть карту раз 10. Именно по этой причине я как то на Корфу уехал черте куда ночью в горы.Зато быстро работает!
OsmAnd -лагодром и тупейший gui интерфейс. Вы там попробуйте быстро отменить маршрут и сделать новый, ха
Самый лучшие пока вариант — это гугл карты с офлайном. Да даже яндекс навигатор адекватней чем все эти офлайн поделкиset
28.08.2017 17:24Maps Me — это тихий ужас, который постоянно глючит с ориентацией и по ПРЯМО дороге он может перевернуть карту раз 10. Именно по этой причине я как то на Корфу уехал черте куда ночью в горы.Зато быстро работает!
Когда начал пользоваться — очень понравилась эта прога. Не очень нравилось только то, что маршрут предлагает всего один и зачастую далеко не оптимальный. Ну и если промахнулся с поворотом, то довольно долго думает, прежде чем перестроиться, хотя в остальном действительно очень шустрая софтина и приятная на вид, в отличие от многих других.
Но вот недавно ехал пассажиром в машине и параллельно водительскому гуглмапсу решил запустить у себя мапсми этот… Программа нашла нужный адрес и проложила правильный (ну, визуально) маршрут, но вместо 4 часов пути показывала чуть больше часа, а потом всю дорогу периодически кричала что-то типа «резко поверните налево», когда поворотов не было и не могло быть в принципе (мчали по трассе А4 почти всю дорогу, а там поворотов налево не может быть никак, всё через съезды вправо). В общем, неприятно удивился и разочаровался в мапсми :(igor_kuznetsov
28.08.2017 18:01+1А ведь то ли тут толи на харбе у них был блог… вроде статья была про прокладку как раз. Видимо им не хватает тестирования
staticlab
Если нужен оффлайн, то, кажется, лучше и проще будет использовать Maps.me.
DmitrySpb79 Автор
Спасибо, сравню на досуге.
smartgrinder
Или OsmAnd. Но ни то ни другое не поддерживает растровые карты, не смотря на то, что они уже почти совсем потеряли актуальность.
petropavel
OsmAnd поддерживает. В меню, в разделе «плагины»:
qbertych
Ну наконец-то. Все же память телефона — более дешевый ресурс, нежели мощность процессора. А OsmAnd с векторными картами любит подтормаживать, особенно когда он нужен — во время вождения в незнакомом городе, например.