Resumen
Administra los datos internos mantenidos por el servidor sobre las teselas construidas en la caché de un servicio de mapas o imágenes.
Uso
Esta herramienta es útil para volver a crear el estado de la caché después de copiar manualmente las teselas en el directorio de caché o crear teselas según demanda.
Esta herramienta es la única forma de crear un estado para una caché creada a su vez con una versión anterior de ArcGIS Server o Portal for ArcGIS.
En lugar de crear un estado para toda la caché, puede usar alternativamente esta herramienta para crear informes de estado para áreas personalizadas de interés y niveles de escala. Esto se consigue estableciendo el parámetro Administrar modo (manage_mode en Python) en REPORT_BUNDLE_STATUS. El informe se almacena en una nueva geodatabase de archivos denominada Status.gdb, concretamente en una clase de entidad denominada TaskStatus.
Tenga en cuenta que el directorio de la caché también contiene un Status.gdb que pertenece a toda la caché y se actualiza cuando se usan las otras opciones de Administrar modo para esta herramienta. No puede sustituir un Status.gdb personalizado en esta ubicación.
Sintaxis
arcpy.server.ManageMapServerCacheStatus(input_service, manage_mode, {scales}, {num_of_caching_service_instances}, {report_folder}, {area_of_interest}, {report_extent})
Parámetro | Explicación | Tipo de datos |
input_service | La capa de imágenes de mapa para la que se modificará el estado de caché. Puede elegirla yendo al servicio deseado en Portal o bien puede arrastrar y soltar una capa de teselas web desde el panel Catálogo, pestaña Portal para proporcionar este parámetro. | Image Service; MapServer |
manage_mode |
| String |
scales [scales,...] (Opcional) | Los niveles de escala para los que se modificará el estado. Este parámetro solo es aplicable cuando se crea un estado personalizado mediante la opción REPORT_BUNDLE_STATUS para el parámetro manage_mode. | Double |
num_of_caching_service_instances (Opcional) | Define la cantidad de instancias que se utilizarán para actualizar/generar las teselas. El valor de este parámetro está establecido en sin límite (-1) y no se puede modificar. | Long |
report_folder (Opcional) | Carpeta de salida para el Status.gdb. Este parámetro solo es aplicable al crear un estado personalizado mediante la opción REPORT_BUNDLE_STATUS. | Folder |
area_of_interest (Opcional) | Un área de interés (polígono) que determina la geografía que abarcará el informe de estado. Este parámetro solo es aplicable al crear un estado personalizado mediante la opción REPORT_BUNDLE_STATUS. | Feature Set |
report_extent (Opcional) | Una extensión rectangular que define el área para la que se creará el estado. Este parámetro solo es aplicable cuando se crea un estado personalizado mediante la opción REPORT_BUNDLE_STATUS. Observe que el parámetro area_of_interest permite especificar un área de interés no rectangular.
| Extent |
Salida derivada
Nombre | Explicación | Tipo de datos |
output_folder | La URL de servicio de salida. | Cadena |
Muestra de código
Elimine la información de estado de una caché.
# Name: ManageMapServerCacheStatus.py
# Description: The following stand-alone script demonstrates how to delete
# Status of cache using ManageMapServerCachStatus tool
# 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.MapService"
inputService = connectionFile + "\\" + server + "\\" + serviceName
scales = ""
manageMode = "DELETE_CACHE_STATUS"
numOfCachingServiceInstances = "2"
outputFolder = ""
areaOfInterest = ""
reportExtents = ""
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 "scales[0]","scales[-1]","scales[0:3]"
try:
starttime = time.clock()
result = arcpy.ManageMapServerCacheStatus_server(inputService,
manageMode, scales,
numOfCachingServiceInstances,
outputFolder,
areaOfInterest,
reportExtents)
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("Reported the Bundle status for scale =" + str(scales[-1]) + "of " + \
serviceName + "at " + outputFolder + "\n using specified feature class " + \
areaOfInterest + " 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 3 \n" "Line %i" % tb.tb_lineno)
report.write(str(e))
report.close()
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí