Далее представлены часто задаваемые вопросы, посвященные кэшированию карты. Вопросы посвящены как простым, так и сложным темам. Во многих случаях ответы могут повторять информацию, которую можно найти в справке; однако данный раздел может помочь вам получить ответы на ваши конкретные вопросы быстрее, чем при поиске в справке.
Вопросы о кэшировании
- Почему инструменты кэширования перезапускают мои сервисы?
- Могу ли я опубликовать директорию кэша на нескольких сайтах ArcGIS Server?
- Если я удалю свой сервис, будет ли удален кэш?
- Могу ли я печатать карты с кэшированным содержимым?
- Как создать полный кэш для некоторых масштабов и частичный кэш для других масштабов?
- Как отобразить лист недоступных данных для пустых областей кэша?
- Как избежать в кэше наличия повторяющихся надписей?
- Почему при создании кэша на основе области интереса я вижу дополнительные листы за пределами области?
- Почему при создании листов по запросу дополнительные листы создаются за пределами экстента карты пользователя?
Вопросы о кэшировании
Инструмент Управление листами кэша картографического сервиса и другие инструменты кэширования выполняют некоторые фоновые задания, для которых требуется перезапуск сервиса до и после выполнения инструмента. Если инструменты кэширования изменяют файл схемы листов conf.xml, необходимо перезапустить картографический сервис для применения изменений. Например, если вы использовали инструмент Управление листами кэша картографического сервиса для добавления и удаления масштабов из кэша, необходимо перезапустить картографический сервис для применения изменений схемы листов.
Во время перезапуска сервис будет временно недоступен.
Да. Если у вас несколько сайтов ArcGIS Server, например, сайт разработки и производственный сайт, то на всех этих сайтах можно использовать одну общую директорию кэша. В этом случае вам не потребуется копировать и переносить кэш с одного сайта на другой. Это также дает вам возможность считывать и переписывать только одну директорию кэша сразу с нескольких сайтов.
Для того, чтобы эта директория кэша была доступна с каждого из этих сайтов, необходимо опубликовать ее в сети и предоставить учетной записи каждого сайта ArcGIS Server допуск к этой директории кэша. Эта учетная запись будет использоваться для чтения и, при необходимости, для записи листов в кэш. Дополнительные сведения об учетной записи ArcGIS Server см. в разделе Учетная запись ArcGIS Server.
Вам следует только предоставить учетной записи ArcGIS Server необходимый уровень прав доступа. Так, если сайту, где вы опубликовали директорию кэша, требуется только чтение листов кэша, то учетной записи требуется доступ для чтения. И наоборот, если вы будете создавать листы кэша с каждого сайта, вам нужно будет предоставить учетной записи ArcGIS Server права доступа на чтение и запись для каждого сайта.
Внимание:
Если вы будете создавать листы кэша с нескольких сайтов в одной и той же директории кэша, то необходимо быть предельно внимательным, поскольку ваши существующие кэши могут быть перезаписаны другим сайтом. Например, если у вас есть два одноименных картографических сервиса на разных сайтах, то вы можете перезаписать существующий кэш для картографического сервиса на сайте A, если случайно запущено задание кэширования для картографического сервиса на сайте B.
После того как директория кэша будет опубликована, вам потребуется обновить каждый сайт, чтобы они ссылались на общедоступное местоположение в сети. Подробные инструкции см. в разделе Редактирование серверной директории в ArcGIS Server Manager.
Нет. Листы кэша, схема кэширования и структура папок останутся на диске. Чтобы удалить весь кэш, запустите инструмент Удалить кэш картографического сервера. Если вы хотите удалить листы, но сохранить структуру папки кэша и схемы листов, используйте инструмент Управление листами кэша картографического сервиса с параметром Режим обновления, установленным в состояние Удаление листов.
Хотя стандарты для картографических кэшей и печати веб-карт совпадают с необходимостью сохранять высокую производительность в разных масштабах, вы можете обнаружить, что разрешение кэшированного картографического сервиса недостаточно для печати. Печатные карты часто требуют разрешения 200 точек на дюйм (dpi) или больше, в то время как кэши карт в ArcGIS обычно отображаются с разрешением 96 dpi.
Чтобы учесть это несоответствие в разрешении, сервис PrintingTools, встроенный в ArcGIS Server, использует динамические слои. Динамические слои автоматически включаются в картографических сервисах. Когда в картографическом сервисе или WMS-сервисе с кэшированным содержимым включены динамические слои, сервис выполняет динамическую операцию, которая запрашивает исходные данные картографического сервиса, чтобы экспортировать экстент карты в более высоком разрешении, минуя кэш карты.
Если динамические слои в картографическом сервисе или сервисе WMS с кэшированным содержимым отключены, сервис PrintingTools вместо этого экспортирует экстент карты из кэша на сайте сервера. Результирующая карта будет иметь разрешение кэша карт, 96 точек на дюйм, что может не соответствовать ожиданиям, предъявляемым к печатной карте. Поэтому рекомендуется включить в кэшированном картографическом сервисе динамические слои, используя сервис PrintingTools.
Для крупных масштабов рекомендуется предварительно создать листы, которые вы считаете наиболее востребованными, и настроить создание других листов по запросу. Для мелких масштабов, напротив, рекомендуется создать полный кэш, так как для них требуется меньше листов, которые будут часто просматриваться клиентами при первоначальном просмотре карты.
Можно несколько раз запустить инструмент Управление листами кэша картографического сервера для создания частичного кэша на некоторых уровнях карты и полного кэша на других уровнях.
Предположим, у вас есть карта, которую вы хотите кэшировать в следующих масштабах:
- 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 - на корневом уровне кэша. Сервер по умолчанию использует этот лист, если соответствующего листа в кэше нет. Для настройки листа, выполните следующие шаги:
- Создайте изображение с таким же размером и форматом, как у листа в схеме листов. Назовите его missing.png или missing.jpg. Если требуется пустой лист (например, для наложения сервисов, для которых необходима прозрачность), используйте blank.png. Чтобы загрузить пример листа, ознакомьтесь со статьей технической поддержки Настройка папки кэша для отображения листа "Данные недоступны" для пустых областей кэша карты или отсутствующих листов.
- Сохраните файл 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 листов. Если карта содержит множество слоев или сложных символов, это может привести к длительному отображению карты.
Поэтому настоятельно рекомендуется предварительно создать листы для часто используемых областей карты и использовать кэширование по запросу только для менее популярных областей. Избегайте построения всего кэша по запросу при использовании сложного исходного документа карты.