Exportar caché del servidor de mapas (Servidor)

Nivel de licencia:BasicStandardAdvanced

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 se pueden importar a otras cachés o se puede acceder a ellas desde ArcGIS for Desktop o dispositivos móviles como un dataset ráster, independientemente de su servicio principal.

Uso

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ámetroExplicaciónTipo 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, abra ArcCatalog, seleccione el servicio en el árbol Catálogo y tenga en cuenta el texto en la barra de herramientas Ubicación. A continuación, cambie las barras invertidas por barras normales, por ejemplo, GIS Servers/arcgis en MYSERVER (admin)/USA.MapServer.Servidor de mapas MapServer.

String
target_cache_path

La carpeta a la cual se exportará la 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 el cliente ArcGIS for Desktop tiene 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 la caché o un Paquete de teselas. Los paquetes de teselas son adecuados para implementaciones de ArcGIS Runtime y ArcGIS for Windows Mobile.

  • CACHE_DATASETCaché de mapa o servicio de imágenes generada mediante ArcGIS Server. Puede utilizarse en ArcMap y por ArcGIS Server o los servicios de imágenes de mapa. Esta es la opción predeterminada.
  • PAQUETE_DE_TESELASUn único archivo comprimido único en el que el dataset de la caché se agrega como una capa y está consolidado para que se pueda compartir fácilmente. Puede utilizarse en ArcGIS for Desktop, así como en ArcGIS Runtime y las aplicaciones móviles.
String
copy_data_from_server

Configure esta opción en COPY_DATA si a la cuenta de ArcGIS Server no se le puede proporcionar acceso de escritura en la carpeta de destino y el cliente ArcGIS for Desktop 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.

  • COPY_DATALas teselas se ubican en el directorio de salidas del servidor y, a continuación, se mueven al directorio destino. El cliente ArcGIS for Desktop debe tener acceso de escritura a la carpeta de destino.
  • DO_NOT_COPYLas teselas se exportan directamente en el directorio de caché del servidor. La cuenta de ArcGIS Server debe tener acceso de escritura a la carpeta de destino. Esta es la opción predeterminada.
Boolean
storage_format_type

El formato de almacenamiento de la caché exportada.

  • COMPACTOLas teselas se agrupan en paquetes de archivos para ahorrar espacio en disco y permitir una copia más rápida de las cachés. Esta es la opción predeterminada si Exportar tipo de caché (export_cache_type en Python) es Paquete de teselas.
  • EXPANDIDOCada tesela se almacena como un archivo individual (del modo en que se guardaban las cachés antes de ArcGIS Server 10).
String
scales
[scales,...]

Lista de niveles de escala a los cuales se exportarán las teselas.

Double
num_of_caching_service_instances
(Opcional)

El número total de casos 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 de servicio 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é. Esta puede ser una clase de entidad o puede ser una entidad que usted defina de forma interactiva en ArcMap. 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)
  • OVERWRITELa exportación sustituye todos los píxeles del área de interés sobrescribiendo con efectividad las teselas en la caché de destino con las de la caché de origen.
  • MERGECuando las teselas se importan, los píxeles transparentes en la caché de origen se ignoran de forma predeterminada. Como consecuencia de ello, se obtiene una imagen fusionada o mezclada en la caché de destino. Este es el comportamiento predeterminado.
Boolean

Ejemplo de código

Ejemplo 1 de ExportMapServerCache

Exportar teselas de la caché para una clase de entidad al cambiar el formato de almacenamiento de EXPANDIDO a COMPACTO.

# 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

Exportar caché como TILE_PACKAGE cuando la carpeta de destino es inaccesible a instancias de 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.

Temas relacionados

Información sobre licencias

ArcGIS for Desktop Basic: Sí
ArcGIS for Desktop Standard: Sí
ArcGIS for Desktop Advanced: Sí
5/16/2014