Как создать свою карту для спутниковой навигации

Идея написания этой статьи родилась ещё в новогодние каникулы, когда я объяснял, как сделать навигационные карты на основе спутниковых снимков. Тогда была снята основная часть скриншотов, но заготовка статьи осталась пылиться на задворках винчестера. И вот уже на улице вовсю светит солнце и тает снег, приближается новый походный сезон, а я, наконец, поборол лень и дописал текст.

Сейчас у многих имеются устройства, так или иначе оснащённые спутниковой GPS-навигацией. Это может быть смартфон, карманный компьютер, коммуникатор или же просто навигатор. Во многих случаях качество предустановленных карт оставляет желать лучшего, особенно для пеших походов. Тут могут помочь online-источники спутниковых снимков и карт. Достаточно сравнить два изображения одного участка:

Слева — спутниковый снимок Google maps, справа — тот же участок на карте. Который из них выглядит подробней?

Для создания полноценной растровой карты нам понадобится набор из двух программ, некоторое количество времени и интернет-трафика. Полученными в результате картами можно будет пользоваться на любом устройстве, для которого имеется программа OziExplorer или её аналоги.

Инструкция пошаговая, подробно иллюстрированная и должна быть понятна любому новичку.


Получение спутникового снимка или карты местности

На этом этапе нам понадобится программа SAS.Планета, скачать которую можно на официальном сайте sasgis.ru

Первым делом требуется указать в качестве источника данных Интернет и кэш:

А также выбрать нужный тип карты. Что это будет — спутник или карта Google, карты Яндекса или спутниковые снимки с геопортала Роскосмоса, а то и генштабовские карты — зависит только от Ваших личных предпочтений и качества источника на требуемом участке.

Итак, находим визуально, по координатам или встроенному поиску нужный участок. Определяем требуемую детализацию, увеличивая масштаб изображения. Текущий масштаб указывается слева, под линейкой масштабирования, в относительных уровнях (z14, z16 и так далее). Он пригодится нам на следующем этапе. Ориентируйтесь на то, чтобы нужные объекты были хорошо различимы и не «замылены». Но и не забывайте, что каждый уровень детализации увеличивает размер результирующей карты.

Уменьшаем масштаб до тех пор, чтобы весь нужный участок карты вошёл в экран. Выбираем инструмент «прямоугольное выделение» (вторая слева кнопка на панели инструментов или сочетание Ctrl+R на клавиатуре), и выделяем границы нашей будущей карты.

По окончании выделения появится диалоговое окно «Операции с выделенной областью». Сейчас нас интересует вкладка «Загрузить». Нужный тип карты уже выбран, а требуемый уровень детализации надо выбрать в выпадающем списке (мы его уточняли чуть раньше). Остается только нажать кнопку «Начать».

Спустя некоторое время (зависящее от детализации и площади карты), её участки будут загружены, и в окне появится надпись «Обработка файлов завершена». Окно загрузки можно закрыть, и переходить к следующему этапу — склейке снимков.

Выбираем в меню выделения пункт «Предыдущее выделение», либо нажимаем Ctrl+B на клавиатуре, чтобы заново не выделять ту же самую область, и появится знакомое нам окно.

На этот раз нас интересует вкладка «Склеить». Здесь потребуется настроить большее количество параметров:

  • Результирующий формат — формат изображения, в котором будет сохранена наша карта. Для дальнейшей обработки желательно выбирать BMP, хотя он и занимает больше места, но понимается всеми программами и не имеет потерь при кодировании.
  • Куда сохранять — здесь надо указать папку и имя файла, в который будет сохранена карта.
  • Тип карты — будет автоматически подставлен текущий источник.
  • Масштабне забудьте выставить нужный уровень детализации. По умолчанию программа выставила низкодетализованный, отображающийся сейчас на экране.
  • Наложить — здесь на карту можно наложить дополнительные слои. Такие, как Гибрид для Google maps, где отображены основные дороги и условные обозначения. Иногда может быть полезным для уточнения спутниковых снимков или нанесения на них названий населенных пунктов. Для этого не забудьте прогрузить дополнительный слой с нужным уровнем детализации при помощи метода, описанного выше.
  • Создавать файл привязки — отметьте галочкой пункт «.map», он нам пригодится на следующем этапе. В файле будут сохранены географические координаты углов результирующего изображения.

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

Обработка снимка в графическом редакторе

Нередко из-за не совсем удачных условий освещения, или мешающей дымки, или в силу ещё каких-то причин спутниковые снимки бывают «слепыми», особенно при отображении их на экране мобильного устройства в яркий солнечный день. Для улучшения можно провести небольшую коррекцию в любом графическом редакторе. Я покажу это на примере бесплатного XnView, но Вы можете использовать любой другой подходящий (от IrfanView до Photoshop), эта процедура везде аналогична.

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

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

Можно использовать также ручной режим — правку контраста и гамма-коррекции (увеличить то и другое):

или Оттенка/Насыщенности/Осветленности. Ориентируйтесь на более подходящих для Ваших условий вариант.

После всех преобразований не забудьте сохранить результаты цветокоррекции.

Преобразование снимка в формат OziExplorer

Для дальнейшего преобразования картинки в более компактный формат, понимаемый OziExplorer-ом нам понадобится утилита img2ozf. Скачать её можно бесплатно на официальном сайте OziExplorer: oziexplorer3.com/img2ozf/img2ozf.html. По ссылке — последняя версия утилиты, сохраняющая в ozfx3 формат. Для ozf2-файлов (используются в более старых версиях OziExplorer) потребуется найти более старую версию утилиты. В этом вам поможет поиск.

Устанавливаем и запускаем программу. В поле Source Image Folder указываем путь, по которому лежат подготовленные изображения и соответствующие им .map -файлы. В поле Destination Folder указываем, куда складывать конвертированные карты (если нажать синюю стрелочку слева, будет использоваться папка с исходными файлами). Можно поиграться с количеством цветов (поле Number Colors в левой части). Чем больше количество цветов, тем плавней картинка, но тем больше размер результирующего файла.

Отмечаем галочками нужные для конвертирования изображения и нажимаем большую кнопку Process Image Files to OZF Files.

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

Как только в строке статуса появится надпись Completed — конвертирование завершено. В папке, указанной в Destination Folder появятся два файла — .ozfx3 (или .ozf2 для старой версии) и соответствующий ему .map-файл (который, в отличие от исходного, будет иметь имя типа исходное_название_ozf.map).

Теперь осталось оба этих файла залить на мобильное устройство, и указать OziExplorer место, где они лежат.

Например, так выглядит окно OziExplorer со спутниковыми снимками в Windows Mobile:

Вот и все, карты готовы.

Если что-то осталось непонятным — спрашивайте в комментариях — постараюсь ответить.

Михаил Соколов

Автор - Соколов Михаил Борисович, город Киров. Эколог, работаю в химической лаборатории областного природоохранного центра. Фото и видео, если не указано иное, сняты мною. При использовании фото в интернете обязательно указание авторства и активной ссылки на этот сайт. Условия использования в печатной продукции можете узнать, связавшись со мной одним из способов, указанных в разделе «Контакты». Для некоммерческих и бесплатных проектов обычно разрешаю безвозмездное использование фото.

Также может быть интересно...

14 комментариев

  1. Замечательный и оченно полезный материал! Если Вы не против, то хотелось бы утащить его к себе на сайт со сслыкой на оригинал, естественно.

    • Михаил Соколов:

      Да, пожалуйста.
      Тем более ресурс-земляк близкой тематики 🙂

  2. gargu:

    Михаил! Ты мегамонстер! купаемся в лучах твоего величия, и вообще машем этими.. пушистыми махалками, как на стадионе! работает быстро и чудненько твоя инструкция!

  3. Алексей:

    Уважаемый Михаил!
    Прочитал вашу статью «Как создать свою карту для спутниковой навигации». Все, о чем вы пишете прекрасно получается. Но, к сожалению, конца у вашей статьи нет. Она заканчивается: » Теперь осталось оба этих файла залить на мобильное устройство, и указать OziExplorer место, где они лежат.» И ничего не написано, как залить! У меня Garmin eTrex 30. Он с этими файлами упорно не работает. Кроме того, OziExplorer при попытке отрыть эти файлы сообщает об ошибке. Опыта работы у меня никакого. Может, я чего-то не знаю элементарного? Буду очень рад, если вы сообщите мне, что делать дальше. Заранее благодарен. С уважением. Алексей.
    p.s. Мой E-mail: gugonio@rambler.ru

    • Михаил Соколов:

      Спасибо за внимание к статье.
      А эта модель точно поддерживает карты OziExplorer-а?
      Может быть, карты она принимает только в своем, гарминовском формате? И умеет ли вообще работать с растровыми картами?
      Мне кажется, Вам лучше посмотреть по тематическим форумам посвященным этому семейству моделей Garmin, я с таким типом навигаторов не сталкивался.
      А обойден в этой статье момент с заливкой карт на устройство, потому что в каждом случае это делается своим способом — для WindowsMobile одним, для Android — другим и т.д.

    • Михаил Соколов:

      Посмотрел по форумам — вот что пишут:

      В двух словах этот процесс не описать. Для этого надо сконвертировать карту в формат .JNX, потом привязать к координатам. Вам понадобится программа Mapc2Mapc. Но лучше воспользоваться помощью формов или поиска по фразе «растровые карты для Гармин», т.к. эта тема довольно обширная.

      Кроме того, на этапе склейки изображения в SasPlaneta можно выбрать формат «kmz для Garmin» который вроде бы принимается этой моделью.
      И еще: векторные карты из OpenStreetMap доступны уже в нужном формате по ссылке http://gis-lab.info/data/mp/

  4. Татьяна:

    Добрый день, подскажите пожалуйста какие программы нужны, у меня не получается склеить, я прописываю куда сохранить выдает ошибку системе неудается найти указанный путь

    • Склеиваете как на этом скриншоте?

      Имя файла для сохранения правильно выбираете? Может проще через кнопку с тремя точками справа от «Куда сохранять»?
      Попробуйте в корень диска C сохранить, может на каком-то этапе вводите несуществующий или заблокированный путь?

  5. Татьяна:

    спасибо за ответ, вопрос снят, я скачивала SasPlaneta с официального сайта и у меня застопилось на склеивании, скачав по другой ссылке все получилось, склеила, отконвертировала , закачала в андроид все работает, вот только немогу найти как оставить на карте уже выделенный район, чтоб дважды его не скачивать

    • Сохранить выделение или сохранить скачанное? Если программа распакована корректно, в папку, разрешенную на запись, то кэш на диск сохраняется автоматически. А если речь о сохранении выделения, то в статье есть же скриншот, как вызвать предыдущее выделение:

  6. Татьяна:

    да склеивание было как на скриншоте, у меня не работала кнопка «куда сохранить, с права с точками», я забивала путь в ручную, может поэтому и не получалось

  7. Татьяна:

    сохранить скаченное

  8. Евгений:

    День добрый! Статья очень интересная и познавательная, спасибо!
    У меня же следующий вопрос — есть какие-нибудь приложения на Android для того, чтобы автоматически из картинки (фото) сделать карту, то есть использовать картинку как фон, назначив лишь масштаб для соотношения масштаба изображения и реального масштаба?

    • Не совсем понял о каком фото идет речь. Если о спутниковом фото — то здесь как раз описан такой способ. Фотографию же надо привязать к координатам. И подготовленную таким способом подложку можно открыть в OziExporer и поддерживающих его формат программа под Android — например Androzic.

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

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