ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

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

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

Сводка

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

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

    Прежние версии:

    Параметры этого инструмента изменились в версии 10.1. Модели и скрипты, использующие этот инструмент и написанные до версии 10.1, должны быть изменены для работы в версии 10.1.

    При переходе к 10.1 Service Pack 1, необходимо открыть и проверить любые модели, которые используют этот инструмент, поскольку он имеет новый параметр. Этот процесс описан в разделе Автоматизация создания кэша и обновлений с помощью геообработки.

  • Перед запуском инструмента создайте папку на диске, в которой будут храниться экспортированные листы.

  • Параметр Перезаписать листы появился в этом инструменте с выходом 10.1 Service Pack 1. Он позволяет полностью перезаписать экспортируемыми листами листы в кэше назначения, вместо смешения изображений. Экспортируемые листы по-прежнему могут быть ограничены областью интереса.

Синтаксис

arcpy.server.ExportMapServerCache(input_service, target_cache_path, export_cache_type, copy_data_from_server, storage_format_type, scales, {num_of_caching_service_instances}, {area_of_interest}, {export_extent}, {overwrite})
ПараметрОбъяснениеТип данных
input_service

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

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

Image Service; MapServer
target_cache_path

Папка, в которую будет экспортирован кэш. Эта папка не должна быть зарегистрированной директорией кэша сервера. Учетная запись ArcGIS Server должна иметь право на запись в целевую папку кэша. Если учетной записи сервера не может быть предоставлен доступ на запись в папку назначения, но у клиента ArcGIS Desktop или ArcGIS Pro такой доступ есть, то выберите параметр Копировать данные с сервера.

Folder
export_cache_type

Экспортирует кэш в виде набора данных кэша или пакета листов. Пакеты листов предназначены для распространения ArcGIS Runtime и ArcGIS for Windows Mobile.

  • CACHE_DATASET —Кэш картографического сервиса или сервиса изображений, созданный с применением ArcGIS Server. Может использоваться в ArcGIS Desktop и сервисами карт и изображений ArcGIS Server. Это значение по умолчанию.
  • TILE_PACKAGE —Один сжатый файл, где набор данных кэша добавляется как слой и объединяется, так что его можно сделать доступным для совместного использования. Его можно использовать в ArcGIS Desktop, ArcGIS Runtime и в мобильных приложениях.
String
copy_data_from_server

Установите для этого параметра значение COPY_DATA, если учетной записи ArcGIS Server не может быть предоставлен доступ на запись в целевую папку, а у клиента ArcGIS Desktop или ArcGIS Pro такой доступ есть. Программное обеспечение экспортирует листы в выходную директорию сервера, прежде чем переместить их в целевую папку.

  • COPY_DATA —Листы помещаются в выходную директорию сервера, а затем перемещаются в целевую папку. Клиент ArcGIS Desktop или ArcGIS Pro должен иметь право на запись в целевую папку.
  • DO_NOT_COPY —Листы экспортируются непосредственно в целевую папку. Учетная запись ArcGIS Server должна иметь право на запись в целевую папку. Это значение по умолчанию.
Boolean
storage_format_type

Формат хранения экспортированного кэша.

  • COMPACT — Листы группируются в пакетные файлы для экономии места на диске и ускорения копирования кэша. Если параметр export_cache_type задан как Tile package, это выполняется по умолчанию.
  • COMPACT_V2 — Листы группируются только в пакетные файлы. Этот формат обеспечивает лучшую производительность в сетевых папках и каталогах облачного хранения. Если параметр export_cache_type задан как Tile package, то расширение пакета листов будет (.tpkx), и оно поддерживается новыми версиями продуктов платформы ArcGIS, такими как ArcGIS Online, ArcGIS Enterprise 10.9.1 и ArcGIS Runtime 100.5.
  • EXPLODED —Каждый лист хранится в виде отдельного файла (способ, которым кэши хранились всегда до ArcGIS Server).
String
scales
[scales,...]

Список уровней масштаба, на которых будут экспортированы листы.

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

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

Общее количество экземпляров сервиса System/CachingTools, которое будет выделено для работы этого инструмента. Вы можете увеличить параметр максимальное число экземпляров на компьютер для сервиса System/CachingTools в окне Редактор сервисов, которое доступно через административное подключение к ArcGIS Server. Убедитесь в том, что ваши серверы смогут поддерживать выбранное количество экземпляров.

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

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

Если область интереса не указана, экспортируется полный экстент карты.

Feature Set
export_extent
(Дополнительный)

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

Extent
overwrite
(Дополнительный)

Задает, будут ли изображения в кэше назначения объединены с листами из исходного кэша или они будут перезаписаны ими.

  • OVERWRITE —При экспорте все пикселы области интереса замещаются, что позволяет перезаписать кэш назначения листами из исходного кэша.
  • MERGE —При импорте листов прозрачные пикселы исходного кэша по умолчанию игнорируются. Это позволяет получить объединенное или смешанное изображение в кэше назначения. Это значение по умолчанию.
Boolean

Производные выходные данные

ИмяОбъяснениеТип данных
output_cache_path

Папка, в которую был экспортирован кэш.

Строковое

Пример кода

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

Экспорт листов кэша для класса объектов при изменении формата хранения с EXPLODED на COMPACT.

# Name: ExportMapServerCache.py for ArcGIS Server 
# Description: The following stand-alone script demonstrates how to export 
# cache as CACHE_DATASET in COMPACT storage format and MERGE tiles using
# an AREA_OF_INTEREST to TARGET_CACHE_PATH which is accessible to server
# instances 

# Requirements: os, sys, time and 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
targetCachePath 	= "C:/data/temp"
exportCacheType 	= "CACHE_DATASET"
copyDataFromServer 	= "DO_NOT_COPY"
storageFormat 		= "COMPACT"
scales 			= [500000,250000,125000,64000]
numOfCachingServiceInstances = "2"
areaOfInterest 		= "C:/data/101/Portland/Metro.shp"
exportExtents 		= ""
overwriteTiles 		= "MERGE"

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')

# use "scaleValues[0]","scaleValues[-1]","scaleValues[0:3]"

# Enter rectangular custom extent values for the "exportExtents" variable to
# constrain the exporting cache along the rectangular extents

try:
    starttime = time.clock()
    result = arcpy.ExportMapServerCache_server(inputService, targetCachePath,
                                               exportCacheType,
                                               copyDataFromServer,
                                               storageFormat, scales, 
                                               numOfCachingServiceInstances, 
                                               areaOfInterest, exportExtents, 
					       overwriteTiles)
    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 "Exported cache successfully for mapservice " + serviceName +\
    " to " + targetCachePath + "\n using " + areaOfInterest + "\n 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 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)

print "Exported Map server Cache  using area of Interest"

report.close()
ExportMapServerCache, пример 2 (автономный скрипт)

Экспорт кэша в качестве TILE_PACKAGE, когда папка назначения недоступна для ArcGIS Server.

# Name: ExportMapServerCache.py
# Description: The following stand-alone script demonstrates how to export cache
# as TILE_PACKAGE for default number of scales of a service, to a 
# TARGET_CACHE_PATH which is inaccessible to server instances using
# COPY_DATA_FROM_SERVER

# Requirements: os, sys, time and 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
targetCachePath = "C:/temp/usa"
exportCacheType = "TILE_PACKAGE"
copyDataFromServer = "COPY_DATA"
storageFormat = "COMPACT"
scaleValues = [500000,250000,125000,64000]
numOfCachingServiceInstances = "2"
exportExtents = ""
areaOfInterest = ""
overwriteTiles = "MERGE"

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')

# use "scaleValues[0]","scaleValues[-1]","scaleValues[0:3]"

try:
    starttime = time.clock()
    result = arcpy.ExportMapServerCache_server(inputService, targetCachePath,
                                               exportCacheType,
                                               copyDataFromServer,
                                               storageFormat, scales,
                                               numOfCachingServiceInstances,
                                               areaOfInterest,
                                               exportExtents, overwriteTiles)
    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 "Exported cache successfully for mapservice " + serviceName +\
    + " to " + targetCachePath + " 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 "Exported Map server Cache "

report.close()

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

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

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

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

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

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

ArcGIS Desktop

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

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

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