Компактный формат хранения кэша позволяет группировать листы в большие файлы, а не хранить их в виде отдельных файлов. Такой формат имеет следующие преимущества:
- Данные кэша легко копируются, так как число файлов становиться меньшим.
- Уменьшается общий объем кэша на диске.
- Листы, как правило, создаются быстрее, так как во время создания листов производится меньше дисковых операций ввода/вывод.
- Улучшается масштабируемость при создании листов с размещением на нескольких машинах, поскольку уменьшается сетевой трафик.
Работа с форматами хранения кэша
До выпуска версии 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. Вместо него используйте 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.