Это старая версия документа.
У вас есть несколько листов карты, из которой вы хотите сделать свой кэш и ZMP (карту, в понимании SAS.Планеты). Допустим, что эти листы нумеруются и расположены (относительно друг друга) таким образом: А Б В Г Д Е
По умолчанию принимается правило генерить новый кусок кэша в пустую (новую или освобождённую) папку.
Если генерится кэш из новых листов, не имеющих смежных сторон с уже присутствующими в кэше (напр. А и В), новый кэш плюсуется к старому и никаких проблем это не должно вызывать. Если новые листы соприкасаются со “старыми” (БВ, БД, ВД и т.п.) то есть несколько вариантов решения проблем с пересекающимися тайлами.
Довольно затратный по машинному времени, но удобный и не требующий никаких специальных программ и умения их создавать.
Допустим, в первый раз вы обработали два листа АБ. В следующий раз вам понадобилось добавить в кэш третий лист (В). Но вы запускаете в обработку не один лист, который вам нужен, а захватываете смежную часть предыдущей выборки (Б) и обрабатываете два листа БВ.
При обработке первой пары листов получилась вот такая матрица тайлов:
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
При обработке второй пары получили следующие тайлы:
6 7 8 9 10 11 12 13 14 15 6 7 8 9 10 11 12 13 14 15 6 7 8 9 10 11 12 13 14 15 6 7 8 9 10 11 12 13 14 15 6 7 8 9 10 11 12 13 14 15 6 7 8 9 10 11 12 13 14 15
Неполными из них будут (скорее всего!) все граничные, т.е. верхняя и нижняя строки и все шестёрки и пятнашки. Но поскольку прибавлять вы будете к левым листам, то и волновать вас должна только левая граница этой матрицы. Удаляете все шестёрки. Весьма удобен для этого Total Commander в котором есть функция Показать все файлы без подкаталогов (Ctrl+B) и разнообразная сортировка. Остальные тайлы должны получиться (если настройки генерации не изменялись) такими же и поэтому они вам не помешают. Копируете с заменой новые тайлы в папку с предыдущим результатом.
Следующие способы мало отличаются друг от друга, в основном, авторством скриптов и соотв. выбором сопутствующих программ. Но у “скриптовых” способов есть один недостаток. Дело в том, что Global Mapper иногда присваивает тайлам разные цвета @канала. И при попытке склеить граничные тайлы с разными @каналами в результирующем тайле получается наложение “лишнего” цвета на существующую часть картинки. Для обоих скриптовых способов обязательно указывать в настройках экспорта прозрачность PNG формата 2. скриптовый-1 Автор: UrikEEE Дата: 27.01.2012г. Использует растровый редактор Gimp. Собственно скрипт. Я внёс туда пару небольших поправок: закомментил удаление отработанных тайлов и подвинул границу восприятия “пустых” тайлов в меньшую сторону.
Возьмём файл MergePNG.scm и сохраним его в в папке %UserProfile%\.gimp-\scripts (эта папка появилась после установки программы Gimp-). Возьмём файл MovePNG.vbs и сохраним его в той папке, где будем складывать получаемые тайлы, например C:\Tiles\.
После окончания экспорта в веб-формат из Global Mapper запускаем vbs-скрипт
MovePNG.vbs, сохранённый в папке C:\Tiles\. Скрипт начинает выполняться, в процессе выполнения формируется временный текстовый файл-скрипт для Gimp. В конце выполнения vbs-скрипта возможен запуск Gimp. Gimp будет запущен в случае, если при перемещении файлов из временного хранилища в постоянное хранилище были обнаружены файлы-тайлы с такими же именами-координатами. Такая ситуация вероятнее всего возникнет, как только мы станем повторно обрабатывать карты, смежные с ранее обработанными.
Во время выполнения скрипта в консольное окно будут выводиться строки, показывающие,
какой файл-тайл был только что обработан. Мы спокойно смотрим на этот процесс, ожидая появления надписи » The End! Press any key to close…». При появлении этой надписи жмём любую клавишу на клаве (или кликаем мышкой на кнопке закрытия окна) – только в этом случае окно закроется и vbs-скрипт продолжит свою работу.
По окончании своей работы vbs-скрипт покажет окошко закрытия самого себя; жмем OK и теперь можно повторить экспорт следующей партии листов )
3. скриптовый-2
Автор: Papazol Дата: ??г.
Описание находится тут. Использует composite.exe из состава программного продукта ImageMagick. Собственно скрипт.
Загружаем в Global Mapper несколько листов карты. Желательно загружать карты в виде прямоугольника X на Y, полностью заполненного листами. Общее количество загружаемых листов зависит от возможностей компьютера (в основном от объёма памяти и от разрядности ОС и GM). Нарезаем загруженные листы на тайлы. Путь, по которому будут складываться нарезанные тайлы, указываем и запоминаем. Для полученного кэша необходимо создать собственный zmp. Тогда можно сразу по окончании нарезки на тайлы открыть SAS.Планету и посмотреть результат работы. Используем утилиту ggc_linking.exe для удаления краевых тайлов полученного кэша. Для этого указываем в качестве Папки с картами ту папку, в которую Global Mapper складывал нарезанные тайлы, в качестве Сборки – папку в кэше SAS.Планеты, указываем масштаб и жмём Удалить края. Края нужно удалить на всех масштабах. После удаления краевых тайлов имеет смысл ещё раз посмотреть результат работы в SAS.Планете. Хотя бы для первого раза. Теперь используем утилиту ggc_linking.exe для сборки кэша. Она берёт тайл из папки-источника и проверяет наличие тайла с таким же названием в папке назначения. Если такой тайл существует, значит, эти тайлы краевые. Утилита склеивает их друг с другом с помощью сторонней программы composite.exe из состава программного продукта ImageMagick. Если тайл с таким названием в папке назначения отсутствует, то он просто копируется туда из папки-источника. Таким образом, можно постепенно добавлять в кэш всё новые и новые листы карт, получая непрерывное покрытие. Поскольку папки источника и назначения уже указаны, просто жмём Собрать кэш. Начнётся сборка кэша в указанную папку. Смотрим результат работы в SAS.Планете. Если всё хорошо, можно приступать к обработке следующей партии листов карты. Содержимое папки-источника можно предварительно удалить для экономии места на диске.