Cache-Kacheln für Kartenserver verwalten (Server)
Zusammenfassung
Erstellt und aktualisiert Kacheln in einem vorhandenen Karten-Service-Cache. Dieses Werkzeug wird verwendet, um neue Kacheln zu erstellen, fehlende Kacheln zu ersetzen, veraltete Kacheln zu überschreiben und neue Kacheln hinzuzufügen.
Verwendung
Diese Ausführung dieses Werkzeugs kann für Caches, die eine große geographische Ausdehnung oder sehr große Kartenmaßstäbe abdecken, ggf. einen langen Zeitraum in Anspruch nehmen. Wenn das Werkzeug abgebrochen wird, wird die Kachelerstellung beendet, aber die vorhandenen Kacheln werden nicht gelöscht. Dies bedeutet, dass Sie das Werkzeug abbrechen können, wenn Sie keine Zeit mehr haben. Später können Sie es dann für denselben Cache erneut ausführen, indem Sie den Aktualisierungsmodus "Recreate Empty Tiles" (Fehlende Kacheln erstellen) verwenden. Eine andere Möglichkeit der Fortsetzung am Abbruchpunkt ist die Verwendung der Statusverfolgung, die unten in der Beschreibung des abschließenden Parameters "Status ignorieren" erläutert wird.
Syntax
Parameter | Erläuterung | Datentyp |
server_name |
Der ArcGIS Server-Computer, der den Karten-Service hostet, dessen Kacheln Sie aktualisieren möchten. | String |
object_name |
Der Karten-Service, dessen Cache-Kacheln Sie aktualisieren möchten. Hinweis: Stellen Sie sicher, dass Sie vor dem Verwenden dieses Werkzeugs ein Kachelschema für den Karten-Service definiert haben. Sie können im Dialogfeld Service-Eigenschaften die Registerkarte Caching oder das Werkzeug "Map Server-Cache erstellen" verwenden, um das Kachelschema zu erstellen. | String |
data_frame |
Der Quelldatenrahmen für den Karten-Service. | String |
Layer [Layer,...] |
Layer, die aus dem Cache entfernt werden sollen. | String |
levels |
Die Maßstabsebenen, auf denen Sie beim Ausführen dieses Werkzeugs je nach Aktualisierungsmodus Kacheln erstellen oder löschen. | Double |
update_mode |
Wählen Sie einen Modus für die Aktualisierung des Caches aus. Die folgenden drei Modi sind verfügbar:
| String |
constraining_extent (optional) |
Rechteckige Ausdehnung, auf der Kacheln je nach Aktualisierungsmodus erstellt oder gelöscht werden sollen. | Extent |
thread_count (optional) |
Die Anzahl der Karten-Service-Instanzen, die beim Ausführen dieses Werkzeugs verwendet werden sollen. Standardmäßig wird die maximal zulässige Anzahl von Instanzen verwendet (die Standardeinstellung für einen ArcGIS Server-Service ist 2). Wenn Sie über mehr Serverleistung verfügen, können Sie die maximal zulässige Anzahl von Instanzen über das Dialogfeld Service-Eigenschaften des Service erhöhen und dann diesen Parameter erhöhen, wenn Sie das Werkzeug ausführen. | Long |
Antialiasing (optional) |
Dies ist ein veralteter Parameter, der ignoriert wird. Die Antialiasing-Eigenschaft im Kachelschema bestimmt, ob Antialiasing auf den Cache angewendet wird. | Boolean |
update_feature_class (optional) |
Sie können eine Polygon-Feature-Class zum Verwalten von Kacheln verwenden (Erstellen, Aktualisieren oder Löschen). Dies erfolgt basierend auf den Ausdehnungen von Features einer Feature-Class. Wenn Sie z. B. ein Land cachen, können Sie eine Feature-Class der größten städtischen Gebiete bereitstellen. Hiermit legen Sie fest, dass der Server nur Kacheln erstellt, die diese städtischen Gebiete darstellen. Die verbleibenden Gebiete können bei Bedarf gecacht werden, wenn der Client dies anfordert. Durch dieses Verfahren sparen Sie Zeit und Speicherplatz, der sonst zum Erstellen der nicht benötigten Kacheln für ländliche Gebiete verwendet worden wäre. | Feature Class |
ignore_status (optional) | Mit diesem Parameter können Sie den Caching-Status verfolgen, wenn Sie Kacheln basierend auf Feature-Class-Grenzen erstellen (siehe Parameter "Eingabe-Feature-Class").
| Boolean |
Codebeispiel
In diesem Beispiel werden alle Kacheln im Cache mit der Option "Alle Kacheln neu erstellen" erstellt oder aktualisiert.
# ManageMapServerCacheTiles example (stand-alone script) # Name: ManageMapServerCacheTiles.py # Description: The following stand-alone script demonstrates how to Recreate all # cache tiles for the default number of scales in the cache tiling # scheme. # Requirements: os, sys, time and 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 server = "MyServer" service = "Rainfall" dataFrame = "" inputLayers = "" scaleValues = "" extents = "" updateMode = "Recreate All Tiles" antialiasing = "NONE" threadCount = "2" pathToFeatureClass = "" ignoreStatus = "IGNORE_COMPLETION_STATUS_FIELD" currentTime = datetime.datetime.now() arg1 = currentTime.strftime("%H-%M") arg2 = currentTime.strftime("%Y-%m-%d %H:%M") file = 'C:/data/report_%s.txt' % arg1 # print results of the script to a report report = open(file,'w') try: starttime = time.clock() result = arcpy.ManageMapServerCacheTiles_server(server, service, dataFrame, inputLayers, scaleValues, updateMode, extents, threadCount ,Antialiasing, pathToFeatureClass, ignoreStatus) 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 cache tiles for given schema successfully for " + service + " 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) report.close() print "Created Map server Cache Tiles "
In diesem Beispiel werden leere Kacheln für einige Maßstäbe mit der Option "Recreate Empty Tiles" (Fehlende Kacheln erstellen) aktualisiert.
# ManageMapServerCacheTiles example (stand-alone script) # Name: ManageMapServerCacheTiles.py # Description: The following stand-alone script demonstrates how to Recreate all # cache tiles for the default number of scales in the cache tiling # scheme. # Requirements: os, sys, time and 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 server = "MyServer" service = "Rainfall" dataFrame = "" inputLayers = "" scaleValues = "" extents = "" updateMode = "Recreate All Tiles" antialiasing = "NONE" threadCount = "2" pathToFeatureClass = "" ignoreStatus = "IGNORE_COMPLETION_STATUS_FIELD" currentTime = datetime.datetime.now() arg1 = currentTime.strftime("%H-%M") arg2 = currentTime.strftime("%Y-%m-%d %H:%M") file = 'C:/data/report_%s.txt' % arg1 # print results of the script to a report report = open(file,'w') try: starttime = time.clock() result = arcpy.ManageMapServerCacheTiles_server(server, service, dataFrame, inputLayers, scaleValues, updateMode, extents, threadCount ,Antialiasing, pathToFeatureClass, ignoreStatus) 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 cache tiles for given schema successfully for " + service + " 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) report.close() print "Created Map server Cache Tiles "
In diesem Beispiel wird die Aktualisierung der Kacheln auf die Grenzen einer Feature-Class beschränkt.
# ManageMapServerCacheTiles example (stand-alone script) # Name: ManageMapServerCacheTiles.py # Description: The following stand-alone script demonstrates how to Recreate all # cache tiles for the default number of scales in the cache tiling # scheme. # Requirements: os, sys, time and 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 server = "MyServer" service = "Rainfall" dataFrame = "" inputLayers = "" scaleValues = "" extents = "" updateMode = "Recreate All Tiles" antialiasing = "NONE" threadCount = "2" pathToFeatureClass = "" ignoreStatus = "IGNORE_COMPLETION_STATUS_FIELD" currentTime = datetime.datetime.now() arg1 = currentTime.strftime("%H-%M") arg2 = currentTime.strftime("%Y-%m-%d %H:%M") file = 'C:/data/report_%s.txt' % arg1 # print results of the script to a report report = open(file,'w') try: starttime = time.clock() result = arcpy.ManageMapServerCacheTiles_server(server, service, dataFrame, inputLayers, scaleValues, updateMode, extents, threadCount ,Antialiasing, pathToFeatureClass, ignoreStatus) 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 cache tiles for given schema successfully for " + service + " 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) report.close() print "Created Map server Cache Tiles "