ArcGIS Desktop

  • Документация
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Построить кэш картографического сервиса

  • Краткая информация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

Краткая информация

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

Использование

    Прежние версии:
    Параметры этого инструмента изменились в версии 10.1. Модели и скрипты, использующие этот инструмент и написанные до версии 10.1, должны быть изменены для работы в версии 10.1.
  • Этот инструмент работает только с картографическими сервисами и сервисами изображений ArcGIS for Server.
  • Одновременно только один фрейм данных может быть кэширован. Если вам нужны карты из нескольких фреймов данных, необходимо создать отдельные картографические сервисы и кэш для каждого фрейма данных.

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

  • Лучше всего с растровыми данными работают форматы изображений JPEG и MIXED. При использовании JPEG или MIXED с векторными картами используйте высокую степень сжатия (например, 90), чтобы уменьшить размытость линий и текста. Векторные данные также могут быть представлены в формате PNG.

  • Формат изображения кэша нельзя изменить после создания кэша. Кэш сначала необходимо удалить перед переключением на другой формат.

Синтаксис

CreateMapServerCache_server (input_service, service_cache_directory, tiling_scheme_type, scales_type, num_of_scales, dots_per_inch, tile_size, {predefined_tiling_scheme}, {tile_origin}, {scales}, {cache_tile_format}, {tile_compression_quality}, {storage_format})
ПараметрОбъяснениеТип данных
input_service

Картографический сервис или сервис изображений для кэширования.

Это строка, содержащая информацию как о сервере, так и о сервисе. Чтобы узнать, как сформировать эту строку, откройте ArcCatalog, выберите свой сервис в дереве каталога и обратите внимание на текст на панели инструментов Местоположение (Location). Затем поменяйте обратные косые черты на прямые, например GIS Servers/arcgis on MYSERVER (admin)/USA.MapServer.

String
service_cache_directory

Родительская директория для кэша. Это должна быть зарегистрированная директория кэша ArcGIS for Server.

String
tiling_scheme_type

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

  • NEW —Вы определите новую схему листов, используя другие различные параметры в этом инструменте, чтобы определить уровни масштаба, формат изображения, формат хранения данных и т. д. Используется по умолчанию.
  • PREDEFINED —Вы укажете файл схемы листов .xml, который уже существует на диске. Вы можете создать файл схемы листов с помощью инструмента Создать схему листов кэша картографического сервиса.
String
scales_type

Укажите, как вы будете определять масштабы листов.

  • STANDARD —Автоматически создает масштабы в зависимости от числа, определенного в параметре Число масштабов (num_of_scales в Python). Он будет использовать уровни, которые увеличиваются или уменьшаются в два раза от 1:1 000 000, начиная с уровня, лучше всего соответствующего экстенту исходного документа карты. Например, если экстент исходного документа карты 1:121 000 000, и требуется три уровня масштабов, картографический сервис создаст кэш с уровнями масштаба 1:128 000 000; 1:64 000 000 и 1:32 000 000. Используется по умолчанию.
  • CUSTOM —Позволяет дизайнеру кэша ввести любые желаемые масштабы.
String
num_of_scales

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

Long
dots_per_inch

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

Long
tile_size

Ширина и высота листов кэша в пикселах. Значение по умолчанию – 256 X 256. Для достижения наилучшего баланса между производительностью и управляемостью избегайте отклонения от стандартных размеров 256 на 256 или 512 на 512.

  • 128 x 128 —128 на 128 пикселов
  • 256 x 256 —256 на 256 пикселов
  • 512 x 512 —512 на 512 пикселов
  • 1024 x 1024 —1024 на 1024 пикселов
String
predefined_tiling_scheme
(Дополнительный)

Путь к xml-файлу предопределенной схемы разбивки на листы (обычно называется conf.xml).

File
tile_origin
(Дополнительный)

Начало (верхний левый угол) схемы листов в координатах пространственной привязки исходного документа карты. Экстент исходного документа карты должен быть в пределах этой области (но не обязательно совпадать с ней).

Point
scales
(Дополнительный)

Уровни масштаба, доступные для кэша. Они не представлены в виде дробей. Вместо этого используйте 500, чтобы представить масштаб 1:500, и т. д.

Value Table
cache_tile_format
(Дополнительный)

Выберите формат файла PNG, PNG8, PNG24, PNG32, JPEG или MIXED для листов в кэше. PNG8 используется по умолчанию.

  • PNG —Создает формат PNG с различной битовой глубиной. Битовая глубина оптимизирована в соответствии со значениями цветового разнообразия и прозрачности в листе.
  • PNG8 —Формат изображения без потерь с 8-битным цветом, использующий палитру индексированных цветов и альфа-таблицу. Каждый пиксел хранит значение (0-255), используемое для поиска цвета в палитре цветов и прозрачности в альфа-таблице. 8-битные файлы PNG аналогичны изображениям GIF. Их прозрачный фон поддерживается в большинстве веб-браузеров.
  • PNG24 —Трехканальный формат изображения без потерь, поддерживающий большие цветовые вариации (16 млн. цветов) и имеющий ограниченную поддержку прозрачности. Каждый пиксел состоит из трех 8-битных цветовых каналов, а заголовок файла содержит единый цвет, представляющий прозрачный фон. Цвет, представляющий прозрачный цвет фона, можно установить в ArcMap. Версии Internet Explorer ниже 7-й не поддерживают этот тип прозрачности. Кэши, использующие PNG24, значительно больше кэшей, использующих PNG8 или JPEG, занимают больше места на диске и требуют большей пропускной способности для обслуживания клиентов.
  • PNG32 —Четырехканальный формат изображения без потерь, поддерживающие большие цветовые вариации (16 млн. цветов) и прозрачность. Каждый пиксел состоит из трех 8-битных цветовых каналов и одного 8-битного альфа-канала, представляющего уровень прозрачности для каждого пиксела. Хотя формат PNG32 допускает частично прозрачные пикселы в диапазоне от 0 до 255, инструмент создания кэша ArcGIS for Server записывает только полностью прозрачные (0) или полностью непрозрачные (255) значения в канал прозрачности. Кэши, использующие PNG32, значительно больше других поддерживаемых форматов, занимают больше места на диске и требуют большей пропускной способности для обслуживания клиентов.
  • JPEG —Трехканальный формат изображения с потерями, поддерживающий большие цветовые вариации (16 млн. цветов), но не поддерживающий прозрачность. Каждый пиксел состоит из трех 8-битных цветовых каналов. Кэши в формате JPEG обеспечивают контроль над выходным качеством и размером.
  • MIXED —Создает PNG 32 там, где присутствует прозрачность (иными словами, там, где виден фон фрейма данных). Создает JPEG для остальных листов. Это помогает уменьшить размер файлов в среднем, и, вместе с тем, обеспечить возможность корректного наложения на другие наборы кэша.
String
tile_compression_quality
(Дополнительный)

Введите значение качества сжатия JPEG в диапазоне от 1 до 100. Значение по умолчанию составляет 75 для формата листов JPEG плитки и ноль для других форматов.

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

Long
storage_format
(Дополнительный)

Определяет формат хранения листов.

  • COMPACT —Группирует листы в большие файлы, называемые пакетами. Этот формат хранения является более эффективным с точки зрения хранения и мобильности.
  • EXPLODED —Хранит каждый лист в виде отдельного файла.
String

Пример кода

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

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
# cache tiling scheme using standard scales.
# Note: Use ManageMapServerCacheTile tool to generate cache tiles
# Requirements: os, sys, time & traceback modules


# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default value.
# To accept arguments from the command line replace values of variables to
# "sys.argv[]"

# Import system modules
import arcpy
from arcpy import env
import os, sys, time, datetime, traceback, string

# Set environment settings
env.workspace = "C:/data"

# List of input variables for map service properties
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
serviceCacheDirectory = "C:\\arcgisserver\\arcgiscache\\"
tilingSchemeType = "NEW"
scalesType = "STANDARD"
numOfScales = "4"
scales = ""
dotsPerInch = "96"
tileOrigin = ""
scales = ""
tileSize = "256 x 256"
cacheTileFormat = "PNG32"
tileCompressionQuality = ""
storageFormat = "COMPACT"
predefinedTilingScheme = ""


currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = "C:/data/report_%s.txt" % arg1

# print results of the script to a report
report = open(file,'w')

try:
    starttime = time.clock()
    result = arcpy.CreateMapServerCache_server(inputService,
                                               serviceCacheDirectory,
                                               tilingSchemeType, scalesType,
                                               numOfScales, dotsPerInch,
                                               tileSize, predefinedTilingScheme,
                                               tileOrigin, scales,
                                               cacheTileFormat,
                                               tileCompressionQuality,
                                               storageFormat)
                                              
    finishtime = time.clock()
    elapsedtime = finishtime - starttime
    
    # print messages to a file
    while result.status < 4:
        time.sleep(0.2)
    resultValue = result.getMessages()
    report.write ("completed " + str(resultValue))
    
    print "Created cache schema with 4 scales & default properties for" + \
    serviceName + " in " + str(elapsedtime) + " sec \n on " + arg2
    
except Exception, e:
    # If an error occurred, print line number and error message
    tb = sys.exc_info()[2]
    report.write("Failed at step 1 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)
    
print "Executed creation of Map server Cache schema "
report.close()

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

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
# cache tiling scheme using Custom scales & jpg image format.

# Note: Use ManageMapServerCacheTile tool to generate cache tiles
# Requirements: os, sys, time & traceback modules


# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default value.
# To accept arguments from the command line replace values of variables to
# "sys.argv[]"

# Import system modules
import arcpy
from arcpy import env
import os, sys, time, string, datetime, traceback

# Set environment settings
env.workspace = "C:/data"

# List of input variables for map service properties
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
serviceCacheDirectory = "C:\\arcgisserver\\arcgiscache"
tilingSchemeType = "NEW"
scalesType = "CUSTOM"
numOfScales = "4"
dotsPerInch = "96"
tileSize = "256 x 256"
predefinedTilingScheme = ""
tileOrigin = ""
scales = "600265;350200;225400;44000"
cacheTileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "COMPACT"


currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = "C:/data/report_%s.txt" % arg1

# print results of the script to a report
report = open(file,'w')

try:
    starttime = time.clock()
    result = arcpy.CreateMapServerCache_server(inputService,
                                               serviceCacheDirectory,
                                               tilingSchemeType, scalesType,
                                               numOfScales, dotsPerInch,
                                               tileSize, predefinedTilingScheme,
                                               tileOrigin, scales, 
                                               cacheTileFormat,
                                               tileCompressionQuality,
                                               storageFormat)
    finishtime = time.clock()
    elapsedtime = finishtime - starttime

    #print messages to a file
    while result.status < 4:
        time.sleep(0.2)
    resultValue = result.getMessages()
    report.write ("completed " + str(resultValue))

    print "Created cache schema with custom scales successfully for " + \
    serviceName + " in " + str(elapsedtime) + " sec \n on " + arg2 

except Exception, e:
    # If an error occurred, print line number and error message
    tb = sys.exc_info()[2]
    report.write("Failed at step 1 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)
print "Executed creation of map server Cache schema using custom scales"

report.close()

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

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
# cache tiling scheme using existing predefined schema.

# Note: Use ManageMapServerCacheTile tool to generate cache tiles
# Requirements: os, sys, time & traceback modules

# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default value.
# To accept arguments from the command line replace values of variables to
# "sys.argv[]"

# Import system modules
import arcpy
from arcpy import env
import os, sys, time, datetime, traceback, string

# Set environment settings
env.workspace = "C:/data"

# List of input variables for map service properties
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
serviceCacheDirectory = "C:\\arcgisserver\\directories\\arcgiscache"
tilingSchemeType = "PREDEFINED"
scalesType = ""
tileOrigin = ""
scalesType = ""
numOfScales = ""
scales = ""
dotsPerInch = "96"
tileSize = "256 x 256"
cacheTileFormat = "MIXED"
tileCompressionQuality = "75"
storageFormat = "COMPACT"
predefinedTilingScheme = "C:/data/TilingSchemes/ArcGIS_Online_Bing_Maps_Google_Maps.xml"


currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = "C:/data/report_%s.txt" % arg1

# print results of the script to a report
report = open(file,'w')

try:
    starttime = time.clock()
    result = arcpy.CreateMapServerCache_server (inputService,
                                                serviceCacheDirectory,
                                                tilingSchemeType, scalesType,
                                                numOfScales, dotsPerInch,
                                                tileSize, predefinedTilingScheme,
                                                tileOrigin, scales,
                                                cacheTileFormat,
                                                tileCompressionQuality,
                                                storageFormat)

    finishtime = time.clock()
    elapsedtime = finishtime - starttime

    #print messages to a file
    while result.status < 4:
        time.sleep(0.2)
    resultValue = result.getMessages()
    report.write ("completed " + str(resultValue))
    
    print "Created cache schema using predefined tiling schema for " +\
    serviceName + " in " + str(elapsedtime) + " sec \n on " + arg2 

except Exception, e:
    # If an error occurred, print line number and error message
    tb = sys.exc_info()[2]
    report.write("Failed at step 1 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)

print "Executed creation of map server Cache schema using tiling scheme"
report.close()

Параметры среды

Этот инструмент не использует параметры среды геообработки

Информация о лицензиях

  • ArcGIS Desktop Basic: Да
  • ArcGIS Desktop Standard: Да
  • ArcGIS Desktop Advanced: Да

Связанные разделы

  • Общий обзор группы инструментов Кэширование

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Конфиденциальность | Правовая информация