Exportar caché del servidor de mapas (Servidor)

Resumen

Exporta teselas de la caché de una capa de imágenes de mapa como un dataset de la caché o 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.

  • La cuenta ArcGIS Server debe disponer de acceso de escritura a la carpeta de la caché de destino. Si a la cuenta de ArcGIS Server no se le puede conceder acceso de escritura a la carpeta de la caché de destino, pero el cliente de ArcGIS Pro tiene acceso de escritura a ella, elija el parámetro Copiar datos desde el servidor (copy_data_from_server).

  • El parámetro Sobrescribir teselas 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

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})
ParámetroExplicaciónTipo de datos
input_service

La capa de imágenes de mapa con teselas de caché que se va a exportar.

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.

  • CACHE_DATASETUna caché de servicio de mapas o imágenes que se genera con ArcGIS Server. Se puede usar en ArcGIS Desktop y por servicios de mapas o imágenes de ArcGIS Server. Esta es la opción predeterminada.
  • TILE_PACKAGEUn único archivo comprimido en el que el dataset de la caché se agrega como una capa y está consolidado para que se pueda compartir. Se puede usar en ArcGIS Desktop, ArcGIS Runtime y aplicaciones móviles.
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.

  • COPY_DATALas teselas se ubican en el directorio de salidas del servidor y, a continuación, se mueven a la carpeta de destino. El cliente ArcGIS Desktop o ArcGIS Pro debe disponer de acceso de escritura a la carpeta de destino.
  • DO_NOT_COPYLas teselas se exportan directamente a la carpeta de destino. La cuenta ArcGIS Server debe disponer de 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.

  • COMPACT Las teselas se agrupan en archivos de paquete y bundlex para ahorrar espacio en el disco y permitir una copia más rápida de las cachés. Si el parámetro export_cache_type está configurado como Tile package, esta es la opción predeterminada.
  • COMPACT_V2 Las teselas se agrupan solo en archivos de paquete. Este formato proporciona un mejor rendimiento en las redes compartidas y en los directorios de cloudstore. Si el parámetro export_cache_type está configurado como Tile package, la extensión del paquete de teselas es (.tpkx), que es compatible con las versiones más recientes de la plataforma ArcGIS como ArcGIS Online, ArcGIS Enterprise 10.8.1 y ArcGIS Runtime 100.5.
  • EXPLODEDCada tesela se almacena como un archivo individual (tal como se almacenaban las cachés antes de ArcGIS Server).
String
scales
[scales,...]

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

Double
num_of_caching_service_instances
(Opcional)

Especifica el número de instancias que se utilizará para actualizar o generar las teselas. El valor de este parámetro está establecido en sin límite (-1) y no se puede modificar.

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.

  • MAXOF: se utilizará la extensión máxima de todas las entradas.
  • MINOF: se utilizará el área mínima en común de todas las entradas.
  • DISPLAY: la extensión es igual a la visualización actual.
  • Nombre de capa: se utilizará la extensión de la capa especificada.
  • Objeto de Extent: se utilizará la extensión del objeto especificado.
  • Cadena de coordenadas delimitada por espacios: se utilizará la extensión de la cadena especificada. Las coordenadas se expresan como x-min, y-min, x-max, y-max.
Extent
overwrite
(Opcional)

Especifica si las imágenes en la caché de recepción se fusionarán con las teselas de la caché de origen o bien se sobrescribirán.

  • 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. Esta es la opción predeterminada.
Boolean

Salida derivada

NombreExplicaciónTipo 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 as 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(str(e))

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 as 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(str(e))

print("Exported Map server Cache ")

report.close()

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados