Kachelschema für Kartenserver-Cache erstellen (Server)
Zusammenfassung
Generiert eine Kachelschemadatei im XML-Format, in der die Maßstabsebenen, Kacheldimensionen und andere Eigenschaften für einen Karten-Service-Cache definiert sind. Dieses Werkzeug ist nützlich für die Erstellung eines Kachelschemas zur Verwendung in mehreren Caches. Sie können die Kachelschemadatei laden, wenn Sie einen Cache in ArcGIS for Desktop oder ArcGIS Server Manager erstellen, oder Sie können Kartenserver-Cache erstellen ausführen und die Kachelschemadatei als Parameter übergeben.
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
Wenn Sie bereits einen Cache in ArcGIS for Desktop oder ArcGIS Server Manager definiert haben, müssen Sie dieses Werkzeug nicht ausführen. Sie verfügen im Cache-Ordner dann bereits über ein Kachelschema (conf.xml), und Sie können beim Erstellen anderer Caches darauf verweisen.
-
In der Standardeinstellung beginnt die Kachelung in der oberen linken Ecke des Koordinatensystems, das vom Quellkartendokument des Service verwendet wird.
-
Nachdem der Cache erstellt wurde, sind die Maßstabsebenen der einzige Teil des Kachelschemas, der geändert werden kann. Verwenden Sie Cache-Maßstäbe für Kartenserver verwalten, um Maßstabsebenen hinzuzufügen oder zu entfernen.
Syntax
Parameter | Erläuterung | Datentyp |
map_document |
Das Quellkartendokument, das für das Kachelschema verwendet wird. | File |
data_frame |
Der Datenrahmen, der für das Kachelschema verwendet wird. | String |
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 × 256. Um das optimale Gleichgewicht zwischen Performance und Überschaubarkeit herzustellen, sollten Sie es vermeiden, von den Standarddimensionen 256 × 256 oder 512 × 512 abzuweichen. | String |
Codebeispiel
GenerateMapServerCacheTilingScheme - Beispiel
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, 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 "Created Map server Cache Tiling schema "
report.close()