Создание электронных карт
Электронные карты бывают двух типов - векторные и растровые.
Векторная карта представляет из себя файл, являющийся базой данных, содержащий навигационную информацию о районе покрытия карты, такую как: границы карты, координаты объектов на карте, их цвета, порядок наложения друг на друга и другую информацию, сгруппированную в определённой архитектуре, определяемой форматом картографического файла.
Векторные карты являются более современными и позволяют судоводителю получать наиболее подробную информацию о районе плавания в удобном виде, например получить сведения о буе или светящем знаке - его цвете, характеристике огня и т.п. прямо с карты, щёлкнув мышью по значку объекта. Набор векторных карт C-Map, пригодных для работы в OpenCPN и покрывающих весь Земной шар, можно легко найти на известных торрент ресурсах. Просто погуглите, скачайте, положите в нужный каталог, укажите путь к картам в настройках OpenCPN и вы получите навигационную программу с полным набором карт. При этом нельзя забывать, что электронные карты только дублируют бумажные, а последние должны быть на борту ОБЯЗАТЕЛЬНО, равно как и в обязательном порядке должна вестись исполнительная прокладка на бумажной карте.
Растровая карта - это картинка, привязанная в определённом масштабе к заданным координатам в заданной проекции (развёртке на плоскость). История электронной картографии берёт своё начало именно с растровых карт. Такие карты предоставляют судоводителю только графическую информацию, которую он должен обработать самостоятельно с помощью классических средств - книг и справочников, например в описанном выше случаем с буём или навигационным знаком. Растровые карты, являясь картинкой, имеют больший в сравнении с векторными объём, что приводит к более медленной работе картографической системы. Однако растровую карту можно изготовить самостоятельно из имеющейся бумажной по средствам сканирования и обработки в специальных программах, что безусловно является их преимуществом, о и чём пойдет речь дальше. Использование растровых карт крупных масштабов совместно с векторными, что возможно в OpenCPN, наиболее удобно и обеспечивает максимальную безопасность судовождения при минимальных финансовых затратах или их отсутствии.
Готовые растровые карты в формате *.kap, созданные мной или найденные в интернете, вы можете скачать здесь.
Создание растровой навигационной карты с помощью средств ОС Navigatrix
Операционная система Navigatrix уже содержит всё необходимое для создания растровой навигационной карты в формате *.kap. Всё что нужно, имея аккуратно и ровно отсканированое изображение бумажной карты, выполнить следующую последовательность действий:
1) Открыть терминал (командную строку), см. рис.1
2) Создать gif-файл.
В моём случае файл с изображением карты называется chart_dem1.png и имеет разрешение *.png, но может иметь любой - jpg, gif, tiff и т.п., и находится в папке по адресу /andrey/charts_demo/chart_dem1.png, где andrey - системный раздел user, имя которого задаётся при установке Navigatrix на компьютер, я назвал его andrey, а вашем случае он может называться по-другому. В терминале вводим команду, см. рис.2:
convert charts_demo/chart_dem1.png -colors 127 chart_dem1.gif
где в пути к исходному файлу опущена директория /andrey так как терминал по-умолчанию обращается именно к ней, указывать её не надо. Нажимаем Enter.
Если конвертирование файла произошло удачно, внизу появится системный маркер с именем пользователя, в моём случае andrey@andrey-laptop:~$. В системной директории /andrey теперь появился файл chart_dem1.gif. Этот файл имеет 127-цветную палитру, что можно понять из выполняемой команды.
3) Создаём tif-файл.
В терминале, см. рис.3:
convert chart_dem1.gif -colors 127 chart_dem1.tif
то есть теперь преобразовываем только что созданный gif-файл в tif-файл chart_dem1.tif, который также создаётся в системной директории /andrey, рядом с chart_dem1.gif.
4) Создаём png-файл.
Зачем второй раз png, ведь такой уже есть?! Так надо, новый png-файл как минимум имеет палитру из 127, а не 254 цветов!
В терминале, см. рис.4:
convert chart_dem1.tif -colors 127 chart_dem1.png
В той же директории /andrey создаём появиться файл chart_dem1.png, который теперь можно "калибровать" (привязывать по координатам к местности).
5) Запускаем Chart Converter - программу SeaClear, см. рис.5:
6) Сразу после запуска появляется интерфейс выбора файла с изображением карты. Выбираем созданный на шаге 4 файл chart_dem1.png и нажимаем OK. См. рис.6:
Появляется окно, предлагающее подтвердить калибровку выбранного файла. Нажать ОК. См. рис.6.1:
7) Открывается программа SeaClear (Mapcal). File - Open - находим и открываем файл chart_dem1.png, который уже выбирали на шаге 6 - его необходимо выбрать второй раз. Нажимаем Open. См. рис.7:
8) В рабочем поле программы появляется изображение карты и сразу же открывается окно, в котором предлагается ввести данные карты, см. рис.8:
- Chart name - любое название, адекватно обозначающее карту как карту определённого района и масштаба;
- Scale - масштаб карты, берется с бумажной карты - исходника, в моём случае 1:50000;
- Depth Units - метры;
- Projection - Mercator, меркаторская, его имеют все морские навигационные карты;
- Latitude - широта проекции карты, относительно которой построена карта, обычно обозначается на бумажных картах, в моём случае 60°00.0'N;
- Datum - WGS84 (выбран по-умолчанию), тип эллипсоида проекции карты;
- Other information - любая, включая авторскую, то есть вашу, информация.
9) После этого приступаем к заданию опорных точек, то есть точек с известными координатами. Координаты опорных точек снимаются с бумажной карты. Проще всего в качестве опорных точек принимать пересечение линий параллелей и меридианов на карте, они имеют целые значения минут. Опорных точек должно быть как минимум три, но лучше четыре, расположенные максимально близко к углам карты. В панели инструментов SeaClear выбираем вкладку "Cal", в рабочей области, на карте кликаем в нужной точке правой клавишей мыши и из выпадающего меню выбираем "Add New Cal. Point", см. рис.9:
10) После добавления точки, на карте появляется красный квадратный маркер. Далее, в окнах Lat и Long, на панели инструментов слева, вводим координаты опорной точки, снятые с бумажной карты. Из выпадающего списка ниже выбираем тип координатной сетки, накладываемой на растр (изображение карты) и отображаемой в дальнейшем в ЭКНИС OpenCPN при использовании карты, я выбрал Normal grid. Нажимаем "Activate Changes". См. рис.10:
11) Последовательно создаём четыре опорные точки на растре, расположенные максимально близко к его углам, каждый раз, после создания очередной точки, нажимая "Activate Changes". На рис.11, ниже, уже видна координатная сетка (с параметром Normal Grid).
12) После создания опорных точек, в панели инструментов SeaClear переходим на вкладку "Border" для задания границ карты. Область внутри заданных границ растра ЭКНИС и распознаёт как навигационную карту. Щёлкая правой клавишей мыши в углах карты, выбираем из выпадающего списка "Add New Border Point" и последовательно создаём четыре точки, из которых программа задаст границы поля карты. См. рис.12:
13) После задания границ карты, сохраняем калибровку File - Save Calibration. См. рис.13:
В системной директории /andrey появится файл CHARTCAL.DIR, см. рис.13.1:
14) В терминале (см. шаг 1):
mc2bsbh CHARTCAL.DIR
С помощью программного инструмента "mc2bsbh" в системной директории /andrey создаётся файл CHART_DEM1.hdr, который является заголовком для будущей карты. Как видно из рисунка выше, помимо нужного нам файла, создаются также и другие файлы с расширением *.hdr, дело в том, что программа SeaClear единожды формирует в системной директории файл CHARTCAL.DIR и в дальнейшем дописывает в него данные каждого нового откалиброванного растра. В моём случае, ранее были созданы калибровки 23950001.hdr, 23950002.hdr и т.д. В действительности, в директории /andrey появится только один файл - созданный нами только что CHART_DEM1.hdr, остальные просто перезапишутся "сверху".
15) Создаём карту - файл chart_dem1.kap - саму карту (см. рис.15). В терминале:
tif2bsb -c 127 CHART_DEM1.hdr chart_dem1.tif chart_dem1.kap
После выполнения этой команды, в системной директории /andrey появляется файл chart_dem1.kap (см. рис.15.1)
Ката готова к использованию.
Добавление новой kap-карты в ЭКНИС OpenCPN
16) Открываем OpenCPN и в панели управления открываем панель инструментов (см. рис.16).
17) В открывшемся диалоге выбираем вкладку Charts (Карты). В разделе "Available charts directories" необходимо указать путь к созданной карте chart_dem1.kap (см. рис.17) или к папке chart_2395_1, в которой она находиться (см. рис.17.1). В последнем случае, если в этой папке есть другие карты читаемых OpenCPN форматов, они также будут отображаться в ЭКНИС.
Нажимаем "Add selection" - путь к карте или каталогу появляется в нижнем поле "Active Chart Directories". Отмечаем галочкой чек-бокс "Force Full Database Rebuild" и нажимаем OK.
Теперь созданная карта chart_dem1.kap стала доступной для навигации в OpenCPN. Если после выполнения "Force Full Database Rebuild" карта не отображается, закройте и заново откройте OpenCPN.