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"