Краткая информация
Экспортирует листы из кэша картографического сервиса или сервиса изображений в качестве набора данных кэша или в виде пакета листов в папку на диске. Листы либо могут быть импортированы в другие кэши, либо могут быть использоваться в ArcGIS Desktop или на мобильных устройств как набор растровых данных, независимо от родительского сервиса.
Использование
Перед запуском инструмента создайте папку на диске, в которой будут храниться экспортированные листы.
Параметр Перезаписать листы появился в этом инструменте с выходом 10.1 Service Pack 1. Он позволяет полностью перезаписать экспортируемыми листами листы в кэше назначения, вместо смешения изображений. Экспортируемые листы по-прежнему могут быть ограничены областью интереса.
Синтаксис
ExportMapServerCache_server (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.
| String |
copy_data_from_server | Установите эту опцию на COPY_DATA, если учетной записи ArcGIS Server не может быть предоставлен доступ на запись в целевую папку, а у клиента ArcGIS Desktop или ArcGIS Pro такой доступ есть. Программное обеспечение экспортирует листы в выходную директорию сервера, прежде чем переместить их в целевую папку.
| Boolean |
storage_format_type | Формат хранения экспортированного кэша.
| 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 (Дополнительный) |
| Boolean |
Пример кода
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()
Параметры среды
Этот инструмент не использует параметры среды геообработки
Информация о лицензиях
- ArcGIS Desktop Basic: Да
- ArcGIS Desktop Standard: Да
- ArcGIS Desktop Advanced: Да