Generar esquema de ordenamiento en teselas de servidor del mapa Caché (Servidor)

Resumen

Genera un archivo de esquema de ordenamiento en teselas personalizado que define los niveles de escala, las dimensiones de teselas y otras propiedades para una capa de teselas web.

Un esquema de ordenamiento en teselas describe cómo los clientes deben hacer referencia a las teselas en una caché y es una representación cartográfica entre la referencia espacial del documento de mapa fuente y la cuadrícula de ordenamiento en teselas. La cuadrícula de ordenamiento en teselas utiliza un esquema de referencia de nivel de detalle (escala), fila y columna. El esquema además define los niveles de escala (niveles de detalle) en los cuales la caché tiene teselas, el tamaño de las teselas en píxeles y la resolución de la pantalla donde las teselas de mostrarán con mayor frecuencia. Se necesita un esquema de ordenamiento en teselas para generar una caché de mapa.

Uso

  • Por defecto, el origen del ordenamiento en teselas comienza arriba a la izquierda del sistema de coordenadas que utiliza el documento de mapa fuente del servicio.

Sintaxis

arcpy.server.GenerateMapServerCacheTilingScheme(in_map, tile_origin, output_tiling_scheme, num_of_scales, scales, dots_per_inch, tile_size)
ParámetroExplicaciónTipo de datos
in_map

El mapa actual o un documento .mxd existente que se va a usar para el esquema de ordenamiento en teselas.

Map
tile_origin

La esquina superior izquierda del esquema de ordenamiento en teselas en las coordenadas de la referencia espacial del marco de datos de origen.

Point
output_tiling_scheme

El nombre de archivo y la ruta del archivo de esquema de ordenamiento en teselas que se creará.

File
num_of_scales

La cantidad de niveles de escala en el esquema de ordenamiento en teselas.

Long
scales
[scales,...]

Los niveles de escala que se incluirán en el esquema de ordenamiento en teselas. No se representan como fracciones. En cambio, utilice 500 para representar una escala de 1:500, y así sucesivamente.

Value Table
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 las dimensiones estándar de 256 por 256 o 512 por 512.

  • 128 x 128128 por 128 píxeles
  • 256 x 256256 por 256 píxeles
  • 512 x 512512 por 512 píxeles
  • 1024 x 10241024 por 1024 píxeles
String

Muestra de código

Ejemplo de GenerateMapServerCacheTilingScheme

Crea un esquema de ordenamiento en teselas de caché de mapa con cuatro escalas.

# Name: GeneateMapServerCacheTilingScheme.py
# Description: The following stand-alone script demonstrates how to create map
#               server cache schema using a given map document at a given
#               "pathForOutputXml"
# 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
mapDocument = "C:/data/101/Portland/mxd/_M_Portland_classic_FGDB_Local.mxd"
dataFrame = ""
outputTilingScheme = "C:/data/port.xml"
tileOrigin = ""
numOfScales = "4"
scales = "500000,250000,125000,64000"
tileSize = "256 x 256"
dotsPerInch = "96"

currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = r'C:/data/report_%s.txt' % arg1

# print results of the script to a report
report = open(file,'w')

try:
    starttime = time.clock()
    result = arcpy.GenerateMapServerCacheTilingScheme_server(mapDocument, dataFrame,
                                                             tileOrigin, outputTilingScheme,
                                                             numOfScales, scales,
                                                             dotsPerInch, tileSize)
    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 MapServer cache tiling schema successfully using" + \
        mapDocument + " at "+ outputTilingScheme + " 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 1 \n" "Line %i" % tb.tb_lineno)
    report.write(str(e))

print("Created Map server Cache Tiling schema ")

report.close()

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados