Skip To Content

Часто задаваемые вопросы о кэшировании

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

Общие вопросы о кэшировании

Вопросы кэширования карт

Общие вопросы о кэшировании

Почему инструменты кэширования перезапускают мои сервисы?

Инструмент Управление листами кэша картографического сервиса и другие инструменты кэширования выполняют некоторые фоновые задания, для которых требуется перезапуск сервиса до и после выполнения инструмента. Если инструменты кэширования изменяют файл схемы листов conf.xml, необходимо перезапустить картографический сервис для применения изменений. Например, если вы использовали инструмент Управление листами кэша картографического сервиса для добавления и удаления масштабов из кэша, необходимо перезапустить картографический сервис для применения изменений схемы листов.

Во время перезапуска сервис будет временно недоступен.

Могу ли я опубликовать директорию кэша на нескольких сайтах ArcGIS Server?

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

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

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

Внимание:

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

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

Если я удалю свой сервис, будет ли удален кэш?

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

Вопросы кэширования карт

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

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

Можно несколько раз запустить инструмент Управление листами кэша картографического сервера для создания частичного кэша на некоторых уровнях карты и полного кэша на других уровнях.

Предположим, у вас есть карта, которую вы хотите кэшировать в следующих масштабах:

  • 1:128 000
  • 1:64 000
  • 1:32 000
  • 1:16 000
  • 1:8 000
  • 1:4 000

Можно запустить инструмент Управление листами кэша картографического сервера и поставить отметки только для масштабов 1:128000, 1:64000 и 1:32000. По умолчанию кэшируется полный экстент этих масштабов.

Затем можно запустить данный инструмент еще раз и поставить отметки только для масштабов 1:16000, 1:8000 и 1:4000. Кроме того, можно кэшировать эти уровни масштабов на основе экстента объектов в классе объектов, например в границе города или страны, вместо кэширования полного экстента карты. Так будет создан частичный кэш для этих трех уровней масштаба. Или же можно создавать остальные листы для этих масштабов по запросу.

Как отобразить лист недоступных данных для пустых областей кэша?

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

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

  1. Создайте изображение с таким же размером и форматом, как у листа в схеме листов. Назовите его missing.png или missing.jpg. Если требуется пустой лист (например, для наложения сервисов, для которых необходима прозрачность), используйте файл blank.png. Сведения о загрузке образца листа см. в статье База знаний Esri.
  2. Сохраните файл missing.png, missing.jpg или blank.png в папке _alllayers для данного картографического сервиса, например, C:\arcgisserver\arcgiscache\MyMapService\Layers\_alllayers\missing.png.

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

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

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

Почему при создании кэша на основе области интереса я вижу дополнительные листы за пределами области?

Чтобы избежать появления повторяющихся надписей на листах, инструменты кэширования сначала отображают области размером 4096 x 4096 пикселов (256 листов размером 256 x 256 пикселов), которые затем разбиваются на листы запрошенного размера в соответствии со схемой листов. В зависимости от схемы листов, а также расположения и формы области интереса, некоторые листы в области 4096 x 4096 пикселов могут выйти за рамки области интереса. Такая ситуация предсказуема. Дополнительные листы не должны отображаться за пределами области интереса на расстоянии 4096 пикселов в любом направлении.

Почему при создании листов по запросу дополнительные листы создаются за пределами экстента карты пользователя?

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

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

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