С помощью компактного формата хранилища кэша можно группировать листы, объединяя их в большие файлы, а не хранить их в виде отдельных файлов. Такой формат имеет следующие преимущества:
- Данные кэша легко копируются, так как число файлов становиться меньшим.
- Уменьшается общий объем кэша на диске.
- Листы, как правило, создаются быстрее, так как во время создания листов производится меньше дисковых операций ввода/вывод.
- Улучшается масштабируемость при создании листов с размещением на нескольких машинах, поскольку уменьшается сетевой трафик.
Работа с форматами хранения кэша
До выпуска версии ArcGIS 10.0, кэши листов были доступны только в формате полистный, то есть каждый лист хранился в качестве отдельного файла JPEG или PNG размером 256 на 256 пикселов. Поэтому папка полистного кэша, содержащая все листы, имеет очень большой размер.
Чтобы существенно уменьшить размер файла для кэшей листов, в версии 10.0 был создан новый формат кэша, компактный. Компактный кэш использует файлы .bundle, содержащие до 16 384 листов в каждом файле. Компактные кэши имеют меньший размер и их легче копировать.
При создании или экспорте кэша вы можете выбрать формат для его хранения – компактный или полистный.
Как работает компактный кэш
В компактном кэше большое количество листов сгруппировано в одном большом файле, который называется пакетом. В результате кэш содержит десятки и сотни файлов вместо тысяч и миллионов. Если просмотреть компактный кэш на диске, то мы увидим набор пакетных файлов с расширением .bundle.
В исходной версии компактного кэша, которая называется compact, формат также состоит из отдельных индексных файлов с расширением .bundlx. Наличие отдельного файла .bundlx отрицательно влияет на производительность при размещении кэша в сетевой папке или в облачном хранилище, поэтому в версии 10.3 была представлена вторая версия компактного кэша (compactv2). В этой версии, которая теперь используется по умолчанию при создании кэша, файл .bundlx включен в файл .bundle. Это в два раза уменьшает количество запросов, который клиент должен выполнять к кэшу, что улучшает производительность, при этом принимая и обслуживая кэши из сетевой папки или облачного хранилища.
Версия compactv2 компактного кэша может использоваться только в ArcGIS Server версии 10.3 и позднее. Этот формат является открытой спецификацией.
Если вы хотите, чтобы кэш, созданный в версии ранее, чем 10.3, работал с повышенной производительностью формата compactv2, необходимо обновить кэш с помощью инструмента Обновить формат хранения кэша картографического сервера. Обновление кэша не приводит к созданию новых листов; старые файлы преобразуются в соответствии с новой версией.
Примечание:
Инструмент Обновить формат хранения кэша картографического сервера недоступен в ArcGIS Pro. Вместо него используйте ArcMap или Python, устанавливаемый вместе с ArcGIS Server.
Улучшенный формат компактного хранения кэша не является обратно совместимым с ранними версиями ArcGIS. Например, компактный кэш, созданный или обновленный в версии 10.3 или более новой, не может быть использован в предыдущих версиях ПО.
Инструмент Экспорт кэша картографического сервера использует формат compact в качестве выходных данных, и может использоваться для того, чтобы сделать новый кэш приемлемым для предыдущей версии ArcGIS Server. См. раздел Копирование кэшей, если вы хотите скопировать кэш формата compactv2 на сайт ArcGIS Server, использующий более раннюю версию.
Работа с компактным кэшем
Во время построения кэша в папках кэша можно увидеть временные файлы .lock и .done. Файлы .lock позволяют ArcGIS Server следить за тем, какие пакеты находятся в стадии построения; наличие файла .lock не означает, что эти пакеты недоступны клиентским приложениям. Так же, файл .done позволяет ArcGIS Server отслеживать уже созданные пакеты. После завершения кэширования все файлы .lock и .done должны исчезнуть.
Существует возможность организовать небольшой кэш с одним пакетом на каждом уровне. Чаще встречается ситуация, когда граница пакета проходит по некоторому географическому объекту, и поэтому на одном уровне хранится несколько пакетов (хотя в пакетах может и не содержаться максимального количества в 16 000 листов при небольшом размере географического объекта). Крупные кэши объединяют множество пакетов.
Границы пакета определяются точкой отсчета схемы листов и не поддаются корректировке. Для сравнения, при масштабе отображения района/города, равном 1:4 096, полный пакет покрывает территорию округа средних размеров в восточном регионе Соединенных Штатов.
Обновление компактного кэша
При обновлении листов компактного кэша не происходит повторного создания всего пакета. Вместо этого, обновляется область размером в 4096 x 4096 пикселей (без сглаживания) или 2048 x 2048 пикселей (со сглаживанием). В документации ArcGIS такой фрагмент территории иногда называется суперлистом.
Извлечение листов из пакета
Клиенты ArcGIS, в том числе программные веб-интерфейсы приложений, могут читать пакетные файлы, созданные в формате компактного кэша. Веб-клиенты запрашивают на сайте ArcGIS Server определенный уровень, строки или столбец листа. ArcGIS Server получает запрос и возвращает соответствующий лист из пакета.
Если вы создали свой программный код для извлечения листов из виртуальной директории, необходимо продолжать использовать все тот же полистный формат, в котором каждый лист сохраняется как отдельный файл, и который был единственной возможностью в версиях до ArcGIS Server 10.0.