Map Server-Cache importieren (Server)
Zusammenfassung
Importiert Kacheln aus einem Ordner auf dem Datenträger in einen Karten-Cache. Beim Quellordner kann es sich um ein untergeordnetes Element eines registrierten Server-Cache-Verzeichnisses oder einen anderen Ordner handeln, in den bereits Kacheln exportiert wurden. Der Ziel-Karten-Service muss das gleiche Kachelschema und das gleiche Speicherformat wie der Quellkarten-Cache haben.
Verwendung
-
Verwenden Sie das Werkzeug Map Server-Cache importieren, um den gesamten oder Teile eines Caches aus einem Ordner in einen anderen zu importieren.
Syntax
Parameter | Erläuterung | Datentyp |
server_name |
Der ArcGIS Server-Computer, der den Service hostet, in den die Kacheln importiert werden sollen. | String |
object_name |
Der Name des Karten-Service, in den die Kacheln importiert werden sollen. Für diesen Karten-Service muss ein Kachelschema definiert sein, das mit dem Kachelschema der importierten Kacheln übereinstimmt. | String |
data_frame |
Der Quelldatenrahmen für den Karten-Service. | String |
source_cache_dataset |
Der Pfad zu den Kacheln, die importiert werden. Dies wird auf der Benutzeroberfläche des Werkzeugs durch ein Raster-Dataset-Symbol dargestellt. Bei der Skripterstellung ist dies der Pfad zum Cache-Ordner, der mit dem Namen des Datenrahmens übereinstimmt. Sie müssen für diesen Parameter nicht auf ein registriertes Server-Cache-Verzeichnis verweisen. In den meisten Fällen verweisen Sie auf einen Speicherort auf dem Datenträger, an den bereits Kacheln exportiert wurden. | Raster Dataset |
import_extent (optional) |
Eine rechteckige Ausdehnung, die die zu importierenden Kacheln definiert. Standardmäßig ist die Ausdehnung auf die volle Ausdehnung des Karten-Service festgelegt, in den Sie importieren. Beachten Sie den optionalen Parameter dieses Werkzeugs, mit dem Sie den Kachelimport bei Bedarf auf eine Feature-Class-Grenze beschränken können. | Extent |
levels [levels,...] (optional) |
Eine Liste von Maßstabsebenen, auf denen Kacheln importiert werden. | Double |
thread_count |
Die Anzahl der Karten-Service-Instanzen, die beim Importieren des Caches 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 erhöhen und dann diesen Parameter erhöhen, wenn Sie das Werkzeug ausführen. | Long |
import_feature_class (optional) |
Eine Polygon-Feature-Class, die definiert, wo Kacheln in den Cache exportiert werden. Dies ist hilfreich, wenn Sie Kacheln für unregelmäßig geformte Flächen importieren möchten. | Feature Class |
Codebeispiel
Für den Import eines Karten-Caches mit Standardwerten.
# ImportMapServerCache example (stand-alone script) # Name: ImportMapServerCache.py # Description: The following stand-alone script demonstrates how to import map # server cache from a source directory to an existing service for # the default number of scales specified # To Import cache tiles for the scales specified for given feature class # 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 = "" cacheDir = "c:\\arcgisserver\\arcgiscache\\" importExtents = "" scaleValues = [500000,250000,125000,64000] threadCount = "2" sourceCache= "C:/data/destination_folder/Layers" specifiedFeatureClass = "C:/data/94/Portland/Portland_Metro.shp" 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') # use "scaleValues[0]","scaleValues[-1]","scaleValues[0:3]" try: starttime = time.clock() result = arcpy.ImportMapServerCache_server(server, service, dataFrame, sourceCache, threadCount, importExtents , scaleValues, specifiedFeatureClass ) 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 "Imported Map server Cache Tiles successfully for " + service + " from " + sourceCache + " to " + cacheDir + service + "\n using "+ specifiedFeatureClass + " 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 2 \n" "Line %i" % tb.tb_lineno) report.write(e.message) report.close() print "Imported Map server Cache Tiles for the given feature class"
Für den Import eines Karten-Caches mit Beschränkungen entlang angegebener Feature-Class-Grenzen.
# ImportMapServerCache example (stand-alone script) # Name: ImportMapServerCache.py # Description: The following stand-alone script demonstrates how to import map # server cache from a source directory to an existing service for # the default number of scales specified # To Import cache tiles for the scales specified for given feature class # 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 = "" cacheDir = "c:\\arcgisserver\\arcgiscache\\" importExtents = "" scaleValues = [500000,250000,125000,64000] threadCount = "2" sourceCache= "C:/data/destination_folder/Layers" specifiedFeatureClass = "C:/data/94/Portland/Portland_Metro.shp" 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') # use "scaleValues[0]","scaleValues[-1]","scaleValues[0:3]" try: starttime = time.clock() result = arcpy.ImportMapServerCache_server(server, service, dataFrame, sourceCache, threadCount, importExtents , scaleValues, specifiedFeatureClass ) 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 "Imported Map server Cache Tiles successfully for " + service + " from " + sourceCache + " to " + cacheDir + service + "\n using "+ specifiedFeatureClass + " 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 2 \n" "Line %i" % tb.tb_lineno) report.write(e.message) report.close() print "Imported Map server Cache Tiles for the given feature class"