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

Sintaxis

CreateMapServerCache_Server (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}, {Antialiasing}, {cache_format}, {tile_compression_quality}, {storage_format}, use_local_cache_dir)
ParámetroExplicaciónTipo 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.

  • NUEVODefina un esquema de ordenamiento en teselas nuevo mediante otros parámetros de esta herramienta para definir niveles de escala, formato de imágenes, formato de almacenamiento y así sucesivamente. Esta es la opción predeterminada.
  • PREDEFINIDOEspecifique un archivo .xml de esquema de ordenamiento en teselas que ya existe en el disco. Puede crear un archivo de esquema de ordenamiento en teselas mediante 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.

  • STANDARDGenera automáticamente las escalas en base al número definido en el campo "Número de escalas". Utilizará niveles que aumentan o disminuyen a la mitad desde 1:1000000 y comenzará con el nivel más cercano a la extensión del documento de mapa fuente. Por ejemplo, si el documento de mapa fuente tiene una extensión de 1:121.000.000 y se definen tres niveles de escala, el servicio de mapas creará una memoria caché con niveles de escala de 1:128.000.000; 1:64.000.000; y 1:32.000.000. Esto ocurre por defecto.
  • CUSTOMPermite que el diseñador de la memoria caché introduzca todas las escalas que desee.
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:

  • FUSED Elija esta opción si desea crear cada tesela como una imagen combinada de todas las capas en el documento de mapa fuente. Este es el método más eficiente de almacenar el mapa en caché y es la opción predeterminada. Como todas las capas se combinan en una imagen, las aplicaciones cliente de este servicio no pueden activar o desactivar capas individuales. Si necesita alternar la visibilidad de una capa, deberá separarla en un servicio y caché propios.
  • MULTI_LAYERElija esta opción si desea organizar las teselas en submemorias caché, cada una con una capa en el documento de mapa fuente. Este método de almacenamiento en caché permite que las aplicaciones cliente de este servicio activen o desactiven capas individuales. Sin embargo, se creará una mayor cantidad de teselas y el cliente deberá hacer el trabajo de recuperar y superponer las imágenes por separado. Esta opción se debe evitar para memorias caché que se consumirán en clientes Web.
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.

  • NINGUNONo se aplicará el antialiasing. Esta es la opción predeterminada.
  • ANTIALIASINGSe aplicará el antialiasing.
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.

  • PNG8Un formato de imagen de colores de 8 bits, sin pérdida de información, que utiliza una paleta de colores indexada y una tabla alfa. Cada píxel almacena un valor (0–255) que se utiliza para buscar el color en la paleta de colores y la transparencia en la tabla alfa. El formato PNG de 8 bits es similar a las imágenes GIF y tiene la mejor compatibilidad para fondos transparentes de la mayoría de los navegadores Web.
  • PNG24Un formato de imagen de tres canales, sin pérdida de información, que admite grandes variaciones de colores (16 millones de colores) y tiene una compatibilidad limitada con la transparencia. Cada píxel contiene tres canales de colores de 8 bits y el encabezado del archivo contiene el color único que representa el fondo transparente. El color que representa el color de fondo transparente se puede configurar en ArcMap. Las versiones de Internet Explorer inferiores a la versión 7 no son compatibles con este tipo de transparencia. Las memorias caché que utilizan PNG24 son significativamente más grandes que las que usan PNG8 o JPEG, utilizarán más espacio en disco y requerirán un mayor ancho de banda para servir a los clientes.
  • PNG32Un formato de imagen de cuatro canales, sin pérdida de información, que admite grandes variaciones de colores (16 millones de colores) y transparencia. Cada píxel contiene tres canales de colores de 8 bits y un canal alfa de 8 bits que representa el nivel de transparencia para cada píxel. Mientras el formato PNG32 permite píxeles parcialmente transparentes en el rango de 0 a 255, la herramienta de generación de caché de ArcGIS Server sólo escribe valores completamente transparentes (0) o completamente opacos (255) en el canal de transparencia. Las memorias caché que utilizan PNG32 son significativamente más grandes que otros formatos compatibles, utilizarán más espacio en disco y requerirán mayor ancho de banda para servir a los clientes.
  • JPEGUn formato de imagen de tres canales, con pérdida de información, que admite grandes variaciones de colores (16 millones de colores) y no es compatible con la transparencia. Cada píxel contiene tres canales de colores de 8 bits. Las memorias caché que utilizan JPEG ofrecen control sobre la calidad y el tamaño de la salida.
  • MIXEDCrea PNG 32 en cualquier lugar en donde se detecta transparencia (en otras palabras, en cualquier lugar en donde el fondo del marco de datos sea visible). Crea formatos JPEG para las demás teselas. Esto mantiene bajo el tamaño de archivo promedio al proporcionarle una superposición limpia por encima de las otras memorias caché.
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é.

  • TRUELa teselas almacenadas en paquetes se escriben en un directorio local, luego se copian en el directorio de caché compartido a medida que se completan los paquetes. Este es el valor predeterminado cuando el formato de almacenamiento es Compacto.
  • FALSOLas teselas se escriben directamente en el directorio de caché compartido. Esta es la única opción válida cuando el formato de almacenamiento es Expandido.
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()

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento

Temas relacionados

Información de licencia

ArcView: Sí
ArcEditor: Sí
ArcInfo: Sí

7/11/2012