Resumen
Crea y actualiza teselas en una caché de capa de teselas web existente (en ArcGIS Enterprise o ArcGIS Online), capas de imágenes de mapa web en ArcGIS Enterprise y servicios de imágenes o mapas en caché en un servidor independiente. Esta herramienta se utiliza para crear teselas nuevas, reemplazar teselas faltantes, sobrescribir teselas desactualizadas o eliminar teselas.
Uso
Esta herramienta puede tardar demasiado en ejecutarse para caché que cubren una extensión geográfica grande o escalas de mapas muy grandes. Si la herramienta se cancela, la creación de teselas se detiene, pero las teselas existentes no se eliminan. Esto significa que puede cancelar la herramienta si no tiene tiempo suficiente y volver a ejecutarla más tarde en la misma caché estableciendo el parámetro Modo Actualizar en Volver a crear teselas vacías (update_mode = "RECREATE_EMPTY_TILES" en Python).
Sintaxis
arcpy.server.ManageMapServerCacheTiles(input_service, scales, update_mode, {num_of_caching_service_instances}, {area_of_interest}, {update_extent}, {wait_for_job_completion})
Parámetro | Explicación | Tipo de datos |
input_service | La capa de teselas web o capa de imágenes de mapa cuyas teselas en caché desea actualizar. | Image Service; MapServer |
scales [scales,...] | Los niveles de escala en los cuales creará o eliminará teselas cuando ejecute esta herramienta, según el update_mode. | Double |
update_mode | El modo para actualizar la memoria caché.
| String |
num_of_caching_service_instances (Opcional) | La cantidad total de instancias del servicio System/CachingTools que desea dedicar a ejecutar esta herramienta. Puede aumentar el ajuste 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 servidores sean compatibles con el número de instancias elegido. Cuando se conecta a un servidor independiente, el número predeterminado de instancias es igual al valor de la configuración Número máximo de instancias del servicio de la herramienta de almacenamiento en caché. | Long |
area_of_interest (Opcional) | Define un área de interés para restringir dónde se van a crear o eliminar las teselas. Este parámetro es útil si desea administrar teselas para áreas con formas irregulares. También es útil en situaciones donde desea almacenar en la caché algunas áreas y dejar sin almacenar las áreas menos visitadas. Si no proporciona un valor para este parámetro, la opción predeterminada es utilizar la extensión completa del mapa. | Feature Set |
update_extent (Opcional) | La extensión rectangular en la cual se crearán o eliminarán teselas, según el valor del parámetro update_mode. No se recomienda que proporcione valores tanto para update_extent como para area_of_interest. Si se proporcionan valores para ambos parámetros, se utilizará el valor de area_of_interest. | Extent |
wait_for_job_completion (Opcional) | Este parámetro le permite ver el progreso del trabajo de la caché que se ejecuta en el Portal.
| Boolean |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_job_url | La URL de salida. | String |
Muestra de código
Ejemplo 1 de ManageMapServerCacheTiles (secuencia de comandos independiente)
Se crean o actualizan todas las teselas en la caché con la opción RECREATE_ALL_TILES.
# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate all
# cache tiles for the scales in the cache tiling scheme.
# 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
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = 2
updateMode = "RECREATE_ALL_TILES"
areaOfInterest = ""
waitForJobCompletion = "WAIT"
updateExtents = ""
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')
try:
starttime = time.clock()
result = arcpy.ManageMapServerCacheTiles_server(inputService, scales,
updateMode,
numOfCachingServiceInstances,
areaOfInterest, updateExtents,
waitForJobCompletion)
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 "Created cache tiles for given schema successfully for " +\
serviceName + " in " + str(elapsedtime) + " sec 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)
report.close()
print "Created Map server Cache Tiles "
Ejemplo 2 de ManageMapServerCacheTiles (secuencia de comandos independiente)
Se actualizan las teselas vacías para algunas de las escalas con la opción RECREATE_EMPTY_TILES.
# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate
# empty tiles for one of the default number of scales in the cache
# tiling scheme
# 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
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = 2
updateMode = "RECREATE_EMPTY_TILES"
areaOfInterest = ""
waitForJobCompletion = "WAIT"
updateExtents = ""
cacheDir = "c:\\arcgisserver\\arcgiscache\\"
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.ManageMapServerCacheTiles_server(inputService, scales[-1],
updateMode, numOfCachingServiceInstances,
areaOfInterest, updateExtents,
waitForJobCompletion)
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 "Created cache tiles for scale =" + str(scales[-1]) + "for " +\
serviceName + " at " + cacheDir + " in " + str(elapsedtime) +\
" sec 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)
report.close()
print "Rereated Map server Cache Tiles for scale = " + str(scaleValues[-1])
Ejemplo 3 de ManageMapServerCacheTiles (secuencia de comandos independiente)
Se actualizan las teselas mediante un área de interés.
# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate all
# tiles using given feature class.
# 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
import os
import sys
import time
import datetime
import traceback
import string
# Set environment settings
arcpy.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
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = 2
updateMode = "RECREATE_ALL_TILES"
areaOfInterest = "C:/data/shp/CaTxFlMaMin.shp"
waitForJobCompletion = "WAIT"
updateExtents = ""
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.ManageMapServerCacheTiles_server(inputService, scales[-1],
updateMode,
numOfCachingServiceInstances,
areaOfInterest, updateExtents,
waitForJobCompletion)
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 "Created cache tiles for scale =" + str(scales[-1]) + "for " +\
serviceName + "at " + cacheDir + " using specified feature class " +\
areaOfInterest + " in " + str(elapsedtime) + " sec 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)
report.close()
print "Rereated Map server Cache Tiles"
print "for scale = " + str(scaleValues[-1]) + " using area of Interest"
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí