SASGIS

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

SAS.Wiki

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

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

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


версионный_кэш

Различия

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

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

Следующая версия
Предыдущая версия
версионный_кэш [26/06/2013 20:20] – создано 91.203.67.165версионный_кэш [04/03/2014 05:15] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 [[главная|Главная страница]] [[главная|Главная страница]]
  
-Тайловый версионный кэш +====== Тайловый версионный кэш ====== 
-Версионный кэш Беркли+Здесь пока ничего не написано... 
 + 
 +====== Версионный кэш Беркли ====== 
 +Сочетает в себе преимущества хранения относительно небольшого количества файлов и возможности работы с версиями снимков. 
 +====Создание версионного кэша "с нуля"==== 
 +Если мы хотим создать новый версионный кэш, который будем наполнять путём скачивания, нужно всего лишь указать в zmp параметры **CacheType=61** и **Version=//Название версии по умолчанию//**. Для хранения версионного кэша Беркли в программе предусмотрена папка cache_dbv, поэтому по умолчанию новый кэш будет создан в этой папке. Однако нет проблем поместить этот кэш и в основную папку cache, нужно лишь указать соответствующий путь в настройках программы. 
 +Перед скачиванием снимков нужно указать название версии, в которую будут помещаться тайлы. Это можно сделать в окне "Параметры карты". Обычно название версии представляет собой её номер в соответствии с нумерацией картсервиса. Скачав снимки указанной версии, мы будем иметь возможность в дальнейшем проверять идентичность скачиваемых тайлов тайлам, уже имеющимся в кэше, и в случае их совпадения не сохранять дублирующиеся тайлы. 
 +====Работа с версионным кэшем Беркли==== 
 +При выборе из списка карты с версионным кэшем Беркли будет автоматически установлена версия по умолчанию, указанная в zmp. В дальнейшем можно будет изменить "рабочую" версию, введя её название в поле **Версия** окна **Параметры карты**. В "рабочую" версию сохраняются скачиваемые тайлы, поэтому будьте внимательны и проверяйте URL перед тем, как начать скачивание. Для "рабочей" версии строится карта заполнения. 
 + 
 +При наличии в кэше нескольких версий снимков можно выбирать, тайлы какой из версий будут отображаться на экране. Для этого вызываем контекстное меню и выбираем пункт **Версия**. Если для данного места экрана существует несколько версий тайлов, их список будет виден в меню. Установив галку на нужной версии, мы будем видеть только тайлы этой версии. Чтобы видеть тайлы всех возможных версий для данного места, следует установить галку на опции **Отображать предыдущие версии**. Однако следует учитывать, что в данном случае карта заполнения будет строиться для всех доступных версий кэша. Если кликнуть на опции **Сбросить**, то ни одна из версий не будет "рабочей"
 + 
 +При скачивании каждый тайл проверяется на идентичность существующему, причём проверяются все доступные версии. Если тайла, идентичного скачанному, не существует, то скачанный тайл сохраняется, в противном случае - пропускается. Поэтому версия, скачанная первой, будет иметь наибольшее количество тайлов, а последующие версии - гораздо меньше (для одной и той же выделенной области, конечно). 
 +====Создание версионного кэша из ранее скачанного==== 
 +Целью данной операции является возможность дополнять имеющийся кэш новыми версиями. Для этого необходимо воспользоваться функцией **Управления кэшем**. Напомню, что данная функция обрабатывает весь кэш (или всю версию) целиком, в отличие от **Копирования**, при котором обрабатывается содержимое выделенной области. Возможны следующие варианты: 
 + 
 +==== Исходный кэш неверсионный (Беркли или любой другой) ==== 
 +Заполняем опции **Управления кэшем**, указывая в верхней части окна параметры исходного кэша, опцию **Process only tiles with version:** (Обрабатывать только тайлы версии:) и поле с названием версии оставляем пустыми, так как наш исходный кэш неверсионный. В нижней части окна указываем параметры целевого кэша, формат выбираем **BerkeleyDB (версионный)**, ставим галку на опции **Set same version for all processed tiles:** (Установить единую версию для всех обрабатываемых тайлов:) и записываем в соответствующее поле название версии. Папка целевого кэша должна быть создана заранее. Нажимаем "Начать" и ждём окончания процесса. Для нового кэша необходимо создать zmp, в котором должна быть запись **CacheType=61**. 
 + 
 +==== Исходный кэш версионный Беркли "старого образца" ==== 
 +Здесь процесс несколько сложнее. Версионный кэш "старого образца", как правило, содержит неверсионную часть, которая была скачана до появления возможности сохранять версии, и скачанные позднее версионные части. В зависимости от размеров каждой из частей наши действия могут быть разными. 
 + 
 +====Неверсионная часть кэша велика, а версионная часть мала либо её вообще нет==== 
 + 
 +В этом случае проще и быстрее будет перенести все части по очереди в новое версионное хранилище. При этом для неверсионной части опцию **Process only tiles with version:** и поле с названием версии оставляем пустыми, а в целевом кэше, наоборот, включаем опцию **Set same version for all processed tiles:** и вписываем название версии. Для версионных частей требуется указать как версию источника, так и версию назначения. Для нового версионного кэша необходимо создать zmp. 
 + 
 +====Версионная часть кэша велика==== 
 + 
 +В этом случае быстрее будет её не переносить в новое хранилище, а оставить в старом, преобразовав его в версионное нового образца. При этом неверсионную часть необходимо сначала переместить в другое хранилище, а затем из другого хранилища переместить в версионное, задав название версии. 
 + 
 +Операция состоит из следующих этапов: 
 + 
 +===== Выделение неверсионной части кэша в отдельный кэш ===== 
 +Нам нужно извлечь неверсионную часть кэша и сохранить её на время. Удобнее воспользоваться целевым форматом SAS.Планета. Важно, чтобы тайлы **перемещались**, а не копировались, иначе невозможно будет вставить ранее неверсионную часть обратно. 
 +===== Обработка оставшегося версионного кэша ===== 
 +Далее нам понадобятся утилиты для работы с Беркли. Запускаем **sdb_util.exe**, указываем наш исходный кэш и проводим над ним две операции: **Recover environment** и **Prepare cache for backup (reset LSN)**. Затем перемещаем кэш в папку cache_dbv (если необходимо) и меняем расширения всех файлов *.sdb на *.sdbv, а всех файлов *.tne - на *.tnev. 
 +===== Вставляем выделенную неверсионную часть кэша обратно, но уже с обозначенной версией ===== 
 +Это сделать просто, см. **Исходный кэш неверсионный (Беркли или любой другой)**. 
 + 
 +====Копирование в версионный кэш Беркли==== 
 +Усовершенствованная операция копирования позволяет указывать название версии, в которую будут скопированы или перемещены тайлы. Кроме того, опция **Make subfolder with map path name** (Создать вложенную папку с названием карты) может быть отключена, что позволяет копировать в один и тот же кэш отдельные снимки под одной (если они не накладываются друг на друга) или под разными версиями. 
 +===Внимание!=== 
 +Нельзя применять операцию **перемещения** данных из одной версии кэша в другую версию **этого же** кэша. Это ведёт к невозвратимой потере данных, так как каждый перемещаемый тайл проверяется на идентичность существующему, то есть самому себе. Так как идентичность налицо, "вновь прибывший" тайл не сохраняется, а старый удаляется, потому что задано перемещение. В случае, когда задано копирование, кэш никак не изменится, но будет впустую потеряно время. 
 +Чтобы переместить часть информации в другую версию того же кэша, следует сначала переместить её в отдельный кэш, а уже из него вернуть в первоначальный под другой версией.
/home/sasgisor/public_html/wikisasiya/data/attic/версионный_кэш.1372278046.txt.gz · Последнее изменение: (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki