Сводка
Создает кэш листов статического изображения для картографического сервиса ArcGIS Server.
Использование
Этот инструмент работает только с картографическими сервисами ArcGIS Server.
Прежде чем запустить этот инструмент, сконфигурируйте картографический сервис на использование максимального числа экземпляров. Это позволит значительно сократить время создания кэша.
Одновременно только один фрейм данных может быть кэширован. Если нужны другие фреймы данных, нужно создавать отдельные кэши, что связано с отдельными картографическими сервисами.
Схема листов определяет, каким образом клиент должен ссылаться на листы в кэше. Можно создать новую схему листов или использовать существующую схему листов, созданную с помощью инструмента Создать схему листов кэша картографического сервиса.
Используйте объединенные кэши в большинстве случаев. Все слои в документе карты собраны в одиночные изображения для каждого заданного уровня масштаба, а затем разделены на несколько листов.
Используйте многослойные кэши в случаях, когда хотите включать и выключать слои.
Параметр Число масштабов – это число различных масштабов карты, для которых инструмент создает слои в кэше.
Вычисление уровней масштаба большой карты для очень больших экстентов карты (таких, как большое государство, провинция или страна) может занять много времени. Например, вычисление размера листа для масштабов карты более 1:100 000 для всей территории Северной Америки.
Основной эффект использования сжатия изображений в кэше – это уменьшение размера листов изображений для повышения производительности сети. Поскольку между клиентом и сервером передается меньше данных, это позволяет кэшировать большие бесшовные растровые наборы данных (размером в несколько терабайт) и быстро доставлять их на клиентский компьютер для отображения. Дополнительным преимуществом является значительно меньший размер кэша на диске.
При использовании этого инструмента для добавления дополнительных уровней (масштабов) в существующий кэш обязательно укажите такой же фактор сжатия, который использовался в исходных уровнях.
JPEG лучше всего использовать с растровыми данными. При работе с векторными данными линии и текст могут быть размыты.
Формат файла JPEG не поддерживается для многослойных кэшей.
Формат листа кэша нельзя изменить после создания кэша. Кэш сначала необходимо удалить перед переключением на другой формат файла.
Для лучшей производительности потоковой передачи листов кэша клиентам выберите формат изображения JPEG. Для достижения наилучшего сочетания производительности и поддержки прозрачности выберите формат изображения PNG8.
Опция Сглаживание сглаживает края линий и текста, но предлагает некоторые улучшения для растровых изображений.
Этот инструмент не принимает никакие установки, которые были указаны.
Синтаксис
arcpy.server.GenerateMapServerCache(server_name, object_name, data_frame, out_folder, tiling_scheme_type, scales_type, num_of_scales, dpi, tile_width, tile_height, {map_or_layers}, {tiling_schema}, {tile_origin}, {levels}, {Layer}, {thread_count}, {Antialiasing}, {cache_format}, {tile_compression_quality})
Параметр | Объяснение | Тип данных |
server_name | Имя хоста ArcGIS Server, которое будет использоваться для создания кэша. | String |
object_name | Имя хоста картографического сервиса, которое будет использоваться для создания кэша. | String |
data_frame | Фрейм данных документа карты, который будет кэширован. Убедитесь, что вы выбрали тот же фрейм данных, что и для картографического сервиса. | String |
out_folder | Родительская директория для кэша этого картографического сервиса. | String |
tiling_scheme_type | Выберите использование схемы листов NEW или PREDEFINED. Новую схему листов можно определить в этом инструменте или можно загрузить файл предопределенной схемы листов (.xml). Предопределенная схема может быть создана путем запуска инструмента ГО Создать схему листов кэша картографического сервера. NEW используется по умолчанию. | Boolean |
scales_type | Задайте уровень масштаба
| Boolean |
num_of_scales | Количество уровней масштаба для создания в кэше. | Long |
dpi | Точки на дюйм предполагаемого устройства вывода. Если выбрано значение DPI, не соответствующее разрешению устройства вывода, масштаб листа карты будет отображаться неправильно. Значение, предлагаемое по умолчанию, равно 96. | Long |
tile_width | Ширина выходных листов карты в пикселях. Малая ширина карты повышает производительность приложения, запрашивающего листы из кэша, так как требуется передавать меньше данных по сети. Тем не менее, уменьшение размеров листа приводит к увеличению размера кэша и времени, затрачиваемого на его создание. По умолчанию ширина листа составляет 512. | Long |
tile_height | Высота выходных листов карты в пикселях. Малая высота карты повышает производительность приложения, запрашивающего листы из кэша, так как требуется передавать меньше данных по сети. Тем не менее, уменьшение размеров листа приводит к увеличению размера кэша и времени, затрачиваемого на его создание. По умолчанию высота листа составляет 512. | Long |
map_or_layers (Дополнительный) | Выберите для создания кэша FUSED или MULTI_LAYER:
| Boolean |
tiling_schema (Дополнительный) | Путь к предопределенной схеме листов. | String |
tile_origin (Дополнительный) | Укажите начало (верхний левый угол) схемы листов в координатах пространственной привязки исходного документа карты. Экстент исходного документа карты должен быть в пределах этой области (но не обязательно совпадать с ней). | String |
levels [Scale; Scale...,...] (Дополнительный) | Масштабы, на которых нужно кэшировать картографический сервис. | String |
Layer [Layer; Layer...,...] (Дополнительный) | Слои для включения в кэш, если выбран тип кэша MULTI_LAYER. | String |
thread_count (Дополнительный) | Количество экземпляров MapServer, используемых при создании кэша. | Long |
Antialiasing (Дополнительный) | Выберите, следует ли использовать сглаживание при отображении листов. Если выбрано ANTIALIASING, края линий, границ и текст будут сглажены. На данную опцию расходуется производительность. Для растровых данных эффекта не будет. | Boolean |
cache_format (Дополнительный) | Выберите формат файла PNG8, PNG24, PNG32 или JPEG для листов в кэше. PNG24 используется по умолчанию.
| String |
tile_compression_quality (Дополнительный) | Введите значение качества сжатия JPEG в диапазоне от 1 до 100. Значение по умолчанию составляет 75 для формата листов JPEG плитки и ноль для других форматов. Сжатие поддерживается только для формата JPEG. Уровень сжатия зависит от данных, но также может управляться путем изменения качества сжатия. Если вы выбираете высокое значение, степень сжатия снизится, а качество изображения станет выше. Если вы выбираете низкое значение, степень сжатия повысится, но качество изображения станет ниже. | Long |
Пример кода
# Script Name: Generate Fused Map Server Cache
# Description: Generates a fused map server cache using PNG8 image format
# Uncomment sys.argv[] lines to accept arguments from the command line.
# Import standard library modules
import sys, string, os, arcgisscripting
# Create the Geoprocessor object
gp = arcgisscripting.create()
# Set the path to the cache.
# Example: \\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\
out_folder = "\\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\"
#out_folder = sys.argv[1]
# Set the SOM server name
# Example: "mySOM"
server_name = "mySOM"
#server_name = sys.argv[2]
# Set the object_name
# Example: "MyServiceFolder/MyService"
object_name = "MyServiceFolder/MyService"
#object_name = sys.argv[3]
# Set the data frame
# Example: "Layers"
data_frame = "Layers"
#data_frame = sys.argv[4]
# Set the map cache tiling origin
# Example: "-180 90"
tile_origin = "-180 90"
#tile_origin = sys.argv[5]
# Set the scale levels for the cache.
# Example: "2000000;500000;250000"
scales = "2000000;500000;250000"
#scales = sys.argv[6]
# Set the layers to cache.
# Example: "My First Layer;My Second Layer;My Third Layer"
layers = "My First Layer;My Second Layer;My Third Layer"
#layers = sys.argv[7]
# Set number of instances to use while updating the cache
# Example: "3"
thread_count = "3"
#thread_count = sys.argv[8]
# Set cache tile image format.
# Example: "PNG8"
cache_format = "PNG8"
#layers = sys.argv[9]
# Non-argument variable declarations
tiling_scheme_type = "NEW"
tiling_schema = ""
scales_type = "STANDARD"
num_of_scales = "3"
dpi = "96"
tile_width = "512"
tile_height = "512"
map_or_layers = "FUSED"
antialiasing = "ANTIALIASING"
tile_compression_quality = "0"
try:
print 'Starting Cache Generation'
gp.GenerateMapServerCache(server_name, object_name, data_frame, out_folder, tiling_scheme_type, scales_type, num_of_scales, dpi, tile_width, tile_height, map_or_layers, tiling_schema, tile_origin, scales, layers, thread_count, antialiasing, cache_format, tile_compression_quality)
print 'Finished Cache Generation'
except:
gp.AddMessage(gp.GetMessages(2))
print gp.GetMessages(2)
Параметры среды
Этот инструмент не использует параметры среды геообработки
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да