ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

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

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

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

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

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

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

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

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

Синтаксис

CreateMapServerCache(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, выберите свой сервис в дереве Каталога и обратите внимание на текст на панели инструментов Местоположение. Замените обратный слэш на прямой, например, GIS Servers/arcgis on MYSERVER (admin)/USA.MapServer.

Image Service; MapServer
service_cache_directory

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

String
tiling_scheme_type

Указывает, как будет определена схема листов. Вы можете определить новую схему разбивки на листы с помощью этого инструмента или перейти к файлу предопределенной схемы (.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) предполагаемого устройства вывода. Если выбрано значение DPI, не соответствующее разрешению устройства вывода, масштаб листа карты будет отображаться неправильно. Значение, предлагаемое по умолчанию, равно 96.

Long
tile_size

Указывает ширину и высоту листов кэша в пикселах. Для достижения наилучшего баланса между производительностью и управляемостью избегайте отклонения от стандартных размеров 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
[scales,...]
(Дополнительный)

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

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

Задает формат листа кэша.

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

Качество сжатия JPEG (1–100). Значение по умолчанию – 75 для формата листов JPEG и 0 для других форматов.

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

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

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

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

Пример кода

CreateMapServerCache, пример 1 (автономный скрипт)

В следующем примере создается схема листов и подготовительные папки для кэша картографического сервиса с использованием типа масштабирования 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()
CreateMapServerCache, пример 2 (автономный скрипт)

В следующем примере создается схема листов и подготовительные папки для кэша картографического сервиса с использованием типа масштабирования 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()
CreateMapServerCache, пример 3 (автономный скрипт)

В следующем примере создается схема листов и подготовительные папки для кэша картографического сервиса с использованием схемы листов 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()

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

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

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

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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

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

ArcGIS Desktop

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

ArcGIS Platform

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

Об Esri

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