Resumen
Exporta teselas desde una caché de un servicio de mapas o imágenes como un dataset de la caché de teselas o como un paquete a una carpeta en el disco. Las teselas pueden importarse en otras cachés o bien puede accederse a ellas desde ArcGIS Desktop o dispositivos móviles como un dataset ráster, independientemente de su servicio principal.
Uso
Antes de ejecutar esta herramienta, cree la carpeta en el disco que mantendrá las teselas exportadas.
El parámetro Sobrescribir teselas se agregó a esta herramienta en 10.1 Service Pack 1 y permite que las teselas exportadas sobrescriban por completo las teselas en la caché de destino, en lugar de mezclar las imágenes. Las teselas exportadas todavía se pueden restringir a un área de interés.
Sintaxis
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})
Parámetro | Explicación | Tipo de datos |
input_service | El servicio de mapas o imágenes cuyas teselas en caché se exportarán. Esta es una cadena de caracteres que contiene la información del servidor y de servicios. Para ver cómo construir esta cadena de caracteres, abra ArcCatalog, seleccione su servicio en el árbol Catálogo y observe el texto en la barra de herramientas Ubicación. Cambie las barras diagonales inversas a barras diagonales, por ejemplo, GIS Servers/arcgis on MYSERVER (admin)/USA.MapServer. | Image Service; MapServer |
target_cache_path | La carpeta a la cual se exportará la memoria caché. Esta carpeta no tiene que ser un directorio de caché de un servidor registrado. La cuenta de ArcGIS Server debe tener acceso de escritura a la carpeta de caché de destino. Si a la cuenta de servidor no se le puede conceder acceso de escritura para la carpeta de destino, pero ArcGIS Desktop, ArcGIS Pro o el cliente tienen acceso de escritura a ella, elija el parámetro Copiar datos desde el servidor. | Folder |
export_cache_type | Elija exportar la caché como un dataset de caché o un paquete de teselas. Los paquetes de tesela son adecuados para implementaciones de ArcGIS Runtime y ArcGIS Mobile.
| String |
copy_data_from_server | Establezca esta opción en COPY_DATA si a la cuenta de ArcGIS Server no se le puede conceder acceso de escritura a la carpeta de destino y el cliente de ArcGIS Desktop o ArcGIS Pro tiene acceso de escritura a ella. El software exporta las teselas al directorio de salida del servidor antes de pasarlas a la carpeta de destino.
| Boolean |
storage_format_type | El formato de almacenamiento de la caché exportada.
| String |
scales [scales,...] | Lista de niveles de escala a los cuales se exportarán las teselas. Por defecto, las escalas que se enumeran en el cuadro de diálogo de la herramienta se encuentran entre el mínimo y máximo de escalas en caché para el servicio. Para actualizar el rango de escala, vaya a la pestaña Editor del servicio > Almacenamiento en caché y use los controles deslizantes para actualizar las escalas mínimas y máximas incluidas en la caché. | Double |
num_of_caching_service_instances (Opcional) | La cantidad total de instancias del servicio System/CachingTools que desea dedicar a ejecutar esta herramienta. Puede aumentar la cantidad máxima de instancias por equipo del servicio System/CachingTools utilizando la ventana Editor del servicio, que está disponible a través de una conexión administrativa a ArcGIS Server. Asegúrese de que los equipos de servidor son compatibles con el número de instancias elegidos. | Long |
area_of_interest (Opcional) | Un área de interés (polígono) que restringe espacialmente dónde se exportan en teselas de la caché. Este parámetro es útil si desea exportar áreas con formas irregulares, puesto que la herramienta recorta el dataset de la caché en la resolución de píxeles. Si no especifica un área de interés, se exporta la extensión completa del mapa. | Feature Set |
export_extent (Opcional) | Una extensión rectangular que define las teselas que se exportarán. Por defecto, se puede ver la extensión completa del servicio de mapas hacia el cual realiza la importación. Observe el parámetro opcional de esta herramienta Área de interés que le permite alternativamente importar mediante un polígono. Se recomienda no proporcionar valores para los parámetros para un trabajo. Si los valores se proporcionan para los dos parámetros, el Área de interés prevalece sobre Importar extensión. | Extent |
overwrite (Opcional) |
| Boolean |
Muestra de código
Ejemplo 1 de ExportMapServerCache (secuencia de comandos independiente)
Exporte teselas de caché para una clase de entidad al mismo tiempo que cambia el formato de almacenamiento de EXPLODED a 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()
Ejemplo 2 de ExportMapServerCache (secuencia de comandos independiente)
Exporte la caché como TILE_PACKAGE cuando las instancias de ArcGIS Server no puedan acceder a la carpeta de destino.
# 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()
Entornos
Esta herramienta no utiliza ningún entorno de geoprocesamiento.
Información sobre licencias
- ArcGIS Desktop Basic: Sí
- ArcGIS Desktop Standard: Sí
- ArcGIS Desktop Advanced: Sí