arcpy.server.ImportMapServerCache(input_service, source_cache_type, {source_cache_dataset}, {source_tile_package}, {upload_data_to_server}, {scales}, {num_of_caching_service_instances}, {area_of_interest}, {import_extent}, {overwrite})
|
Nombre
|
Explicación
|
Tipo de datos
|
|
input_service
|
La capa de imágenes de mapa con teselas de caché que se va a importar.
|
Image Service; Map Server
|
|
source_cache_type
|
Especifica el tipo de caché que se importará en un servicio de mapas o imágenes almacenado en caché que se ejecuta en el servidor.
CACHE_DATASET—Se exportará una caché de servicio de mapas o imágenes que se genera con ArcGIS Server. Se puede utilizar en ArcGIS Desktop y mediante los servicios de mapas o imágenes de ArcGIS Server.
TILE_PACKAGE—Se importará un ú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 utilizar en ArcGIS Pro y con ArcGIS Maps SDKs for Native Apps.
|
String
|
|
source_cache_dataset
(Opcional)
|
La ruta a la carpeta de caché que coincide con el nombre del marco de datos. No tiene que especificar este parámetro al directorio de caché del servidor registrado; en general, especificará una ubicación del disco donde las teselas se exportaron previamente. La ubicación debe ser accesible a la cuenta de ArcGIS Server. Si a la cuenta de ArcGIS Server no se le puede conceder acceso a esta ubicación, establezca el parámetro upload_data_to_server en UPLOAD_DATA.
|
Raster Dataset
|
|
source_tile_package
(Opcional)
|
La ruta al paquete de teselas (.tpk o .tpkx) que se importará. La ubicación debe ser accesible a la cuenta de ArcGIS Server. Al importar un archivo del paquete de teselas a un servicio de mapas o imágenes almacenado en caché, el parámetro upload_data_to_server se pasa por alto, ya que se establecerá automáticamente en UPLOAD_DATA.
|
File
|
|
upload_data_to_server
(Opcional)
|
Especifica cómo se moverán las teselas al directorio de caché del servidor.
Defina este parámetro en UPLOAD_DATA si la cuenta de ArcGIS Server no tiene acceso de lectura a la caché de origen. La herramienta cargará la caché de origen en el directorio de cargas de ArcGIS Server antes de moverla al directorio de caché de ArcGIS Server.
UPLOAD_DATA—Las teselas se ubicarán primero en el directorio de cargas del servidor y, a continuación, se moverán al directorio de caché del servidor. Esta opción está habilitada de forma predeterminada cuando source_cache_type es TILE_PACKAGE.
DO_NOT_UPLOAD—Las teselas se importarán directamente en el directorio de caché del servidor. La cuenta de ArcGIS Server debe tener acceso de lectura a la caché de origen.
|
Boolean
|
|
scales
[scales,...]
(Opcional)
|
Lista de niveles de escala a los cuales se importarán las teselas.
|
Double
|
|
num_of_caching_service_instances
(Opcional)
|
Cantidad de instancias que se utilizarán 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)
|
Polígono del área de interés que restringe espacialmente dónde se importarán las teselas en la caché. Este parámetro es útil al importar teselas para áreas con formas irregulares, ya que la herramienta recorta el dataset de la caché que interseca con el polígono en la resolución de píxeles y lo importa al directorio de caché del servicio.
Si no se proporciona un valor para este parámetro, se utilizará el valor del parámetro import_extent. La opción predeterminada es utilizar la extensión completa del mapa.
|
Feature Set
|
|
import_extent
(Opcional)
|
Extensión rectangular que define las teselas que se importarán en la memoria caché. 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. El parámetro Área de interés opcional permite restringir espacialmente las teselas se importan mediante una forma irregular. Si se proporcionan los valores de los parámetros, se utilizará el valor del parámetro Área de interés.
Extensión rectangular que define las teselas que se importarán en la memoria caché. 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. El parámetro area_of_interest opcional permite restringir espacialmente las teselas se importan mediante una forma irregular. Si se proporcionan los valores de los parámetros, se utilizará el valor del parámetro area_of_interest.
MAXOF: se usará la extensión máxima de todas las entradas.
MINOF: se usará el área mínima común a todas las entradas.
DISPLAY: la extensión es igual a la visualización visible.
Nombre de capa: se usará la extensión de la capa especificada.
Extent objeto: se usará la extensión del objeto especificado.
Cadena de caracteres con las coordenadas delimitadas por espacios: se usará la extensión de la cadena especificada. Las coordenadas se expresan en el orden x-min, y-min, x-max, y-max.
|
Extent
|
|
overwrite
(Opcional)
|
Especifica si las imágenes en la caché de destino se fusionarán con las teselas de la caché de origen o bien se sobrescribirán.
OVERWRITE—Todos los píxeles del área de interés se reemplazarán, sobrescribiendo con efectividad las teselas en la caché de destino con las de la caché de origen.
MERGE—Cuando las teselas se importan, los píxeles transparentes en la caché de origen se ignoran. 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
|
Nombre
|
Explicación
|
Tipo de datos
|
|
out_job_url
|
La URL de salida.
|
String
|
Muestra de código
Ejemplo 1 de ImportMapServerCache (secuencia de comandos independiente)
Importe un dataset de caché a un servicio almacenado en caché para el número predeterminado de escalas. Las teselas en la caché de recepción se sobrescribirán con las teselas que se están importando.
# Name: ImportMapServerCache.py
# Description: The following stand-alone script demonstrates how to import map
# server cache from a source directory with CACHE_DATASET and
# OVERWRITE existing cache on the service for the number
# of scales specified without Uploading data to server
# Requirements: os, sys, time and traceback modules
# Any line that begins with a pound sign is a comment and will not be run
# 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 sys
import time
import datetime
# 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
sourceCacheType = "CACHE_DATASET"
sourceCacheDataset = "C:/data/destination_folder/Layers"
sourceTilePackage = ""
uploadDataToServer = "DO_NOT_UPLOAD"
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = "2"
areaOfInterest = ""
importExtents = ""
overwriteTiles = "OVERWRITE"
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.server.ImportMapServerCache(inputService, sourceCacheType,
sourceCacheDataset,
sourceTilePackage,
uploadDataToServer, scales,
numOfCachingServiceInstances,
areaOfInterest, importExtents,
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("Imported Map server Cache Tiles successfully for" + serviceName + \
" from" + sourceCacheDataset + "\n in " + str(elapsedtime)+ "sec 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("Imported Map server Cache Tiles ")
report.close()
Ejemplo 2 de ImportMapServerCache (secuencia de comandos independiente)
Importe teselas de caché para un área de interés, desde un paquete de teselas en un servicio de caché.
# Name: ImportMapServerCache.py
# Description: The following stand-alone script demonstrates how to import map
# server cache from a source directory with Tile Package to an existing service for
# the default number of scales specified using an AOI by uploading data to remote server
# To Import cache tiles for the scales specified for 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 run
# 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 sys
import time
import datetime
# 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
sourceCacheType = "TILE_PACKAGE"
sourceCacheDataset = ""
sourceTilePackage = "C:\\data\\destination_folder\\TPK\\Rainfall.tpk"
uploadDataToServer = "UPLOAD_DATA"
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = "2"
cacheDir = "c:\\arcgisserver\\arcgiscache"
areaOfInterest = "C:/data/101/Portland/Portland_Metro.shp"
importExtents = ""
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 "scales[0]","scales[-1]","scales[0:3]"
try:
starttime = time.clock()
result = arcpy.server.ImportMapServerCache(inputService, sourceCacheType,
sourceCacheDataset,
sourceTilePackage,
uploadDataToServer, scales,
numOfCachingServiceInstances,
areaOfInterest, importExtents,
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("Imported Map server Cache Tiles successfully for " + serviceName + \
" from " + sourceTilePackage + " to " + cacheDir + "\n using "+ 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 2 \n" "Line %i" % tb.tb_lineno)
report.write(str(e))
report.close()
print("Imported Map server Cache Tiles for the given feature class")