Crear memoria caché del servidor de mapas (Servidor)
Resumen
Crea el esquema de ordenamiento en teselas y carpetas preparatorias para una memoria caché de servicio de mapas. Después de ejecutar esta herramienta, ejecute Administrar teselas de memoria caché de servidor de mapas para agregar teselas a la memoria caché.
Uso
-
Esta herramienta sólo funciona con los servicios de mapas de ArcGIS Server.
-
Sólo se puede guardar un marco de datos a la vez en la memoria 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 con la herramienta Administrar escalas de memoria caché de servidor de mapas.
-
Para un mejor rendimiento, utilice memorias caché combinadas. Siempre utilice memorias caché combinadas para las teselas que se consumirán en aplicaciones Web.
-
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. Los datos vectoriales también se pueden proporcionar en formato PNG, aunque el formato PNG 24 se debe evitar para memorias caché que se utilizarán en aplicaciones Web.
-
El formato de archivo JPEG no es compatible con las memorias caché multicapa.
-
El formato de imágenes de memoria caché no se puede cambiar después de que se creó la memoria caché. Primero se debe eliminar la memoria caché antes de cambiar de formato.
-
La opción Antialiasing suaviza los bordes de las líneas y el texto, pero ofrece poco realce para las imágenes ráster.
Sintaxis
Parámetro | Explicación | Tipo de datos |
server_name |
El equipo de ArcGIS Server que aloja el servicio que se almacenará en caché. | String |
object_name |
El servicio de mapas que se almacenará en caché. | String |
data_frame |
El marco de datos de mapa que se almacenará en caché | String |
out_folder |
El directorio principal para la memoria 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 memoria 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 memoria caché. Esta opción está deshabilitada si crea una lista personalizada de escalas. | 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 de las teselas en caché en píxeles. El valor predeterminado es 256. Para un mejor equilibrio entre rendimiento y manejabilidad, evite desviarse de los anchos estándar de 256 o 512. | Long |
tile_height |
La altura de las teselas en caché en píxeles. El valor predeterminado es 256. Para un mejor equilibrio entre rendimiento y manejabilidad, evite desviarse de los anchos estándar de 256 o 512. | Long |
map_or_layers (Opcional) |
Elija generar una memoria caché FUSED o MULTI_LAYER:
| String |
tiling_schema (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 |
levels [levels,...] (Opcional) |
Los niveles de escala disponibles para la memoria caché. No se representan como fracciones. En cambio, utilice 500 para representar una escala de 1:500, y así sucesivamente. | String |
Layer [Layer,...] (Opcional) |
Capas para incluir en la memoria caché si se elige el tipo de memoria caché MULTI_LAYER. | String |
Antialiasing (Opcional) | Especifica si se debe 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. El coste de rendimiento es mayor cuando se utilizan servicios de mapas basados en MXD (a diferencia de los servicios de mapas basados en MSD que tienen el antialiasing definido en el archivo MSD). El antialiasing no proporciona ningún beneficio con imágenes ráster. Si la fuente para su servicio de mapas es un archivo MSD y definió el antialiasing dentro del MSD, se aplicará el antialiasing en su memoria caché ya sea que elija o no la opción en esta herramienta.
| Boolean |
cache_format (Opcional) |
Elija el formato de archivo PNG8, PNG24, PNG32, JPEG o MIXED para las teselas en la memoria 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. | Long |
storage_format (Opcional) |
Elija si agrupar las teselas en archivos .bundle grandes con el formato de almacenamiento "Compacto", en vez de almacenar cada tesela como un archivo por separado con el formato "Expandido". El formato de almacenamiento compacto es más eficiente en términos de almacenamiento y movilidad. | String |
use_local_cache_dir | Elija si desea que los archivos de paquetes se escriban en un directorio local del servidor al crear una memoria caché compacta, en lugar de escribirse directamente en el directorio de caché compartido. Si elige esta opción, los archivos de paquetes se copiarán en el directorio de caché compartido a medida que se completan. Esta opción mejora el rendimiento cuando hay varios equipos procesando el trabajo de almacenamiento en caché.
| Boolean |
Ejemplo de código
Este ejemplo crea una memoria caché de mapa con el tipo de escala "estándar".
# CreateMapServerCache example (stand-alone script) # Name: CreateMapServerCache.py # Description: The following stand-alone script demonstrates how to create map # using Custom scales & jpg image format with Antialiasing feature turned on # 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 server = "MyServer" service = "Rainfall" dataFrame = "" cacheDir = "C:\\arcgisserver\\arcgiscache\\" tilingScheme = "NEW" scalesType = "CUSTOM" extents = "" tileOrigin = "" scales = "4" dpi = "96" scaleValues = "600265;350200;225400;44000" tileWidth = "256" tileHeight = "256" cacheType = "FUSED" inputLayers = "" pathToXML = "" antialiasing = "ANTIALIASING" tileFormat = "JPEG" tileCompressionQuality = "75" storageFormat = "Compact" useLocalCacheDir = "True" 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(server, service, dataFrame, cacheDir, tilingScheme, scalesType, scales, dpi, tileWidth, tileHeight, cacheType, pathToXml, tileOrigin, scaleValues, inputLayers, antialiasing, tileFormat, tileCompressionQuality, storageFormat, useLocalCacheDir) 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 " + service + " 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()
Este ejemplo crea una memoria caché de mapa con escalas "personalizadas".
# CreateMapServerCache example (stand-alone script) # Name: CreateMapServerCache.py # Description: The following stand-alone script demonstrates how to create map # using Custom scales & jpg image format with Antialiasing feature turned on # 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 server = "MyServer" service = "Rainfall" dataFrame = "" cacheDir = "C:\\arcgisserver\\arcgiscache\\" tilingScheme = "NEW" scalesType = "CUSTOM" extents = "" tileOrigin = "" scales = "4" dpi = "96" scaleValues = "600265;350200;225400;44000" tileWidth = "256" tileHeight = "256" cacheType = "FUSED" inputLayers = "" pathToXML = "" antialiasing = "ANTIALIASING" tileFormat = "JPEG" tileCompressionQuality = "75" storageFormat = "Compact" useLocalCacheDir = "True" 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(server, service, dataFrame, cacheDir, tilingScheme, scalesType, scales, dpi, tileWidth, tileHeight, cacheType, pathToXml, tileOrigin, scaleValues, inputLayers, antialiasing, tileFormat, tileCompressionQuality, storageFormat, useLocalCacheDir) 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 " + service + " 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()
Este ejemplo crea una memoria caché de mapas con un esquema de ordenamiento en teselas predefinido.
# CreateMapServerCache example (stand-alone script) # Name: CreateMapServerCache.py # Description: The following stand-alone script demonstrates how to create map # using Custom scales & jpg image format with Antialiasing feature turned on # 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 server = "MyServer" service = "Rainfall" dataFrame = "" cacheDir = "C:\\arcgisserver\\arcgiscache\\" tilingScheme = "NEW" scalesType = "CUSTOM" extents = "" tileOrigin = "" scales = "4" dpi = "96" scaleValues = "600265;350200;225400;44000" tileWidth = "256" tileHeight = "256" cacheType = "FUSED" inputLayers = "" pathToXML = "" antialiasing = "ANTIALIASING" tileFormat = "JPEG" tileCompressionQuality = "75" storageFormat = "Compact" useLocalCacheDir = "True" 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(server, service, dataFrame, cacheDir, tilingScheme, scalesType, scales, dpi, tileWidth, tileHeight, cacheType, pathToXml, tileOrigin, scaleValues, inputLayers, antialiasing, tileFormat, tileCompressionQuality, storageFormat, useLocalCacheDir) 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 " + service + " 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()