Skip To Content

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

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

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

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

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

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

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

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

Каким образом я могу добавить большее число масштабов в схему листов ArcGIS Online/Bing Maps/Google Maps?

Если у вас имеются данные с высоким разрешением, и вы хотите построить кэш в масштабах ArcGIS Online/Bing Maps/Google Maps плюс ваш собственный набор больших или меньших масштабов, то выполните следующий рабочий процесс:

  1. Когда вы задаете ваш кэш в окне Редактор сервиса в ArcMap, используйте ниспадающий список Схема листов для выбора Файла схемы размещения листов.
  2. Перейдите к <ArcGIS for Desktop installation location>\TilingSchemes\ArcGIS_Online_Bing_Maps_Google_Maps.xml.
  3. В окне Редактор сервисов щелкните Дополнительные настройки.
  4. Введите требуемый масштаб для добавления и щелкните Добавить. Повторяйте этот процесс, пока не добавите все требуемые масштабы.
  5. Продолжайте публикацию сервиса и построение листов.

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

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

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

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

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

Внимание:

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

После того как директория кэша будет опубликована, вам потребуется обновить каждый сайт, чтобы они ссылались на общедоступное местоположение в сети. Подробные инструкции см. в разделе Редактирование серверной директории в 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 API for JavaScript, отображение листа недоступных данных можно задать, разместив пустой лист (missing.png, missing.jpg или blank.png) в корневом уровне кэша. Сервер по умолчанию использует этот лист, если соответствующего листа в кэше нет. Инструкции:

  1. Создайте изображение с таким же размером и форматом, как у листа в схеме листов. Назовите его missing.png или missing.jpg. Если требуется пустой лист (например, для наложения сервисов, для которых необходима прозрачность), используйте файл blank.png. Сведения о загрузке примера листа см. в статье базы знаний Esri 36939.
  2. Сохраните файл missing.png, missing.jpg или blank.png в папке _alllayers картографического сервиса, например, opt/arcgis/server/usr/directories/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 листов. Если карта содержит множество слоев или сложных символов, это может привести к длительному отображению карты.

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