Resumen
Exporta teselas desde una caché de un servicio de mapas o imágenes como un dataset de caché o como un paquete de teselas a una carpeta en el disco. Las teselas pueden importarse a 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(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 imágenes o mapas con teselas de caché que se va a exportar. 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 ArcGIS Server debe disponer de acceso de escritura a la carpeta de la caché de destino. Si a la cuenta del servidor no se le puede conceder acceso de escritura para la carpeta de destino, pero el cliente de ArcGIS Desktop o ArcGIS Pro tiene acceso de escritura a ella, elija el parámetro Copiar datos desde el servidor. | Folder |
export_cache_type | Exporta una 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 este parámetro como COPY_DATA si no se puede conceder acceso de escritura a la cuenta de ArcGIS Server para 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. De forma predeterminada, las escalas enumeradas 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ínima y máxima 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 que restringe espacialmente dónde se exportan las teselas desde 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. De forma predeterminada, la extensión se encuentra configurada como la extensión completa del servicio de mapas en el que realiza la importación. Observe que el parámetro opcional de esta herramienta Área de interés le permite de forma alternativa importar mediante un polígono. Se recomienda no proporcionar valores para ambos 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 |
Salida derivada
Nombre | Explicación | Tipo de datos |
output_cache_path | La carpeta a la que se ha exportado la memoria caché. | Cadena |
Muestra de código
Ejemplo 1 de ExportMapServerCache (script 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 (script independiente)
Exportar caché como TILE_PACKAGE cuando la carpeta de destino es inaccesible para las instancias 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()
Entornos
Esta herramienta no utiliza ningún entorno de geoprocesamiento.
Información sobre licencias
- Basic: Sí
- Standard: Sí
- Advanced: Sí