Это старая версия документа.
Добавляя файлы в кэш Беркли путём скачивания или формирования, мы увеличиваем размеры файлов базы данных. Удаляя файлы из базы данных путём «стирания» лишних тайлов, уменьшения размеров файлов БД не добиться, так как ранее занятое файлами место так и остаётся занятым. Со временем накапливается весьма приличное количество таких удалённых тайлов, которые зря занимают место на диске.
Используя набор утилит для кэша Беркли, можно очистить кэш от удалённых файлов. Самый надёжный метод - использовать утилиту sdb_util.exe. В списке действий, которые данная утилита выполняет, есть Restore broken files from *.bad. То есть восстановление повреждённых файлов из файла *.bad.
Файлы *.bad появляются путём добавления «второго» расширения bad к названиям файлов базы данных (*.sdb или *.sdbv) в результате верификации (проверки) кэша утилитой db_verify.exe или действия Verify cache (find broken files) утилиты sdb_util.exe.
Файлы БД, содержащие удалённые тайлы, не считаются повреждёнными, поэтому их проверка утилитами не приведёт к добавлению расширения bad. Но никто не мешает нам добавить это расширение вручную.
Выбрав из списка действий утилиты sdb_util.exe Restore broken files from *.bad и указав папку, содержащую файлы *.bad, можно восстановить из повреждённого файла БД его неповреждённую часть, получив нормальный файл БД. Для этого сначала делается дамп, то есть составляется список неповреждённых файлов, содержащихся в файле БД. Затем из этого списка создаётся новый файл БД, содержащий только неповреждённые данные. Третьим этапом файл БД проверяется на наличие повреждённых данных. Если всё нормально, файл дампа и файл *.bad удаляются, остаётся нормальный файл БД. Если в указанной папке имеется несколько файлов *.bad, они все будут обработаны.
Итак, план действий: открываем файловым менеджером папку с файлами БД (у них расширения sdb или sdbv), путём переименования добавляем к названиям этих файлов расширение bad (должно стать *.sdb.bad или *.sdbv.bad), открываем утилиту sdb_util.exe, выбираем из списка действие Restore broken files from *.bad, указываем папку, содержащую переименованные файлы и жмём Run. Наблюдаем за ходом процесса в центральном окне утилиты. Замечу, что при значительных размерах файла БД его обработка может занять некоторое время. По окончании процесса в центральном окне будет указано количество обработанных файлов. Тогда переходим к следующей папке с файлами БД и повторяем всё сначала.
Если нужно почистить не весь кэш, а лишь определённую местность, то из всех имеющихся файлов БД следует выбрать только те, которые содержат тайлы этой местности. Для этого в SASПланете устанавливаем масштаб, равный масштабу, который нужно почистить, минус 8. Должно быть включено отображение границ тайлов. Смотрим на обозначения тайлов, попадающих на нужную местность. Цифры, указанные в виде x=XXX, y=YYY, будут входить в названия нужных нам файлов БД. Например, если мы хотим почистить карту Черногории на z15, находим Черногорию и устанавливаем масштаб 15-8=7. Карта попадает в тайл с x=35 и y=23. Значит, файл БД, содержащий эту карту, должен называться 35.23.sdb (ну, или 35.23.sdbv, если кэш версионный). Поиском находим этот файл и обрабатываем его.