После оглушительного фиаско, которое подстерегло нас на первом этапе 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 и распространялась бесплатно в базовом варианте. За всякий дополнительный функционал, как водится, предлагают доплатить, но нас пока устроит и бесплатная версия.
Список поддерживаемых форматов для импорта этой программой весьма внушителен. Я использовал растровый файл (tif, jpg, png, gif) + файл привязки map. Отлично работают и готовые ozf карты.
Рассмотрим в качестве примера связку из двух файлов p6-08-2.GIF и p6-08-2.MAP. Это фрагмент Атласа ЕГС в районе яхт-клуба Венеция, где базировались лодки на первом этапе PAL. Именно в таком виде мне удалось найти эти карты на замечательном сайте картататарстана.рф.
Запускаем MapTiler, заходим в меню File->Add an input file. Выбираем файл картинки, в нашем случае p6-08-2.GIF. После выбора получаем такое окошко.
Не пугаемся, жмем кнопку Close внизу. После этого появляется окошко выбора привязки
Вот здесь уже нажимаем Load from OziExplorer и выбираем p6-08-2.MAP. Если все прошло гладко, то вы должны увидеть фрагмент карты (она грузится программой из интернета) с красным прямоугольником, выделяющим область привязки вашей растровой карты. Если же файл привязки оказался “битый”, то вы поймете это по неправильному расположению красной области. Пару раз мне приходилось править map файл вручную в текстовом редакторе, но, пожалуй, это выходит за рамки данной статьи.
Бесплатная версия позволяет за один раз обрабатывать только один растровый файл, поэтому если у вас файлов много, запаситесь терпением, времени это займет порядком. Жмем кнопку Continue и попадаем на следующий экран нашего квеста. Особого выбора опций в нашей бесплатной версии нет, но те, что выбраны по умолчанию, весьма неплохи
Поэтому советую даже не нажимать на эту кнопку Advanced Options, а сразу жать на кнопку Render. После выбора папки для готовых файлов (совет, не используйте кириллицы и давайте осмысленное название каталогу!) начнется процесс обработки, если все прошло удачно, то можно увидеть следующую картинку
Здесь же можно и полюбоваться вашей картой, наложенной на гуглоснимок. Отмечу, что бесплатная версия MapTiler добавляет на изображение водяные знаки с адресом собственного сайта, однако эти водяные знаки достаточно “корректные” и не мешают дальнейшей работе с картой.
Посмотрите на содержимое полученного каталога. Результатом работы программы являются обработанный и порезанный на куски (тайлы) растр и служебные html и json файлы. Теперь все это добро нужно поместить в обычный zip архив, всю папку.
Дальше не менее интересно. Нужно каким-то образом отправить этот zip архив на яблочное устройство, чтобы программа iGIS HD смогла его импортировать. Владельцы яблочных устройств знают, что отправка файла на устройство не является тривиальной задачей. В pdf-файле с инструкцией к программе iGIS разработчики рекомендуют 3 способа отправки файла: 1) по электронной почте, 2) через сервис Dropbox, 3) через USB подключение устройства к компьютеру с помощи фирменной программы Apple iTunes. Для меня самый простой способ – по почте — не сработал, яблочный почтовый ящик ругнулся на слишком большой размер файла, возможно у вас получится лучше. Второй и третий способы отработали нормально, причем мне больше понравился вариант с прямой передачей файлов через iTunes, хотя для пользователей не очень дружных с этой яблочной приблудой этот способ может показаться слишком сложным. Для этого нужно синхронизировать программы, установленные на вашем устройстве с версией iTunes, установленной на Большом Брате. После этого в разделе программы, если пролистать в самый низ, можно обнаружить раздел Общие файлы для конкретной программы. Нас разумеется интересует программа iGIS HD. Добавляем файл и синхронизируем устройство. Внимание! Аккуратно настраивайте опции синхронизации iTunes и вашего устройства, неправильные настройки могут привести к удалению с устройства того, что удалять бы не следовало.
После загрузки всех нужных нам карт в виде zip архивов на устройство наступил черед работы непосредственно с iGIS HD на iOS. Запускаем программу.
В левом нижнем углу есть две кнопки: + и пиктограмма папки. Нажимаем на вторую и попадаем в каталог данных (Data).
Если вы только установили программу, то у вас в каталоге данных будет только демонстрационная карта, на моем устройстве (на скриншоте) накидано уже много карт, пусть вас это не вводит в заблуждение. Для импорта нашей карты p6-08-2.zip нажимаем + (плюс) в правом верхнем углу, выбираем USB (или Dropbox в зависимости от способа передачи файла).
Вы должны увидеть наш zip архив.
Выбираем его, нажимаем Import в верхнем правом углу.
Все, теперь карта доступна в качестве растрового слоя (Imagery Layer).
Для того, чтобы дальше работать с этим слоем нам нужно создать новый проект, для этого нажимаем значок + (плюс) в левом нижнем углу главного окна программы, вводим название проекта, например, Atlas.
В один проект можно добавлять множество различных слоев, как векторных, так и растровых. Добавим растровый слой с нашей картой p6-08-2.
Для этого после создания проекта нажимаем Add New Layer, выбираем Imagery,
Ищем наш слой p6-08-2, выбираем его.
В настройке Style/Color можно менять прозрачность слоя, но как показала практика iPad и так слепой на ярком солнце, а с выставленной прозрачностью слоя ситуация еще сильнее усугубляется ((( Поэтому прозрачность лучше убрать.
Нажимаем Save, все, теперь в вашем проекте (карте) есть первый слой. Аналогично добавляем в этот проект другие слои, только нужно учитывать, что если разрешение растровой карты велико и слоев много, то ваше портативное устройство может серьезно подтормаживать. Связано ли это с сыростью (неоптимизированностью) программы iGIS HD или же устройству просто не хватает памяти, но факт остается фактом. Около десятка листов Атласа ЕГС уже прилично подтормаживали мой iPad. Поэтому я рекомендую не перегружать один проект слишком большим количеством тяжелых слоев, а лучше сделать несколько проектов и выбирать нужный при навигации. Если вы закрыли настройки проекта, то вновь вернуться к режиму редактирования можно, нажав кнопку с символом “i” правее иконки созданного проекта. Нажатие же на сам проект переносит нас в режим навигации. По умолчанию наша растровая карты накладывается на гугло-снимок. Что весьма удобно. Но если интернет соединение не доступно, то гугло-карту лучше отключить, тогда не будет лагов, связанных с тем, что iGIS пытается подгрузить подложку карты. Настройки отображения регулируются в меню, доступном после нажатия кнопки в левом верхнем углу.
Чтобы перейти в режим отслеживания текущего положения нужно нажать на иконку в левом нижнем углу (аналогичные кнопки есть почти у всех программ-навигаторов).
Практически по тому же алгоритму можно загрузить в планшет или яблофон самодельную карту глубин, нужно только сохранить ее в растр в Рифмастере или Доктор Депс, при этом автоматически создается KML привязка. Теперь нужен еще один “переходник” – программа mapc2mapc, упомянутая в статье Константина Кудинова про точечную картографию. С ее помощью получаем совместимый с Ozi растровый формат с привязкой, дальше аналогично. Если у вас есть полная (платная) версия последнего Рифмастера 1.8, то перспективы вырисовываются весьма заманчивые, можно накладывать несколько слоев, включая изобаты, 3-d глубину или даже мозаику дна с твердостью и корягами. Но практического опыта подобной комбинации у меня пока нет, так как есть только “вечно пробный” Рифмастер 1.7, а он 3-d картинку в растр сохранять отказывается. Только изобаты, хотя и этого вполне достаточно.
В качестве ощутимых недостатков программы iGIS HD отмечу, что в бесплатной версии я так и не смог научиться запоминать трэки и ставить точки, а также измерять расстояние между объектами на карте. Также было несколько вылетов программы, возможно программа еще сыровата и после обновления заработает лучше. Необходимо отметить серьезные недостатки планшета при использовании его в лодке: отсутствие влагозащиты и недостаточная яркость на солнце, приходится с этим мириться и что-то придумывать в плане подставок, чехлов и козырьков для создания тени. Безусловно специализированный 10-12 дюймовый экран картплоттера уровня Лоуренса или Хамминберда будет лучше на несколько порядков, но тут и совсем другие цены.
В целом практика показала, что использовать яблочную технику для навигации можно примерно с таким же успехом, как и планшеты или смартфоны на базе Андроид. Не лучше и не хуже. Безусловная победа специализированной электроники в этом деле очевидна. Но если у вас уже есть яблочная игрушка, а до второго топового картплоттера вы еще не “доросли” (первый же используется для эхолокации и структуры!), то вполне можно попробовать. На этапе в Казани все затопленные реки и озера мы видели, находили … но вот с руками и головой надо что-то делать. В плане поиска рыбы на тренировке явно недоработали, хотя техническое оснащение и карты были у нас на высоком уровне.
Разумеется, все вопросы, связанные с использованием iOS устройств для растровой картографии, в этой статье я не отразил. Объем и так получился большой, а многие моменты затронул лишь поверхностно. Возможно к некоторым нюансам придется вернуться в другой публикации в блоге или в ответах на вопросы, если оные возникнут.
Надеюсь, что кому-то мои труды будут полезны, даже если результатом прочтения будет отказ от использования планшета для картографии. Отрицательный результат – этот тоже результат )))