Kachelschema für Kartenserver-Cache erstellen (Server)

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.

  • Wenn der Parameter für sofort einsatzfähiges Format aktiviert ist, wird das Schema des Cache-Inhalts mithilfe der offenen Kachelpaketspezifikation generiert.

Parameter

BeschriftungErläuterungDatentyp
Kartendokument

Die aktuelle Karte oder eine vorhandene .mxd-Datei zur Verwendung für das Kachelschema.

Map
Kachelursprung in Karteneinheiten

Der Ursprung (obere linke Ecke) des Kachelschemas in den Koordinaten des Raumbezugs des Quelldatenrahmens.

Point
Ausgabe-Kachelschema

Der Pfad und Dateiname der zu erstellenden Datei für das Kachelschema.

File
Anzahl der Maßstabsebenen

Die Anzahl der Maßstabsebenen, die in das Kachelschema einbezogen werden sollen.

Long
Maßstäbe

Die Maßstabsebenen, die in das Kachelschema einbezogen werden sollen. Diese werden nicht als Brüche dargestellt. Verwenden Sie stattdessen beispielsweise 500, um einen Maßstab von 1:500 darzustellen, bzw. entsprechende andere Werte.

Value Table
Punkte (Pixel) pro Zoll

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
Kachelgröße

Gibt die Breite und Höhe der Cache-Kacheln in Pixel an. 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.

  • 128 x 128 PixelDie Breite und Höhe der Cache-Kacheln beträgt 128 x 128 Pixel.
  • 256 x 256 PixelDie Breite und Höhe der Cache-Kacheln beträgt 256 x 256 Pixel. Dies ist die Standardeinstellung.
  • 512 x 512 PixelDie Breite und Höhe der Cache-Kacheln beträgt 512 x 512 Pixel.
  • 1024 x 1024 PixelDie Breite und Höhe der Cache-Kacheln beträgt 1024 x 1024 Pixel.
String
Sofort einsatzfähiges Format
(optional)

Gibt das Dateiformat des zu verwendenden Cache-Schemas an, und legt fest, ob es mithilfe der offenen Kachelpaketspezifikation generiert wird.

  • Aktiviert: Das Cache-Schema wird im JSON-Format mithilfe der offenen Kachelpaketspezifikation generiert. Im Parameter Ausgabeordner muss ein Ausgabeordner angegeben werden.
  • Deaktiviert: Das Cache-Schema wird im XML-Format generiert. Dies ist die Standardeinstellung.

Boolean
Ausgabeordner
(optional)

Der Speicherort, an dem das Cache-Schema und iteminfo-Dateien im JSON-Format erstellt werden.

Folder

arcpy.server.GenerateMapServerCacheTilingScheme(in_map, tile_origin, output_tiling_scheme, num_of_scales, scales, dots_per_inch, tile_size, {ready_to_serve_format}, {output_folder})
NameErläuterungDatentyp
in_map

Die aktuelle Karte oder eine vorhandene .mxd-Datei zur Verwendung für das Kachelschema.

Map
tile_origin

Der Ursprung (obere linke Ecke) des Kachelschemas in den Koordinaten des Raumbezugs des Quelldatenrahmens.

Point
output_tiling_scheme

Der Pfad und Dateiname der zu erstellenden Datei für das Kachelschema.

File
num_of_scales

Die Anzahl der Maßstabsebenen, die in das Kachelschema einbezogen werden sollen.

Long
scales
[scales,...]

Die Maßstabsebenen, die in das Kachelschema einbezogen werden sollen. Diese werden nicht als Brüche dargestellt. Verwenden Sie stattdessen beispielsweise 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

Gibt die Breite und Höhe der Cache-Kacheln in Pixel an. 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.

  • 128 x 128Die Breite und Höhe der Cache-Kacheln beträgt 128 x 128 Pixel.
  • 256 x 256Die Breite und Höhe der Cache-Kacheln beträgt 256 x 256 Pixel. Dies ist die Standardeinstellung.
  • 512 x 512Die Breite und Höhe der Cache-Kacheln beträgt 512 x 512 Pixel.
  • 1024 x 1024Die Breite und Höhe der Cache-Kacheln beträgt 1024 x 1024 Pixel.
String
ready_to_serve_format
(optional)

Gibt das Dateiformat des zu verwendenden Cache-Schemas an, und legt fest, ob es mithilfe der offenen Kachelpaketspezifikation generiert wird.

  • READY_TO_SERVE_FORMATDas Cache-Schema wird im JSON-Format mithilfe der offenen Kachelpaketspezifikation generiert. Im Parameter output_folder muss ein Ausgabeordner angegeben werden.
  • NON_READY_TO_SERVE_FORMATDas Cache-Schema wird im XML-Format generiert. Dies ist die Standardeinstellung.
Boolean
output_folder
(optional)

Der Speicherort, an dem das Cache-Schema und iteminfo-Dateien im JSON-Format erstellt werden.

Folder

Codebeispiel

GenerateMapServerCacheTilingScheme: Beispiel 1 (XML-Format)

Im folgenden Beispiel wird ein Karten-Cache-Kachelschema im XML-Format erstellt.

# 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 = "E:/path/to/myfolder"

# List of input variables for map service properties

# Reference map to use for cache tiling sceheme generation
aprx = arcpy.mp.ArcGISProject(r"E:\Data\path\to\myAPRX.aprx")
mapDocument = aprx.listMaps("myMapName")[0]
outputTilingScheme = "E:/path/to/myschema.xml"
tileOrigin = ""
numOfScales = "4"
scales = "4000000,2000000,100000,50000"
tileSize = "256 x 256"
dotsPerInch = "96"

# print results of the script to a report

file = r'E:\path\to\myreport.txt'
report = open(file,'w')

try:
    #starttime = time.clock()
    result = arcpy.server.GenerateMapServerCacheTilingScheme(mapDocument,
                                                             tileOrigin, outputTilingScheme,
                                                             numOfScales, scales,
                                                             dotsPerInch, tileSize)

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

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()
GenerateMapServerCacheTilingScheme: Beispiel 2 (JSON-Format)

Im folgenden Beispiel wird ein Karten-Cache-Kachelschema im JSON-Format erstellt.

# Name: GeneateMapServerCacheTilingScheme.py
# Description: The following stand-alone script demonstrates how to create map
#               server cache schema in ready to serve format using a given map document at a given
#               folder
# 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 = "E:/path/to/myfolder"

# List of input variables for map service properties

# Reference map to use for cache tiling sceheme generation
aprx = arcpy.mp.ArcGISProject(r"E:\Data\path\to\myAPRX.aprx")
mapDocument = aprx.listMaps("myMapName")[0]
outputTilingScheme = "None"
tileOrigin = ""
numOfScales = "4"
scales = "4000000,2000000,100000,50000"
tileSize = "256 x 256"
dotsPerInch = "96"
ready_to_serve_format = "READY_TO_SERVE_FORMAT"
output_folder = "E:\path\to\myfolder"

# print results of the script to a report

file = r'E:\path\to\myreport.txt'
report = open(file,'w')

try:
    #starttime = time.clock()
    result = arcpy.server.GenerateMapServerCacheTilingScheme(mapDocument,
                                                             tileOrigin, outputTilingScheme,
                                                             numOfScales, scales,
                                                             dotsPerInch, tileSize,
                                                             ready_to_serve_format,
                                                             output_folder)

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

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

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen