Resumen
Crea el esquema de ordenamiento en teselas y carpetas preparatorias para una caché de servicio de mapas o imágenes. Después de ejecutar esta herramienta, ejecute Administrar teselas de caché de servidor de mapas para agregar teselas a la caché.
Uso
- Esta herramienta solo funciona con los servicios de mapas o imágenes de ArcGIS Server.
Solo se puede guardar un marco de datos a la vez en la caché. Si necesita mapas de distintos marcos de datos, deberá crear servicios de mapas y memorias caché por separado para cada marco de datos.
Una vez creado el esquema de ordenamiento en teselas no se puede modificar. Sin embargo, puede agregar o eliminar escalas utilizando la herramienta Administrar escalas de caché de servidor de mapas.
Los datos ráster se proporcionan mejor en el formato de imágenes JPEG o MIXED. Cuando utiliza JPEG o MIXED con mapas vectoriales, utilice un valor de alta calidad de compresión (como 90) para reducir las líneas y el texto borrosos. También se pueden proporcionar datos vectoriales en formato PNG.
El formato de imágenes de caché no se puede cambiar después de que se creó la caché. Primero se debe eliminar la caché antes de cambiar de formato.
Sintaxis
CreateMapServerCache_server (input_service, service_cache_directory, tiling_scheme_type, scales_type, num_of_scales, dots_per_inch, tile_size, {predefined_tiling_scheme}, {tile_origin}, {scales}, {cache_tile_format}, {tile_compression_quality}, {storage_format})
Parámetro | Explicación | Tipo de datos |
input_service | El servicio de mapas o imágenes que se almacenará en caché. Esta es una cadena de caracteres que contiene la información del servidor y de servicios. Para ver cómo construir esta cadena de caracteres, abra ArcCatalog, seleccione su servicio en el árbol Catálogo y observe el texto en la barra de herramientas Ubicación. Cambie las barras diagonales inversas a barras diagonales, por ejemplo, GIS Servers/arcgis on MYSERVER (admin)/USA.MapServer. | Image Service; MapServer |
service_cache_directory | El directorio principal para la caché. Debe ser un directorio de caché de ArcGIS Server registrado. | String |
tiling_scheme_type | Elija utilizar un esquema de ordenamiento en teselas NUEVO o PREDEFINIDO. Puede definir un nuevo esquema de ordenamiento en teselas con esta herramienta o buscar un archivo de esquema de ordenamiento en teselas predefinido (.xml). Se puede crear un esquema predefinido ejecutando la herramienta Generar esquema de ordenamiento en teselas de caché de servidor de mapas.
| String |
scales_type | Especifique cómo definirá las escalas para las teselas.
| String |
num_of_scales | La cantidad de niveles de escala para crear en la caché. Esta opción está deshabilitada si crea una lista personalizada de escalas. | Long |
dots_per_inch | Los puntos por pulgada del dispositivo de salida deseado. Si se elige un DPI que no coincide con la resolución del dispositivo de salida, la escala de la tesela de mapa aparecerá como incorrecta. El valor predeterminado es 96. | Long |
tile_size | El ancho y la altura de las teselas en caché en píxeles. El valor predeterminado es 256 por 256. Para un mejor equilibrio entre rendimiento y manejabilidad, evite desviarse de los anchos estándar de 256 por 256 y 512 por 512.
| String |
predefined_tiling_scheme (Opcional) | Ruta a un archivo de esquema de ordenamiento en teselas predefinido (en general con el nombre conf. xml). | File |
tile_origin (Opcional) | El origen (esquina superior izquierda) del esquema de ordenamiento en teselas en las coordenadas de la referencia espacial del documento de mapa fuente. La extensión del documento de mapa fuente debe estar dentro de esta región (pero no es necesario que coincida con ella). | Point |
scales [scales,...] (Opcional) | Los niveles de escala disponibles para la caché. No se representan como fracciones. En cambio, utilice 500 para representar una escala de 1:500, y así sucesivamente. | Value Table |
cache_tile_format (Opcional) | Elija el formato de archivo PNG, PNG8, PNG24, PNG32, JPEG o MIXED para las teselas en la caché. PNG8 es la opción predeterminada.
| String |
tile_compression_quality (Opcional) | Introduzca un valor entre 1 y 100 para la calidad de compresión JPEG. El valor predeterminado es 75 para el formato de tesela JPEG y cero para otros formatos. La compresión solo es compatible con el formato JPEG. La elección de un valor superior resultará en un tamaño de archivo más grande con una imagen de calidad más alta. La elección de un valor inferior resultará en un tamaño de archivo más pequeño con una imagen de calidad más baja. | Double |
storage_format (Opcional) | Determina el formato de almacenamiento de teselas.
| String |
Muestra de código
En el ejemplo siguiente se crea el esquema de ordenamiento en teselas y carpetas preliminares para la caché de un servicio de mapas utilizando el tipo de escala ESTÁNDAR. Después de ejecutar esta secuencia de comandos, ejecute la herramienta Administrar teselas de caché de servidor de mapas para agregar teselas a la caché.
# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
# cache tiling scheme using standard scales.
# Note: Use ManageMapServerCacheTile tool to generate cache tiles
# Requirements: os, sys, time & 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
serviceCacheDirectory = "C:\\arcgisserver\\arcgiscache\\"
tilingSchemeType = "NEW"
scalesType = "STANDARD"
numOfScales = "4"
scales = ""
dotsPerInch = "96"
tileOrigin = ""
scales = ""
tileSize = "256 x 256"
cacheTileFormat = "PNG32"
tileCompressionQuality = ""
storageFormat = "COMPACT"
predefinedTilingScheme = ""
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.CreateMapServerCache_server(inputService,
serviceCacheDirectory,
tilingSchemeType, scalesType,
numOfScales, dotsPerInch,
tileSize, predefinedTilingScheme,
tileOrigin, scales,
cacheTileFormat,
tileCompressionQuality,
storageFormat)
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 schema with 4 scales & default properties for" + \
serviceName + " 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 "Executed creation of Map server Cache schema "
report.close()
En el ejemplo siguiente se crea el esquema de ordenamiento en teselas y carpetas preliminares para la caché de un servicio de mapas utilizando escalas PERSONALIZADAS. Después de ejecutar esta secuencia de comandos, ejecute la herramienta Administrar teselas de caché de servidor de mapas para agregar teselas a la caché.
# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
# cache tiling scheme using Custom scales & jpg image format.
# Note: Use ManageMapServerCacheTile tool to generate cache tiles
# Requirements: os, sys, time & 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, string, datetime, traceback
# 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
serviceCacheDirectory = "C:\\arcgisserver\\arcgiscache"
tilingSchemeType = "NEW"
scalesType = "CUSTOM"
numOfScales = "4"
dotsPerInch = "96"
tileSize = "256 x 256"
predefinedTilingScheme = ""
tileOrigin = ""
scales = "600265;350200;225400;44000"
cacheTileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "COMPACT"
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.CreateMapServerCache_server(inputService,
serviceCacheDirectory,
tilingSchemeType, scalesType,
numOfScales, dotsPerInch,
tileSize, predefinedTilingScheme,
tileOrigin, scales,
cacheTileFormat,
tileCompressionQuality,
storageFormat)
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 schema with custom scales successfully for " + \
serviceName + " 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 "Executed creation of map server Cache schema using custom scales"
report.close()
En el ejemplo siguiente se crea el esquema de ordenamiento en teselas y carpetas preliminares para la caché de un servicio de mapas utilizando un esquema de ordenamiento en teselas PREDEFINIDO. Después de ejecutar esta secuencia de comandos, ejecute la herramienta Administrar teselas de caché de servidor de mapas para agregar teselas a la caché.
# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
# cache tiling scheme using existing predefined schema.
# Note: Use ManageMapServerCacheTile tool to generate cache tiles
# Requirements: os, sys, time & 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
serviceCacheDirectory = "C:\\arcgisserver\\directories\\arcgiscache"
tilingSchemeType = "PREDEFINED"
scalesType = ""
tileOrigin = ""
scalesType = ""
numOfScales = ""
scales = ""
dotsPerInch = "96"
tileSize = "256 x 256"
cacheTileFormat = "MIXED"
tileCompressionQuality = "75"
storageFormat = "COMPACT"
predefinedTilingScheme = "C:/data/TilingSchemes/ArcGIS_Online_Bing_Maps_Google_Maps.xml"
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.CreateMapServerCache_server (inputService,
serviceCacheDirectory,
tilingSchemeType, scalesType,
numOfScales, dotsPerInch,
tileSize, predefinedTilingScheme,
tileOrigin, scales,
cacheTileFormat,
tileCompressionQuality,
storageFormat)
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 schema using predefined tiling schema for " +\
serviceName + " 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 "Executed creation of map server Cache schema using tiling scheme"
report.close()
Entornos
Esta herramienta no utiliza ningún entorno de geoprocesamiento.
Información sobre licencias
- ArcGIS Desktop Basic: Sí
- ArcGIS Desktop Standard: Sí
- ArcGIS Desktop Advanced: Sí