Skip To Content

Инструменты и процессы создания кэша

В этом разделе содержится подробная информация о процессах создания растровых листов кэша на основе слоев изображений карты и слоев изображений в ArcGIS Enterprise и ArcGIS Pro.

Публикация кэшированного сервис карт/изображений в ArcGIS Pro

Для начала кэширования необходимо опубликовать картографический сервис или сервис изображений из ArcGIS Pro или с помощью определений сервисов в ArcGIS Server Manager. Вы можете настроить сервис на использование кэширования во время публикации или создания файла определения службы в ArcGIS Pro. Для получения подробной информации см. разделы Публикация сервисов в ArcGIS Pro и Настройка слоя изображений карты.

Вы можете создать листы при публикации сервиса (что подходит для небольшого кэша) или сформировать кэш самостоятельно после публикации (подходит для большого кэша, когда вы хотите географически ограничить кэш, формируемый для больших масштабов). Чтобы построить кэш самостоятельно, используйте инструмент геообработки Управление листами кэша картографического сервиса (Сервер) из набора инструментов Серверные инструменты.

Инструмент Создать схему листов кэша картографического сервиса

Инструмент Создать схему листов кэша картографического сервиса позволяет создать схему листов для вашего ГИС-контента с масштабом, системой координат и другими свойствами вашего кэша без необходимости публиковать эту схему в виде сервиса. Инструмент создает файл схемы листов в формате XML, который вы сможете использовать для загрузки необходимых вам свойств при создании кэша.

Инструмент Создать схему кэша картографического сервера

Инструмент Создать схему кэша картографического сервера позволяет преобразовать динамический картографический сервис или сервис изображений в кэшированный картографический сервис или сервис изображений путем создания схемы листов и подготовительных папок в указанном каталоге кэша ArcGIS. Только издатели и администраторы могут запускать этот инструмент.

Примечание:

Этот инструмент не создает листов кэша для сервиса. Чтобы отобразить сервис с использованием листов, издатель или администратор сервиса должен запустить инструмент Управление листами кэша картографического сервера в режиме Повторно создать все листы.

Формат хранения кэша

Кэш растра хранится в формате compact v2, в котором 16384 листа сжаты в пакетные файлы. Размер отдельного листа можно задать в схеме листов кэша, заданной с помощью инструментов геообработки Создать схему листов кэша картографического сервера или Создать схему кэша картографического сервера.

Во время построения кэша в папках кэша можно увидеть временные файлы .lock и .done. Файл .lock позволяет ArcGIS Server отслеживать находящиеся в процессе создания пакеты. Наличие файла .lock не означает, что эти пакеты недоступны клиентским приложениям. Так же файл .done позволяет ArcGIS Server отслеживать уже созданные пакеты. После завершения кэширования все файлы .lock и .done исчезнут.

У вас может быть небольшой кэш с одним пакетом на каждом уровне. Однако чаще бывает так, что граница пакета пересекает географию, что приводит к множеству пакетов для уровня. Большой кэш может содержать множество пакетов.

Границы пакета определяются точкой отсчета схемы листов и не поддаются корректировке. К примеру, при масштабе отображения района/города, равном 1:4 096, полный пакет покрывает территорию округа средних размеров в восточном регионе Соединенных Штатов.

При обновлении листов не происходит повторного создания всего пакета. Вместо этого обновляется область размером в 4096 на 4096 пикселов (без сглаживания) или 2048 на 2048 пикселов (со сглаживанием). Такой фрагмент территории иногда называется суперлистом.

Клиенты ArcGIS, в том числе программные веб-интерфейсы приложений, могут читать пакетные файлы, созданные в формате компактного кэша. Веб-клиенты отправляют на сайт ArcGIS Server запрос для определенного уровня, строки и столбца листа. ArcGIS Server получает запрос и возвращает соответствующий лист из пакета.

Примечание:

Существует два варианта формата компактного кэша: compact, который был представлен в версии 10.0, и compactv2, появившийся в версии 10.3. Компактная версия включает отдельный файл .bundlex, который служит в качестве индекса; а в версии compactv2 индекс включен в файл .bundle. Compactv2 позволяет увеличить производительность, особенно если кеш находится в сетевой папке или в облачном хранилище и совместим только с сайтами ArcGIS Server, работающими в версии 10.3 или более поздней, и используется по умолчанию для этих версий.

Если же вам надо перенести компактный кэш в формате compactv2 на сайт, работающий в ArcGIS Server версии от 10.0 до 10.2, воспользуйтесь инструментом Экспортировать кэш картографического сервиса в ArcGIS Pro.

Директория кэша

По умолчанию ArcGIS Server создает кэши картографического сервиса и сервиса изображений в директории кэша сервера, созданной во время настройки вашего сайта ArcGIS Server. Для хранения файлов кэша может использоваться и другое место.

При настройке директорий кэша для сайта издатели выбирают одну из следующих директорий, где будет храниться кэш для картографических сервисов и сервисов изображений.

Можно открыть директорию кэша сервера для проверки наличия листов кэша и файла схемы conf.xml. Директория кэша также может содержать статус файловой базы геоданных status.gdb, который содержит информацию о том, какие листы были построены.

Создание кэша на сайте сервера с несколькими компьютерами

Если сайт ArcGIS Server включает несколько компьютеров, которые одновременно пытаются записать листы в общую директорию кэша, производительность падает. Чтобы предотвратить эту проблему, ArcGIS Server использует директорию локального кэша для временной записи листов на каждом компьютере ArcGIS Server.

Примечание:

Когда картографический сервис или сервис изображений публикуются на хост-сервере, используется кэш-каталог сайта хост-сервера.

Надписи

В следующих разделах будут рассмотрены часто возникающие вопросы, касающиеся поведения подписей карты при создании сервером листов кэша карты.

Избежание наличия повторяющихся в кэше надписей

В процессе кэширования ArcGIS отрисовывает сразу большие области, что помогает уменьшить число повторяющихся подписей. Эти большие области (суперлисты) затем делятся на более мелкие отдельные листы. Размер суперлиста - 2048 x 2048 пикселов со сглаживанием или 4096 x 4096 пикселов без сглаживания.

Вы не должны видеть дублирующиеся подписи внутри суперлиста, но дубликаты могут быть на его границах. Это связано с тем, что если суперлист подписан, механизм размещения надписей не будет знать о надписях, размещенных на соседних суперлистах. На самом деле, механизм надписывания может пытаться включить в суперлист как можно большее число надписей, тем самым разместив некоторые надписи около края. То же самое может иметь место и на соседнем суперлисте, что приведет к созданию дубликатов рядом с границами суперлиста.

Единственный способ избежать дублирующихся надписей в кэше - применение аннотаций. Аннотация — это специальный слой, в котором каждая надпись является объектом с атрибутами. Атрибуты включают назначенное для каждой метки место на карте. Вы можете отредактировать слой аннотаций для удаления дублирующихся подписей.

Создание слоев аннотаций для кэша карт

Слои аннотаций могут быть очень большими, и создание аннотаций для всех масштабов вашей карты может оказаться непосильной задачей. Два инструмента в группе инструментов Аннотации, расположенной в разделе Инструменты картографии, предназначены для помощи в создании аннотаций для кэша карт.

Первый - Сохранить схему листов кэша картографического сервиса как полигоны. Этот инструмент считывает схему листов кэша карты и создает сетки границ суперлистов во всех масштабах схемы листов. Эти сетки помогают разбить задание создания аннотаций на управляемые части.

Следующий инструмент - Надписи листов в аннотации. Вы указываете созданные вами сетки суперлистов, документ карты и выходную рабочую область, а этот инструмент создает аннотации для каждого масштаба вашего кэша. Аннотации создаются для всех слоев документа карты, для которых включено надписывание.

Аннотации, созданные этим инструментом, позволят вам добиться такого же размещение надписей, как и при создании кэша. Затем вы можете проверить или запросить слой на наличие повторяющихся надписей и удалить их перед созданием кэша. Можно, кроме того, вручную очистить слой аннотаций между обновлениями кэша при обнаружении конфликтов.

Прежде чем запускать вышеуказанные инструменты для больших территорий, лучше сначала потренироваться на простой карте с небольшим экстентом. Создание сетки суперлистов и рисование аннотаций — это трудоемкие задачи, и вам нужно убедиться, что вы указали правильные параметры при использовании инструментов для большой карты. Такая тренировка также поможет вам оценить, сколько времени может занять работа инструмента и сколько аннотаций они создадут.

Как надписывание влияет на скорость создания листов

Нахождение лучших мест для подписей карты может занять много времени, и подписывание может существенно замедлить процесс создания листов. Аннотации — это самый быстрый способ рисования надписей при кэшировании, поскольку не требует принятия решений об их размещении. У каждой надписи есть заранее определенные координаты, являющиеся ее атрибутом.

Применение Maplex Label Engine - самый медленный способ отрисовки надписей. Хотя механизм Maplex позволяет добиться хорошего подписывания, он может сильно замедлить кэширование карты.

Чтобы достичь оптимального баланса между правильным размещением надписей и производительностью, воспользуйтесь Maplex Label Engine для рисования надписей в документе карты, конвертируйте эти надписи в аннотации и используйте эти аннотации в своем картографическом сервисе.

Внимание:

Maplex требует много памяти. Прежде чем использовать Maplex для создания всего кэша, создайте тестовый кэш и проверьте использование вашей системой памяти в процессе создания листов. Если использование памяти приближается к пределу для вашего компьютера, рассмотрите возможность отключения Maplex. Невыполнение этого требования может привести к нестабильности и возможным сбоям при создании листов.

Определение возможности сохранения надписей в отдельном кэше

Векторные объекты и связанные с ними надписи обычно находятся в одном и том же кэше. У вас редко будет возникать ситуация, подходящая для отключения пользователями надписей, а вот отделение надписей от объектов в отдельном кэше — подходящий вариант.

Обычно надписи не включаются в кэш изображений. Это позволяет использовать изображения отдельно или повторно их использовать в других приложениях. Несколько кэшей изображений с разными наборами надписей, встроенными в листы, занимают в совокупности больше места на диске, чем займет один кэш изображений с несколькими кэшами наложения надписей.