Ozi map processor help

Version 0.0.0.4

Официальная страница программы

kart.vrostove.net

Содержание


Понятия и термины

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

Map-файл - файл привязки. Это текстовый файл, сопоставляющий точки изображения карты точкам на местности с учетом проекции и системы координат. Содержит в себе информацию о границах карты и много других полезностей. Всегда имеет расширение .map. Во второй строке map-файла хранится имя карты (отображается в заголовке окна OziExplorer), в третьей строке - имя файла изображения карты.

Файл изображения карты - графический файл, содержащий, собственно, картинку, которую OziExplorer показывает пользователю. Может иметь расширения: .ozf, .ozf2, .ozf4, .ecw, .jpg, .png и другие.

Исторически сложилось так, что в третьей строке map-файла может содержаться как полный путь к графическому файлу, так и имя файла без указания пути. Если там полный путь, OziExplorer ищет графический файл по этому пути, если не находит, ищет указанный файл в той же директории, где находится map-файл. Если и там не находит, предлагает пользователю указать его положение. Если указано только имя файла, поиск ограничивается директорией map-файла.

Это дает нам, с одной стороны, свободу хранить map-файлы отдельно от графических файлов (хоть на другом диске) и использовать один графический файл для разных map-файлов, с другой - затрудняет копирование карт для использования на другом устройстве, поскольку пути к графическим файлам после копирования становятся недействительными. В последнем случае мы должны помещать графический файл в один каталог с map-файлом. Кроме того, в процессе необдуманных или неаккуратных манипуляций с файлами может возникнуть ситуация, когда один графический файл находится по пути, указанному в map-файле, а другой, с тем же именем - в каталоге с map-файлом. OziExplorer будет работать с первым, а мы будем уверены, что актуален - второй.

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


Начало работы

Для начала надо определиться, как хранятся карты, с которыми вы собираетесь работать. Если у вас map-файлы лежат отдельно от графических файлов, скорее всего, вы сделали это намеренно и контролируете ситуацию. Тут я никаких советов давать не буду. Если у вас каждый графический файл лежит в одной папке с его файлом привязки и вы намерены продолжать эту традицию, следует понять, нужно ли вам хранить полный путь к графическому файлу в map-файле. Иногда это удобно, иногда приводит к путанице, иногда это просто лишнее. В любом случае, перед тем, как приступить к пакетным изменениям в картах, желательно создать их резервные копии.

Вариант №1 Просто скопировать папки с картами в отдельный каталог. Достоинства: абсолютная надежность, легко вернуть все исходное состояние. Недостаток: занимает много места на диске.

Вариант №2 Выполнить команду Copy map files (no changes). В случае необходимости вернуть map-файлы назад можно будет простым копированием файлов в проводнике Windows. Работать можно с исходными файлами. Достоинства: не требует много места на диске. Недостатки: При переименовывании графических файлов сделанные ранее копии их "не увидят".

Вариант №3 Выполнить команду Create functional copy of map files - and go to them. Работать с новыми копиями map-файлов, старые оставить в качестве резерва. Годится, если "картинки всегда рядом с map-файлами". При необходимости вернуться в исходное состояние рабочие копии map-файлов можно просто удалить. Если все действия по работе с картами прошли успешно, можно скопировать обработанные копии файлов обратно к их графическим файлам командой Copy map files to the folder of their images А можно скопировать графические файлы к их map-файлам командой Copy images to the folder of their map files. В последнем случае вы получите два каталога с картами, первоначальный и конечный. Достоинства: ваш каталог с картами в процессе работы остается нетронутым (только если вы не захотите переименовать файлы карт)


Описание функций меню Ozi map processor

Directory

Позволяет добавлять в список карты. Выбранные папки сканируются на предмет map-файлов, найденные добавляются в список.

При добавлении в список map-файла Ozi map processor проверяет ее корректность: наличие на диске файла изображения карты, указанного в его третьей строке. Если файл существует, карта отмечается галочкой, если нет - не отмечается.


Directory - Choose single

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


Directory - Append single

Позволяет выбрать папку с файлами карт. В имеющийся список будут добавлены все карты из выбранной папки без учета подпапок.


Directory - Choose with subdirs

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


Mark

Позволяет указать, с какими картами из списка надо будет работать.


Mark - All

Все карты из списка отмечаются галочкой.


Mark - None

Все отметки снимаются.


Mark - Invert

Все отметки инвертируются.


Mark - Selected

Отмечаются все карты, выделенные с помощью удерживания клавиши "Шифт". Невыделенные карты игнорируются (остаются как есть)


Mark - Selected only

Отмечаются все карты, выделенные с помощью удерживания клавиши "Шифт". Со всех невыделенных карт отметки снимаются.


Mark - All correct maps

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


Mark - Map path = image path

Только для map-файлов, в третьей строке которых указан полный путь к файлу изображения. Эта функция нужна, чтобы убедиться, что мы можем удалить путь к файлу изображения карты из map-файла и карта при этом останется корректной.


List

Все операции кроме Show directories in use и Rescan directories in use производятся только над картами, отмеченными галочками.


List - Remove marked from list

Удаляет отмеченные карты из списка.


List - Show directories in use

Показывает папки, содержащие имеющиеся в списке карты. Подпапки не учитываюся. Это для случаев, когда карты в список были добавлены командами Choose with subdirs и Append single.


List - Rescan directories in use

Очищает список, сканирует упомянутые выше папки на предмет map-файлов. Это для тех случаев, когда часть карт были вручную удалены из списка и их надо вернуть.


List - Check if map file names are unique

Проверяет, возможна ли операция Create functional flat copy of map files.


List - Check if map names applicable for file names

Проверяет, можно ли использовать имена карт (вторая строка map-файла) в качестве имени файла. Если имена карт содержат запрещенные для имен файлов символы (":", "\" и другие), проверка не проходит. Эта проверка нужна перед операцией переименовывания файлов с использованием имен карт.


List - Check if map path + map name are unique

Проверяет, уникальны ли пары "имя карты" плюс "путь к map-файлу". Эта проверка нужна перед операцией переименовывания файлов с использованием имен карт.


List - Check if image path + map names are unique

Проверяет, уникальны ли пары "имя карты" плюс "путь к файлу изображения карты". Эта проверка нужна перед операцией переименовывания файлов с использованием имен карт.

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


List - Calculate map images size

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


Process

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


Process - Create functional copy of map files - and go to them

Создает функциональную копию map-файлов в отдельной выбранной пользователем папке и переходит к скопированным файлам. Эта команда не делает копий файлов изображений, они остаются где были. Все загруженные до этого map-файлы остаются без изменений и удаляются из списка. Список заполняется созданными копиями.

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

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


Process - Create functional copy of map files - and stay here

Делает все, что описано в предыдущем пункте, только не переходит к копиям map-файлов. Копии создаются, а в списке остаются исходные карты.


Process - Create functional flat copy of map files - and go to them

Делает все описанное двумя пунктами выше с одним исключением: не создает структуры каталогов, пытается все копии map-файлов свалить в одну кучу. Мне эта функция понадобилась для работы с RastrIndexMap, которая не умеет сканировать подпапки.


Process - Create functional flat copy of map files - and stay here

Все должно быть понятно из предыдущих трех пунктов.


Process - Copy map files (no changes)

Создает копию map-файлов как описано четырьмя пунктами выше, только не вносит в них никаких изменений. Просто дублирует структуру каталогов и копирует в них map-файлы. Если в них не были указаны полные пути к файлам изображений, они становятся нерабочими. Список карт не изменяется. Кому-то будет удобно делать архивные копии map-файлов.


Process - Copy map files to the folder of their images - and go to them

Эта команда выполнима только для map-файлов, в которых указан полный путь к файлам изображений и которые расположены отдельно от них. Например, к файлам, созданным командой Create functional copy of map files. Каждый файл карты, отвечающий этим условиям, копируется в каталог, в котором находится соответствующий ему графический файл. Map-файлы, имеющиеся в папках с файлами изображений, в случае совпадения имен перезаписываются. В копируемых map-файлах никаких изменений не делается. Список очищается и заполняется созданными копиями.


Process - Copy map files to the folder of their images - and stay here

Делается все описанное в предыдущем пункте, только список не изменяется.


Process - Copy images to the folder of their map files

Эта команда выполнима только для map-файлов, в которых указан полный путь к файлам изображений и которые находятся в отдельной папке. Например, к файлам, созданным командой Create functional copy of map files. Графические файлы, имеющиеся в папках с map-файлами, при совпадении имен перезаписываются. Map-файлы обновляются с учетом того, что их графические файлы теперь находятся в новом месте (удаляются пути к графическим файлам). Список обновляется.

Если в настройках выбрано "Использовать BFC", то копирование графических файлов будет проходить в фоновом режиме. Можно попытаться продолжить работу с программой не дожидаясь завершения файловых операций.


Process - Resave map files in OziExplorer

Используется OziAPI. Каждая отмеченная в списке карта загружается в OziExplorer и пересохраняется. Перед выполнением этой команды надо запустить OziExplorer. Если он уже запущен, желательно сохранить и выгрузить из него все данные, с которыми вы работали.

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


Process - Remove extention from map name

Удаляет (если есть) расширение из имени карты в map-файле (вторая строка). Если ваш map-файл выглядит так

OziExplorer Map Data File Version 2.2
t50k_s4.1_K37-IV.ozf4
t50k_s4.1_K37-IV.ozf4
...

то после выполнения этой команды он будет выглядеть вот так

OziExplorer Map Data File Version 2.2
t50k_s4.1_K37-IV
t50k_s4.1_K37-IV.ozf4
...

Если в имени карты использована точка, а расширение отсутствует, то часть имени карты будет обрезана. Если повторно выполнить команду на приведенном примере, то мы получим

OziExplorer Map Data File Version 2.2
t50k_s4
t50k_s4.1_K37-IV.ozf4
...

Будьте внимательны. Я уже поймался на этом.


Process - Change map name

Пакетное переименовывание карт. Эта команда изменяет только имя карты (вторая строка map-файла). В отдельном окне вы можете сгенерировать список имен карт из любого из трех источников, отредактировать его. Удалить лишнее, добавить нужное. Если представленного функционала окажется недостаточно, можно скопировать список в любой текстовый редактор, отредактировать его там и вернуть обратно. Главное - сохранить последовательность и число строк. Также важно сохранить однобайтную кодировку текста и отсутствие форматирования. Иначе OziExplorer вас не поймет.


Process - Remove image path safely

Удаляет путь к файлу изображения в map-файле если он есть и если он совпадает с каталогом, в котором находится сам map-файл.


Process - Remove image path not safely

Делает тоже самое, но без проверки. Map-файл может стать нерабочим.


Process - Rename both map and image file - Using map name

Пакетное переименовывание файлов карт, как map-файлов, так и файлов изображений. В качестве нового имени файла берется имя карты. В map-файл записывается полный путь к графическому файлу. Если имена карт содержат недопустимые для имен файлов символы, ничего не получится. Но вы всегда можете это исправить.


Process - Include in moving map, Process - Exclude from moving map

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


Process - Grids - Remove Lan/Lon grid, Process - Grids - Remove other grid

Удаляет информацию о сетках в выбранных картах.


Process - Grids - Applay grid setup

Применяет к картам настройки сетки, выбранные командой Copy grid setup


Process - Default borders

Удаляет из map-файла информацию о границах карт. Если границы выглядят так

...
MMPNUM,4
MMPXY,1,323,483
MMPXY,2,19886,364
MMPXY,3,20103,18430
MMPXY,4,323,18468
MMPLL,1,  38.999986,  43.999988
MMPLL,2,  40.000015,  44.000003
MMPLL,3,  39.999977,  43.333339
MMPLL,4,  38.999986,  43.336308
...
IWH,Map Image Width/Height,20522,18480

то после выполнения команды они будут выглядеть вот так

...
MMPNUM,4
MMPXY,1,0,0
MMPXY,2,20522,0
MMPXY,3,20522,18480
MMPXY,4,0,18480
...
IWH,Map Image Width/Height,20522,18480

Для того, чтобы эту карту можно было использовать в Moving Map, надо восстановить MMPLL секцию пересохранив карту в OziExplorer. После этого она будет выглядеть вот так

...
MMPNUM,4
MMPXY,1,0,0
MMPXY,2,20522,0
MMPXY,3,20522,18480
MMPXY,4,0,18480
MMPLL,1,  38.983469,  44.017810
MMPLL,2,  40.032754,  44.013144
MMPLL,3,  40.021126,  43.331306
MMPLL,4,  38.983656,  43.335864
...
IWH,Map Image Width/Height,20522,18480


Context menu

Вызывается правой кнопкой мыши для какой-то одной конкретной карты в списке.


Context menu - Copy grid setup

Запоминает настройки сетки (градусной или пользовательской) для дальнейшего применения их к другим картам (Grids - Applay grid setup).