Zusammenfassung
Generiert eine benutzerdefinierte Kachelschemadatei im XML-Format, in der die Maßstabsebenen, Kacheldimensionen und andere Eigenschaften für einen Web-Kachel-Layer definiert sind.
Mit einem Kachelschema wird beschrieben, wie Clients die Kacheln in einem Cache referenzieren sollen. Außerdem stellt es eine Zuordnung zwischen dem Raumbezug des Quellkartendokuments und dem Kachelungs-Raster dar. Das Kachelungs-Raster verwendet ein Schema für Detaillierungsebenen (Maßstäbe), Zeilen und Spaltenreferenzierungen. Mit dem Schema werden außerdem die Maßstabsebenen (Detaillierungsebenen) für die Kacheln des Cache sowie die Größe der Kacheln in Pixel und die Bildschirmauflösung, in der die Kacheln am häufigsten angezeigt werden, festgelegt. Ein Kachelschema ist für die Generierung eines Karten-Cache erforderlich.
Verwendung
In der Standardeinstellung beginnt die Kachelung in der oberen linken Ecke des Koordinatensystems, das vom Quellkartendokument des Service verwendet wird.
Syntax
arcpy.server.GenerateMapServerCacheTilingScheme(in_map, tile_origin, output_tiling_scheme, num_of_scales, scales, dots_per_inch, tile_size)
Parameter | Erklärung | Datentyp |
in_map | Die aktuelle Karte oder ein vorhandenes .mxd-Dokument zur Verwendung für das Kachelschema. | Map |
tile_origin | Die obere linke Ecke des Kachelschemas in Koordinaten des Raumbezugs des Quelldatenrahmens. | Point |
output_tiling_scheme | Pfad und Dateiname der zu erstellenden Datei für das Kachelschema. | File |
num_of_scales | Anzahl der Maßstabsebenen im Kachelschema. | Long |
scales [scales,...] | Maßstabsebenen, die in das Kachelschema einbezogen werden sollen. Diese werden nicht als Brüche dargestellt. Verwenden Sie stattdessen 500, um einen Maßstab von 1:500 darzustellen, bzw. entsprechende andere Werte. | Value Table |
dots_per_inch | Die Auflösung in DPI (Dots per Inch, Punkte pro Zoll) des betreffenden Ausgabegeräts. Bei einem DPI-Wert, der nicht mit der Auflösung des Ausgabegeräts übereinstimmt, wird der Maßstab der Kartenkachel falsch angezeigt. Der Standardwert ist 96. | Long |
tile_size | Die Breite und Höhe der Cache-Kacheln in Pixel. Der Standardwert ist 256 mal 256. Um ein optimales Gleichgewicht zwischen Performance und Verwaltbarkeit zu erzielen, sollten Sie es vermeiden, von den Standardwerten 256 x 256 oder 512 x 512 abzuweichen.
| String |
Codebeispiel
Erstellt ein Karten-Cache-Kachelschema mit vier Maßstäben.
# 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()
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja