Resumen
Genera una caché de teselas de imágenes estáticas para un servicio de mapas de ArcGIS Server.
Uso
Esta herramienta solo funciona con los servicios de mapas de ArcGIS Server.
Antes de ejecutar esta herramienta, configure el servicio de mapas para que utilice tantas instancias como sea posible. Esto disminuirá enormemente el tiempo de creación de la caché.
Solo se puede guardar un marco de datos a la vez en la caché. Si se necesitan otros marcos de datos, se deben generar memorias caché separadas que se asocien con MapServices separados.
El esquema de ordenamiento en teselas determina cómo el cliente debe hacer referencia a las teselas en la caché. Se puede crear un esquema de ordenamiento en teselas nuevo o se puede utilizar un esquema existente creado con la herramienta Generar esquema de ordenamiento en teselas de servidor del mapa caché.
Utilice memorias caché combinadas en la mayoría de los casos. Todas las capas en el mapa se componen de imágenes únicas para cada nivel de escala específico, que después se dividen en muchas teselas.
Utilice memorias caché multicapas para los casos en donde desee activar y desactivar capas.
El parámetro Número de escalas es el número de las distintas escalas de mapas para el cual la herramienta creará capas en la memoria caché.
El cálculo de grandes niveles de escala de mapa para extensiones de mapas muy amplias (como un estado, una provincia o un país grande) puede llevar mucho tiempo. Por ejemplo, el cálculo de un tamaño de tesela para escalas de mapas mayores a 1:100.000 para toda América del Norte.
El principal beneficio de aplicar la compresión de imágenes en la caché es la reducción del tamaño de las teselas de imágenes para mejorar el rendimiento en la red. Como se transmiten menos datos entre el cliente y el servidor, es posible almacenar en caché datasets ráster grandes, sin interrupciones, (tan grandes como varios terabytes) y entregárselos rápido a un cliente para su visualización. Un beneficio adicional es el tamaño significativamente reducido de la caché en el disco.
Cuando utilice esta herramienta para agregar más niveles (escalas) a una caché existente, asegúrese de especificar el mismo factor de compresión que se utilizó en los niveles originales.
JPEG se utiliza mejor con datos ráster. Cuando se utiliza con datos vectoriales, las líneas y el texto pueden aparecer borrosos.
El formato de archivo JPEG no es compatible con las memorias caché multicapa.
El formato de tesela de caché no se puede cambiar después de que se creó la caché. Primero se debe eliminar la caché antes de cambiar a otro formato de archivo.
Para un mejor rendimiento de la transmisión streaming de las teselas de caché para los clientes, elija el formato de imagen JPEG. Para la mejor combinación de rendimiento y transparencia, seleccione el formato de imagen PNG8.
La opción Antialiasing suaviza los bordes de las líneas y el texto, pero ofrece poco realce para las imágenes ráster.
Esta herramienta no acepta cualquier Configuración del entorno que se haya especificado.
Sintaxis
arcpy.server.GenerateMapServerCache(server_name, object_name, data_frame, out_folder, tiling_scheme_type, scales_type, num_of_scales, dpi, tile_width, tile_height, {map_or_layers}, {tiling_schema}, {tile_origin}, {levels}, {Layer}, {thread_count}, {Antialiasing}, {cache_format}, {tile_compression_quality})
Parámetro | Explicación | Tipo de datos |
server_name | El nombre del host de ArcGIS Server que se utilizará para generar la caché. | String |
object_name | El nombre del servicio de mapas que se utilizará para generar la caché. | String |
data_frame | El marco de datos de los documentos de mapas a la memoria caché. Asegúrese de seleccionar el mismo marco de datos que seleccionó para el servicio de mapas. | String |
out_folder | El directorio principal para esta caché de servicio de mapas. | String |
tiling_scheme_type | Elija utilizar un esquema de ordenamiento en teselas NUEVO o PREDEFINIDO. Con esta herramienta se puede definir un nuevo esquema de ordenamiento en teselas o se puede cargar un archivo de esquema predefinido (.xml). Se puede crear un esquema predefinido al ejecutar la herramienta GP Generar esquema de ordenamiento en teselas de servidor del mapa caché. NUEVO es la opción predeterminada. | Boolean |
scales_type | Establezca el nivel de escala
| Boolean |
num_of_scales | La cantidad de niveles de escala para crear en la caché. | Long |
dpi | 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_width | El ancho, en píxeles, de las teselas de mapa de salida. Los mapas de poco ancho mejoran el rendimiento de la aplicación solicitando teselas de la caché porque viajan menos datos por el cable. Sin embargo, un tamaño de tesela más pequeño genera un tamaño de caché más grande y un mayor tiempo de creación. El ancho de tesela predeterminado es 512. | Long |
tile_height | La altura, en píxeles, de las teselas de mapa de salida. Los mapas de poca altura mejoran el rendimiento de la aplicación solicitando teselas de la caché porque viajan menos datos por el cable. Sin embargo, un tamaño de tesela más pequeño genera un tamaño de caché más grande y un mayor tiempo de creación. La altura de tesela predeterminada es 512. | Long |
map_or_layers (Opcional) | Elija generar una caché FUSED o MULTI_LAYER:
| Boolean |
tiling_schema (Opcional) | Ruta al esquema de ordenamiento en teselas predefinido. | String |
tile_origin (Opcional) | Especifica 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). | String |
levels [Scale; Scale...,...] (Opcional) | Escalas en las que se almacenará en caché el servicio de mapas. | String |
Layer [Layer; Layer...,...] (Opcional) | Capas para incluir en la caché si se elige el tipo de caché MULTI_LAYER. | String |
thread_count (Opcional) | La cantidad de instancias de MapServer para utilizar mientras se genera la caché. | Long |
Antialiasing (Opcional) | Elija si desea utilizar antialiasing para representar en pantalla las teselas. Si se elige la opción de ANTIALIASING, se suavizarán los bordes de las líneas, los bordes y el texto. Hay un coste de rendimiento para esta opción. No se obtendrán beneficios con los datos ráster. | Boolean |
cache_format (Opcional) | Elija el formato de archivo PNG8, PNG24, PNG32 o JPEG para las teselas en la caché. PNG24 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. El nivel de compresión dependerá de los datos, pero también se puede controlar al cambiar la calidad de compresión. Si elige un valor más alto resultará en una menor compresión y una mayor calidad de imagen. Si elige un valor más bajo dará como resultado una mayor compresión pero una imagen de calidad más baja. | Long |
Muestra de código
# Script Name: Generate Fused Map Server Cache
# Description: Generates a fused map server cache using PNG8 image format
# Uncomment sys.argv[] lines to accept arguments from the command line.
# Import standard library modules
import sys, string, os, arcgisscripting
# Create the Geoprocessor object
gp = arcgisscripting.create()
# Set the path to the cache.
# Example: \\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\
out_folder = "\\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\"
#out_folder = sys.argv[1]
# Set the SOM server name
# Example: "mySOM"
server_name = "mySOM"
#server_name = sys.argv[2]
# Set the object_name
# Example: "MyServiceFolder/MyService"
object_name = "MyServiceFolder/MyService"
#object_name = sys.argv[3]
# Set the data frame
# Example: "Layers"
data_frame = "Layers"
#data_frame = sys.argv[4]
# Set the map cache tiling origin
# Example: "-180 90"
tile_origin = "-180 90"
#tile_origin = sys.argv[5]
# Set the scale levels for the cache.
# Example: "2000000;500000;250000"
scales = "2000000;500000;250000"
#scales = sys.argv[6]
# Set the layers to cache.
# Example: "My First Layer;My Second Layer;My Third Layer"
layers = "My First Layer;My Second Layer;My Third Layer"
#layers = sys.argv[7]
# Set number of instances to use while updating the cache
# Example: "3"
thread_count = "3"
#thread_count = sys.argv[8]
# Set cache tile image format.
# Example: "PNG8"
cache_format = "PNG8"
#layers = sys.argv[9]
# Non-argument variable declarations
tiling_scheme_type = "NEW"
tiling_schema = ""
scales_type = "STANDARD"
num_of_scales = "3"
dpi = "96"
tile_width = "512"
tile_height = "512"
map_or_layers = "FUSED"
antialiasing = "ANTIALIASING"
tile_compression_quality = "0"
try:
print 'Starting Cache Generation'
gp.GenerateMapServerCache(server_name, object_name, data_frame, out_folder, tiling_scheme_type, scales_type, num_of_scales, dpi, tile_width, tile_height, map_or_layers, tiling_schema, tile_origin, scales, layers, thread_count, antialiasing, cache_format, tile_compression_quality)
print 'Finished Cache Generation'
except:
gp.AddMessage(gp.GetMessages(2))
print gp.GetMessages(2)
Entornos
Esta herramienta no utiliza ningún entorno de geoprocesamiento.
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí