Григорий Бузало: Растровая картография: теперь и на «Яблоке»

Азы и секреты построения растровых карт навигации для устройств Apple в материале Григория Бузало

14/07/2015

После оглушительного фиаско, которое подстерегло нас на первом этапе PAL2015 в Казани очень трудно собраться и заставить себя писать что-нибудь. Но анонс был, обещания нужно выполнять.

Итак, эта статься посвящена попытке “поженить” точечную, т.е. растровую картографию и навигацию на смартфонах и планшетах компании Apple. Практические испытания в Казани показали, что данная тема пока что очень далека от идеала, но тем не менее это лучше, чем ничего. Не секрет, что картографические программы на “яблочных” устройствах в основной массе распространяются на платной основе. Это известные программы iSailor и Navionics HD, для того, чтобы получить работоспособную версию нужно заплатить и немало. При этом вы получаете возможность работать с картами, которые применительно к бассейну р. Волга весьма и весьма скудны. Так, у Навионикса покрытие великолепных карт глубин SonarCharts распространяется на мою родную реку Дон, на Днепр и даже р. Кубань, но для Волги – sonar charts data non available – фиг вам, если перевести на русский.

При этом ни одна из этих программ не предоставляет возможности работать с собственными привязанными по GPS координатам растровыми картами, как это умеет делать OziExplorer и его клоны. А ведь именно в растре существуют не потерявшие ценности топографические карты Генштаба (в том числе старые, до затопления водохранилищ) и Атлас единой глубоководной системы (АЕГС), на базе которого построены практически все коммерческие векторные лоции того же Навионикса или Гармина. И именно в растре лучше сохранять собственноручно построенные в Рифмастере или Докторе Депсе карты глубин для последующего переноса на планшет или телефон. В качестве привязки в этом случае используется гугловский формат KML.

Путем усиленного “гугления” интернета мне удалось наткнуться на новинку – программу iGIS HD (http://www.geometryit.com). Авторы утверждают, что это первая геоинформационная система (ГИС) для платформы iOS. На самом деле программы с нужным нам функционалом были и ранее, но по каким-то причинам Apple изгнала их из AppStore, таким образом установить их можно только если выполнить взлом – jailbreak вашего устройства. Что далеко не всегда приемлемо. iGIS HD на момент написания статьи абсолютно легально находилась в AppStore и будем надеяться там и останется в дальнейшем. Версия Pro, к сожалению, платная, но для начала хватит и бесплатной базовой версии, хотя некоторых вкусностей Pro версии мне определенно не хватало, например, инструмента Линейка для измерения расстояний.

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

К сожалению, напрямую формат привязанных карт Ozi (*.map файлы + растр) iGIS не поддерживает. Для импорта данных разработчики рекомендуют воспользоваться сторонней программой MapTiler (http://www.maptiler.com). На самом деле эта программа – часть сервиса, с помощью которого вы можете выгружать собственные карты в интернет, а потом работать с ними с вашего устройства онлайн. Но нам интереснее иметь офлайн карту в устройстве, чтобы не зависеть от прихотей мобильного интернета, который, как известно, покрывает далеко не все водоемы нашей необъятной Родины.

Поэтому скачиваем и устанавливаем на ваш компьютер (да-да, нам понадобится Большой Брат, без него, увы, карты для iOS не подготовишь). На момент написания статьи актуальная версия MapTiler была 0.6.1 и распространялась бесплатно в базовом варианте. За всякий дополнительный функционал, как водится, предлагают доплатить, но нас пока устроит и бесплатная версия.

3cdde1059006dd8837323a6e6ef5ac0d.png

Список поддерживаемых форматов для импорта этой программой весьма внушителен. Я использовал растровый файл (tif, jpg, png, gif) + файл привязки map. Отлично работают и готовые ozf-карты.

Рассмотрим в качестве примера связку из двух файлов p6-08-2.GIF и p6-08-2.MAP. Это фрагмент Атласа ЕГС в районе яхт-клуба Венеция, где базировались лодки на первом этапе PAL. Именно в таком виде мне удалось найти эти карты на замечательном сайте картататарстана.рф.

188f583f4d9c1fd43b12a708dfb48af3.GIF

Запускаем MapTiler, заходим в меню File->Add an input file. Выбираем файл картинки, в нашем случае p6-08-2.GIF. После выбора получаем такое окошко.

f4c15b7446cf21c6061b03e739b98f4f.png

Не пугаемся, жмем кнопку Close внизу. После этого появляется окошко выбора привязки.

94d941391bb0ad2082c295dd5867ffd9.png

Вот здесь уже нажимаем Load from OziExplorer и выбираем p6-08-2.MAP. Если все прошло гладко, то вы должны увидеть фрагмент карты (она грузится программой из интернета) с красным прямоугольником, выделяющим область привязки вашей растровой карты. Если же файл привязки оказался “битый”, то вы поймете это по неправильному расположению красной области. Пару раз мне приходилось править map файл вручную в текстовом редакторе, но, пожалуй, это выходит за рамки данной статьи.

51aceb2c81cc4d0a05f5f201a43e70b1.png

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

aa38c995d2a519334b54f6460ebbb4c1.png
7340214e9e8e03a5f547afe6c3f500ad.png

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

fe700e50ab87fd54555bde48944d1383.png

Здесь же можно и полюбоваться вашей картой, наложенной на гуглоснимок. Отмечу, что бесплатная версия MapTiler добавляет на изображение водяные знаки с адресом собственного сайта, однако эти водяные знаки достаточно “корректные” и не мешают дальнейшей работе с картой.

56e87b60549d46b3ce7b7c11b9121b44.png
Посмотрите на содержимое полученного каталога. Результатом работы программы являются обработанный и порезанный на куски (тайлы) растр и служебные html и json файлы. Теперь все это добро нужно поместить в обычный zip-архив, всю папку.
Дальше не менее интересно. Нужно каким-то образом отправить этот zip-архив на яблочное устройство, чтобы программа iGIS HD смогла его импортировать. Владельцы яблочных устройств знают, что отправка файла на устройство не является тривиальной задачей. В pdf-файле с инструкцией к программе iGIS разработчики рекомендуют 3 способа отправки файла: 1) по электронной почте, 2) через сервис Dropbox, 3) через USB подключение устройства к компьютеру с помощи фирменной программы Apple iTunes.

Для меня самый простой способ – по почте — не сработал, яблочный почтовый ящик ругнулся на слишком большой размер файла, возможно у вас получится лучше. Второй и третий способы отработали нормально, причем мне больше понравился вариант с прямой передачей файлов через iTunes, хотя для пользователей не очень дружных с этой яблочной приблудой этот способ может показаться слишком сложным. Для этого нужно синхронизировать программы, установленные на вашем устройстве с версией iTunes, установленной на Большом Брате.

После этого в разделе программы, если пролистать в самый низ, можно обнаружить раздел Общие файлы для конкретной программы. Нас разумеется интересует программа iGIS HD. Добавляем файл и синхронизируем устройство. Внимание! Аккуратно настраивайте опции синхронизации iTunes и вашего устройства, неправильные настройки могут привести к удалению с устройства того, что удалять бы не следовало.

8c3f653b87b41517a2ba96fbfbcbcdb6.png

После загрузки всех нужных нам карт в виде zip архивов на устройство наступил черед работы непосредственно с iGIS HD на iOS. Запускаем программу.
В левом нижнем углу есть две кнопки: + и пиктограмма папки. Нажимаем на вторую и попадаем в каталог данных (Data).
d60537874510cabddda207400cdee05b.PNG

Если вы только установили программу, то у вас в каталоге данных будет только демонстрационная карта, на моем устройстве (на скриншоте) накидано уже много карт, пусть вас это не вводит в заблуждение. Для импорта нашей карты p6-08-2.zip нажимаем + (плюс) в правом верхнем углу, выбираем USB (или Dropbox в зависимости от способа передачи файла).

e07446ee024ddbe0b23c473e52cd627a.PNG
Вы должны увидеть наш zip-архив.
cb444e126744ae9206dae58a7266060a.PNG
Выбираем его, нажимаем Import в верхнем правом углу.

9500d603dc833fe6439553556a3b82b7.PNG

Все, теперь карта доступна в качестве растрового слоя (Imagery Layer).
Для того, чтобы дальше работать с этим слоем нам нужно создать новый проект, для этого нажимаем значок + (плюс) в левом нижнем углу главного окна программы, вводим название проекта, например, Atlas.

e2c35b232bc46c6ace84438f37088a35.PNG
В один проект можно добавлять множество различных слоев, как векторных, так и растровых. Добавим растровый слой с нашей картой p6-08-2.
Для этого после создания проекта нажимаем Add New Layer, выбираем Imagery,
ddaa696cd56c7bce25c9d55aa4c26e79.PNG
Ищем наш слой p6-08-2, выбираем его.
16943500560b16ea0b00ab983a3775aa.PNG

В настройке Style/Color можно менять прозрачность слоя, но как показала практика iPad и так слепой на ярком солнце, а с выставленной прозрачностью слоя ситуация еще сильнее усугубляется ((( Поэтому прозрачность лучше убрать.
ba565fb2ffab735eaac5239cd0951dd8.PNG
Нажимаем Save, все, теперь в вашем проекте (карте) есть первый слой. Аналогично добавляем в этот проект другие слои, только нужно учитывать, что если разрешение растровой карты велико и слоев много, то ваше портативное устройство может серьезно подтормаживать. Связано ли это с сыростью (неоптимизированностью) программы iGIS HD или же устройству просто не хватает памяти, но факт остается фактом. Около десятка листов Атласа ЕГС уже прилично подтормаживали мой iPad. Поэтому я рекомендую не перегружать один проект слишком большим количеством тяжелых слоев, а лучше сделать несколько проектов и выбирать нужный при навигации. Если вы закрыли настройки проекта, то вновь вернуться к режиму редактирования можно, нажав кнопку с символом “i” правее иконки созданного проекта. Нажатие же на сам проект переносит нас в режим навигации.

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

f48198ca8474173a34c4598400bbed45.PNG
Чтобы перейти в режим отслеживания текущего положения нужно нажать на иконку в левом нижнем углу (аналогичные кнопки есть почти у всех программ-навигаторов).
Практически по тому же алгоритму можно загрузить в планшет или яблофон самодельную карту глубин, нужно только сохранить ее в растр в Рифмастере или Доктор Депс, при этом автоматически создается KML привязка. Теперь нужен еще один “переходник” – программа mapc2mapc, упомянутая в статье Константина Кудинова про точечную картографию. С ее помощью получаем совместимый с Ozi растровый формат с привязкой, дальше аналогично. Если у вас есть полная (платная) версия последнего Рифмастера 1.8, то перспективы вырисовываются весьма заманчивые, можно накладывать несколько слоев, включая изобаты, 3-d глубину или даже мозаику дна с твердостью и корягами. Но практического опыта подобной комбинации у меня пока нет, так как есть только “вечно пробный” Рифмастер 1.7, а он 3-d картинку в растр сохранять отказывается. Только изобаты, хотя и этого вполне достаточно.

В качестве ощутимых недостатков программы iGIS HD отмечу, что в бесплатной версии я так и не смог научиться запоминать трэки и ставить точки, а также измерять расстояние между объектами на карте. Также было несколько вылетов программы, возможно программа еще сыровата и после обновления заработает лучше. Необходимо отметить серьезные недостатки планшета при использовании его в лодке: отсутствие влагозащиты и недостаточная яркость на солнце, приходится с этим мириться и что-то придумывать в плане подставок, чехлов и козырьков для создания тени. Безусловно специализированный 10-12 дюймовый экран картплоттера уровня Лоуренса или Хамминберда будет лучше на несколько порядков, но тут и совсем другие цены.

В целом практика показала, что использовать яблочную технику для навигации можно примерно с таким же успехом, как и планшеты или смартфоны на базе Андроид. Не лучше и не хуже. Безусловная победа специализированной электроники в этом деле очевидна. Но если у вас уже есть яблочная игрушка, а до второго топового картплоттера вы еще не “доросли” (первый же используется для эхолокации и структуры!), то вполне можно попробовать. На этапе в Казани все затопленные реки и озера мы видели, находили … но вот с руками и головой надо что-то делать. В плане поиска рыбы на тренировке явно недоработали, хотя техническое оснащение и карты были у нас на высоком уровне.

Разумеется, все вопросы, связанные с использованием iOS устройств для растровой картографии, в этой статье я не отразил. Объем и так получился большой, а многие моменты затронул лишь поверхностно. Возможно к некоторым нюансам придется вернуться в другой публикации в блоге или в ответах на вопросы, если оные возникнут.
Надеюсь, что кому-то мои труды будут полезны, даже если результатом прочтения будет отказ от использования планшета для картографии. Отрицательный результат – этот тоже результат.
С уважением, Григорий Бузало

Еще материалы

Ты помнишь как все начиналось? ТРЕНИРОВКИ GRUNDENS PAL OPEN 2024

Видео от экипажа Чичерин-Петков
12/07/2024
Трасляция

GRUNDENS PAL Open 2024 Взвешивание. Продолжние трансляции

Рыболовный турнир GRUNDENS PAL Open 2024 Прямая трансляция процедуры взвешивания. 2-я часть
05/07/2024

Церемония награждения GRUNDENS PAL Open 2024. Фотогалерея

Награждение призеров Открытого квалификационного турнира GRUNDENS PAL Open 2024
05/07/2024

Основное взвешивание 3-го Тура GRUNDENS PAL Open 2024. Фотогалерея

Процедура основного взвешивания уловов экипажей Открытого квалификационного турнира GRUNDENS PAL Open 2024. 3-й Тур.
05/07/2024

Предварительное взвешивание. 3-й Тур GRUNDENS PAL Open 2024. Фотогалерея

Предварительное взвешивание результатов финального тура 2024
05/07/2024
LIVE REPORTS

GRUNDENS PAL OPEN 2024. Заключительный LIVE REPORTS!

Grundens PAL Open 2024 завершен! Благодарим всех, кто разделил с нами весь драйв турнира!
04/07/2024
Трасляция

GRUNDENS PAL Open 2024 Награждение. Трансляция

Рыболовный турнир GRUNDENS PAL Open 2024 Прямая трансляция церемонии награждения!
04/07/2024
Официально

GRUNDENS PAL Open 2024: Финальные результаты!

Таблица финальных результатов Открытого квалификационного турнира GRUNDENS PAL Open 2024.
04/07/2024

Старт Финального тура GRUNDENS PAL Open 2024. Фотогалерея

Старт экипажей в финальный день - в нашей галерее!
04/07/2024
LIVE REPORTS

Финальный тур. Старт. GRUNDENS PAL OPEN 2024

Начало Финального игрового дня GRUNDENS PAL OPEN 2024 - утренний "Лайв" с Денисом Демидовым
04/07/2024
Трасляция

GRUNDENS PAL Open 2024 Прямая трансляция. 3-й тур

Рыболовный турнир GRUNDENS PAL Open 2024 Прямая трансляция - Третий тур
04/07/2024

Взвешивание уловов 2-го тура GRUNDENS PAL Open 2024. Фотогалерея

Процедура предварительного и основного взвешивания уловов экипажей - в нашей галерее!
04/07/2024
Наши партнёры
123