Skip To Content

Отображение частичного кэша

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

Использование листов типа "данные недоступны"

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

Для приложений на основе REST, например, созданных с помощью ArcGIS Maps SDK for JavaScript, для настройки листов типа "Данные недоступны" надо разместить пустой лист (missing.png, missing.jpg или blank.png) в корневой папке кэша. Сервер по умолчанию будет использовать этот лист, если соответствующего листа в кэше не окажется. Чтобы настроить листы типа "данные недоступны", выполните следующие шаги.

  1. Создайте изображение такого же размера и формата, как у листа в схеме листов.
  2. Назовите это изображение missing.png или missing.jpg.

    Примечание:
    Если вам требуется пустой лист для наложения сервисов, где необходима прозрачность, назовите изображение blank.png.

  3. Сохраните изображение, созданное вами в папке _alllayers, для вашего картографического сервиса.

    Ниже приведен пример пути: opt/arcgis/server/usr/directories/arcgiscache/MyMapService/Layers/_alllayers/missing.png

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

Кэширование по запросу

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

Если вы включите кэширование по запросу, сайт ArcGIS Server будет динамически отображать листы, когда пользователь будет перемещаться к некэшированной области. Динамическая отрисовка займет больше времени, чем обычный запрос, так как сайту ArcGIS Server необходимо будет динамически создать группу листов. Размер этой группы листов составит либо 2048x2048 пикселей, если картографический сервис использует сглаживание, либо 4096x4096 - если сглаживание не используется. Процесс динамического создания кэша по запросу является однопоточным и не будет использовать все экземпляры сервиса геообработки кэширования. Эти моменты важно учитывать при подготовке карты для динамической отрисовки больших территорий с приемлемой скоростью.

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

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

Примечание:

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

Пересчет

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

Пересчет — это процесс использования существующего кэша листов для заполнения областей, для которых листы не были заранее созданы. Пересчитанное содержимое основано на ближайшем уровне детальности (листах), доступном для слоя. Этот процесс может обеспечить более эффективное взаимодействие с пользователями, но может привести к показу размытых изображений, особенно когда уровень детальности, который подвергается пересчету, сильно отличается от исходного уровня детальности. Например, если максимальный масштаб кэшированных листов в определенной области карты составляет 1:5000, а пользователь увеличивает масштаб до 1:100, пересчитанный кэш потеряет ясность и точность.

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