Générer la structure de tuilage pour le cache du serveur de carte (Serveur)

Résumé

Génère un fichier de structure de tuile personnalisé qui définit les niveaux d'échelle, les cotations de tuiles et d'autres propriétés d'une couche de tuiles Web.

Une structure de tuilage décrit comment les clients doivent faire référence aux tuiles dans un cache. Il s'agit d'un mappage entre la référence spatiale de la carte source et la grille de tuilage. Cette dernière utilise une structure de référence de niveaux de détail (échelles), de lignes et de colonnes. La structure définit également les niveaux d'échelle (niveaux de détail) auxquels le cache comporte des tuiles, la taille des tuiles dans les pixels et la résolution d'écran à laquelle les tuiles doivent généralement être affichées. Une structure de tuilage est requise pour générer un cache de carte.

Utilisation

  • Par défaut, l'origine du tuilage démarre dans la partie gauche supérieure du système de coordonnées utilisé par le document ArcMap source du service.

Syntaxe

arcpy.server.GenerateMapServerCacheTilingScheme(in_map, tile_origin, output_tiling_scheme, num_of_scales, scales, dots_per_inch, tile_size)
ParamètreExplicationType de données
in_map

Carte actuelle ou document .mxd existant à utiliser pour la structure de tuile.

Map
tile_origin

Angle supérieur gauche de la structure de tuile, dans les coordonnées de la référence spatiale du bloc de données source.

Point
output_tiling_scheme

Chemin d'accès et nom de fichier de la structure de tuilage à créer.

File
num_of_scales

Nombre de niveaux d'échelle dans la structure de tuilage.

Long
scales
[scales,...]

Niveaux d'échelle à inclure dans la structure de tuilage. Ils ne sont pas représentés sous la forme de fractions. Utilisez plutôt 500 pour représenter une échelle de 1:500, etc.

Value Table
dots_per_inch

Résolution en points par pouce du périphérique en sortie prévu. Si la valeur PPP spécifiée ne correspond pas à la résolution du périphérique en sortie, l'échelle de la tuile de carte paraîtra incorrecte. La valeur par défaut est 96.

Long
tile_size

Largeur et hauteur des tuiles de cache en pixels. Les dimensions par défaut sont 256 x 256. Pour un meilleur équilibre entre performance et fonctionnalité, évitez de vous écarter des dimensions standard de 256 sur 256 ou de 512 sur 512.

  • 128 x 128128 sur 128 pixels
  • 256 x 256256 sur 256 pixels
  • 512 x 512512 sur 512 pixels
  • 1024 x 10241024 sur 1024 pixels
String

Exemple de code

Exemple GenerateMapServerCacheTilingScheme

Crée une structure de tuile de cache de carte avec quatre échelles.

# 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()

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes