SASGIS

Веб-картография и навигация

SAS.Wiki

Веб-картография и навигация

Инструменты пользователя

Инструменты сайта


добавление_нового_кэша_к_уже_существующему

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

добавление_нового_кэша_к_уже_существующему [22/05/2015 15:46]
176.14.240.141
добавление_нового_кэша_к_уже_существующему [19/02/2021 21:14] (текущий)
radioxoma wiki-разметка
Строка 1: Строка 1:
-Оригинал статьи находится ​тут:[[https://​docs.google.com/​document/​d/​1XCCHFEbLDQeWfk9m4Rrm92wPnV1rcwHgS9fHbGkU77k/​edit?​usp=sharing]]+Оригинал статьи находится [[https://​docs.google.com/​document/​d/​1XCCHFEbLDQeWfk9m4Rrm92wPnV1rcwHgS9fHbGkU77k/​edit?​usp=sharing|тут]]
  
 У вас есть несколько листов карты, из которой вы хотите сделать свой кэш и ZMP (карту,​ в понимании SAS.Планеты). Допустим,​ что эти листы нумеруются и расположены (относительно друг друга) таким образом:​ У вас есть несколько листов карты, из которой вы хотите сделать свой кэш и ZMP (карту,​ в понимании SAS.Планеты). Допустим,​ что эти листы нумеруются и расположены (относительно друг друга) таким образом:​
-А  Б  В  ​ + 
-Г  Д  Е+  ​А Б В 
 +  Г Д Е
  
 По умолчанию принимается правило генерить новый кусок кэша в пустую (новую или освобождённую) папку. По умолчанию принимается правило генерить новый кусок кэша в пустую (новую или освобождённую) папку.
Строка 9: Строка 10:
 Если генерится кэш из новых листов,​ не имеющих смежных сторон с уже присутствующими в кэше (напр. А и В), новый кэш плюсуется к старому и никаких проблем это не должно вызывать. Если новые листы соприкасаются со “старыми” (БВ, БД, ВД и т.п.) то есть несколько вариантов решения проблем с пересекающимися тайлами. Если генерится кэш из новых листов,​ не имеющих смежных сторон с уже присутствующими в кэше (напр. А и В), новый кэш плюсуется к старому и никаких проблем это не должно вызывать. Если новые листы соприкасаются со “старыми” (БВ, БД, ВД и т.п.) то есть несколько вариантов решения проблем с пересекающимися тайлами.
  
-Довольно затратный ​+ 
 +====== ​Довольно затратный ​====== 
 + 
 по машинному времени,​ но удобный и не требующий никаких специальных программ и умения их создавать. по машинному времени,​ но удобный и не требующий никаких специальных программ и умения их создавать.
  
Строка 16: Строка 19:
 При обработке первой пары листов получилась вот такая матрица тайлов:​ При обработке первой пары листов получилась вот такая матрица тайлов:​
  
-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 
-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 
-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) и разнообразная сортировка. +Неполными из них будут (скорее всего!) все граничные,​ т.е. верхняя и нижняя строки и все шестёрки и пятнашки. Но поскольку прибавлять вы будете к левым листам,​ то и волновать вас должна только левая граница этой матрицы. Удаляете все шестёрки. Весьма удобен для этого ​**[[http://​www.ghisler.com/​|Total Commander]]** в котором есть функция ​//Показать все файлы без подкаталогов// (**Ctrl+B**) и разнообразная сортировка. 
-Остальные тайлы должны получиться (если настройки генерации не изменялись) такими же и поэтому они вам не помешают. Копируете с заменой новые тайлы в папку с предыдущим результатом.+Остальные тайлы должны получиться (если настройки генерации не изменялись) такими же и поэтому они вам не помешают. Копируете с заменой новые тайлы в папку с предыдущим результатом. ​LOOP ... END
  
 Следующие способы мало отличаются друг от друга, в основном,​ авторством скриптов и соотв. выбором сопутствующих программ. Но у “скриптовых” способов есть один недостаток. Дело в том, что Global Mapper иногда присваивает тайлам разные цвета @канала. И при попытке склеить граничные тайлы с разными @каналами в результирующем тайле получается наложение “лишнего” цвета на существующую часть картинки. ​ Следующие способы мало отличаются друг от друга, в основном,​ авторством скриптов и соотв. выбором сопутствующих программ. Но у “скриптовых” способов есть один недостаток. Дело в том, что Global Mapper иногда присваивает тайлам разные цвета @канала. И при попытке склеить граничные тайлы с разными @каналами в результирующем тайле получается наложение “лишнего” цвета на существующую часть картинки. ​
-Для обоих скриптовых способов обязательно указывать в настройках экспорта прозрачность PNG формата ​+Для обоих скриптовых способов обязательно указывать в настройках экспорта прозрачность PNG-формата.
  
-    2. скриптовый-1 
  
-Автор: UrikEEE +====== Скриптовый №1 ======
-Дата: 27.01.2012г.+
  
-Использует растровый редактор Gimp. Собственно скрипт. ​+Автор: //UrikEEE// 27.01.2012 г 
 + 
 +Использует растровый редактор ​[[https://​www.gimp.org/​|Gimp]]. Собственно ​[[http://​progressor.ru/​gm/​phot/​UrikEEE.zip|скрипт]]
 Я внёс туда пару небольших поправок:​ закомментил удаление отработанных тайлов и подвинул границу восприятия “пустых” тайлов в меньшую сторону. Я внёс туда пару небольших поправок:​ закомментил удаление отработанных тайлов и подвинул границу восприятия “пустых” тайлов в меньшую сторону.
  
-Возьмём файл MergePNG.scm и сохраним его в в папке %UserProfile%\.gimp-**\scripts (эта папка появилась после установки программы Gimp-**). Возьмём файл MovePNG.vbs и сохраним его в той папке, где будем складывать получаемые тайлы, например C:\Tiles\.+Возьмём файл ​**MergePNG.scm** и сохраним его в в папке ​//%UserProfile%\.gimp-\scripts// (эта папка появилась после установки программы Gimp-). Возьмём файл ​**MovePNG.vbs** и сохраним его в той папке, где будем складывать получаемые тайлы, например ​//C:\Tiles\//.
  
-    ​После окончания экспорта в веб-формат из Global Mapper запускаем vbs-скрипт MovePNG.vbs,​ сохранённый в папке C:​\Tiles\. +После окончания экспорта в веб-формат из Global Mapper запускаем vbs-скрипт MovePNG.vbs,​ сохранённый в папке C:\Tiles\.\\ 
-Скрипт начинает выполняться,​ в процессе выполнения формируется временный текстовый +Скрипт начинает выполняться,​ в процессе выполнения формируется временный текстовый файл-скрипт для Gimp. В конце выполнения vbs-скрипта возможен запуск Gimp. 
-файл-скрипт для Gimp. В конце выполнения vbs-скрипта возможен запуск Gimp. +Gimp будет запущен в случае,​ если при перемещении файлов из временного хранилища в постоянное хранилище были обнаружены файлы-тайлы с такими же именами-координатами. 
-Gimp будет запущен в случае,​ если при перемещении файлов из временного хранилища в +Такая ситуация вероятнее всего возникнет,​ как только мы станем повторно обрабатывать карты, смежные с ранее обработанными.  
-постоянное хранилище были обнаружены файлы-тайлы с такими же именами-координатами. +Во время выполнения скрипта в консольное окно будут выводиться строки,​ показывающие,​ какой файл-тайл был только что обработан. Мы спокойно смотрим на этот процесс,​ ожидая появления надписи "The End! Press any key to close…"​. При появлении этой надписи жмём любую клавишу на клаве (или кликаем мышкой на кнопке закрытия окна) – только в этом случае окно закроется и vbs-скрипт продолжит свою работу.\\ 
-Такая ситуация вероятнее всего возникнет,​ как только мы станем повторно обрабатывать карты, +По окончании своей работы vbs-скрипт покажет окошко закрытия самого себя; жмем OK и теперь можно повторить экспорт следующей партии листов )
-смежные с ранее обработанными.  +
-    Во время выполнения скрипта в консольное окно будут выводиться строки,​ показывающие,​ +
-какой файл-тайл был только что обработан. Мы спокойно смотрим на этот процесс,​ ожидая появления надписи " The End! Press any key to close…"​. При появлении этой надписи жмём любую клавишу на клаве (или кликаем мышкой на кнопке закрытия окна) – только в этом случае окно закроется и vbs-скрипт продолжит свою работу. +
-    По окончании своей работы vbs-скрипт покажет окошко закрытия самого себя; жмем OK и теперь можно повторить экспорт следующей партии листов )+
  
-    3. скриптовый-2 
-    ​ 
-Автор: Papazol 
-Дата: ??г. 
  
-Описание находится тут.  +====== Скриптовый №2 ====== 
-Использует composite.exe из состава программного продукта ImageMagick. ​ +  
-Собственно скрипт.+Автор: //Papazol//
  
-Загружаем в Global Mapper несколько листов карты. Желательно загружать карты в виде прямоугольника X на Y, полностью заполненного листами. Общее количество загружаемых листов зависит от возможностей компьютера (в основном от объёма памяти и от разрядности ОС и GM).+Описание находится [[http://​www.sasgis.org/​forum/​viewtopic.php?​f=2&​t=1546&​sid=c5e4ea715c3ee88cd03bf6542f69e54f&​start=3390|тут]].\\  
 +Использует composite.exe из состава программного продукта ImageMagick.\\  
 +Собственно [[http://​progressor.ru/​gm/​phot/​skript-2.7z|скрипт]]. 
 + 
 +Загружаем в Global Mapper несколько листов карты. Желательно загружать карты в виде прямоугольника X на Y, полностью заполненного листами. Общее количество загружаемых листов зависит от возможностей компьютера (в основномот объёма памяти и от разрядности ОС и GM).
 Нарезаем загруженные листы на тайлы. Путь, по которому будут складываться нарезанные тайлы, указываем и запоминаем. ​ Нарезаем загруженные листы на тайлы. Путь, по которому будут складываться нарезанные тайлы, указываем и запоминаем. ​
-Для полученного кэша необходимо создать собственный zmp. Тогда можно сразу по окончании нарезки на тайлы открыть SAS.Планету и посмотреть результат работы. +Для полученного кэша необходимо создать собственный zmp. Тогда можно сразу по окончании нарезки на тайлы открыть SAS.Планету и посмотреть результат работы.\\ 
-Используем утилиту ggc_linking.exe для удаления краевых тайлов полученного кэша. Для этого указываем в качестве Папки с картами ту папку, в которую Global Mapper складывал нарезанные тайлы, в качестве Сборки – папку в кэше SAS.Планеты,​ указываем масштаб и жмём Удалить края. Края нужно удалить на всех масштабах.+Используем утилиту ​**ggc_linking.exe** для удаления краевых тайлов полученного кэша. Для этого указываем в качестве ​**Папки с картами** ту папку, в которую Global Mapper складывал нарезанные тайлы, в качестве ​**Сборки** – папку в кэше SAS.Планеты,​ указываем масштаб и жмём ​//Удалить края//. Края нужно удалить на всех масштабах.\\
 После удаления краевых тайлов имеет смысл ещё раз посмотреть результат работы в SAS.Планете. Хотя бы для первого раза. После удаления краевых тайлов имеет смысл ещё раз посмотреть результат работы в SAS.Планете. Хотя бы для первого раза.
-Теперь используем утилиту ggc_linking.exe для сборки кэша. Она берёт тайл из папки-источника и проверяет наличие тайла с таким же названием в папке назначения. Если такой тайл существует,​ значит,​ эти тайлы краевые. Утилита склеивает их друг с другом с помощью сторонней программы composite.exe из состава программного продукта ImageMagick. Если тайл с таким названием в папке назначения отсутствует,​ то он просто копируется туда из папки-источника. Таким образом,​ можно постепенно добавлять в кэш всё новые и новые листы карт, получая непрерывное покрытие. Поскольку папки источника и назначения уже указаны,​ просто жмём Собрать кэш. Начнётся сборка кэша в указанную папку.+Теперь используем утилиту ​**ggc_linking.exe** для сборки кэша. Она берёт тайл из папки-источника и проверяет наличие тайла с таким же названием в папке назначения. Если такой тайл существует,​ значит,​ эти тайлы краевые. Утилита склеивает их друг с другом с помощью сторонней программы ​//composite.exe// из состава программного продукта ImageMagick. Если тайл с таким названием в папке назначения отсутствует,​ то он просто копируется туда из папки-источника. Таким образом,​ можно постепенно добавлять в кэш всё новые и новые листы карт, получая непрерывное покрытие. Поскольку папки источника и назначения уже указаны,​ просто жмём ​**Собрать кэш**. Начнётся сборка кэша в указанную папку.\\
 Смотрим результат работы в SAS.Планете. Если всё хорошо,​ можно приступать к обработке следующей партии листов карты. Содержимое папки-источника можно предварительно удалить для экономии места на диске. Смотрим результат работы в SAS.Планете. Если всё хорошо,​ можно приступать к обработке следующей партии листов карты. Содержимое папки-источника можно предварительно удалить для экономии места на диске.
- 
-