Zusammenfassung
Exportiert Kacheln eines Karten- oder Image-Service-Cache als Cache-Dataset oder Kachelpaket in einen Festplattenordner. Die Kacheln können in andere Caches importiert werden. Außerdem ist der Zugriff von ArcGIS Desktop oder mobilen Geräten als Raster-Dataset unabhängig vom übergeordneten Service möglich.
Verwendung
Erstellen Sie vor dem Ausführen dieses Werkzeugs auf dem Datenträger den Ordner, der die exportierten Kacheln enthalten soll.
Mit dem diesem Werkzeug in Version 10.1 Service Pack 1 hinzugefügten Parameter Kacheln überschreiben können die Kacheln im Ziel-Cache vollständig von den exportierten Kacheln überschrieben werden, statt die Bilder zu überblenden. Exportierte Kacheln können auf einen Interessenbereich beschränkt werden.
Syntax
ExportMapServerCache_server (input_service, target_cache_path, export_cache_type, copy_data_from_server, storage_format_type, scales, {num_of_caching_service_instances}, {area_of_interest}, {export_extent}, {overwrite})
Parameter | Erläuterung | Datentyp |
input_service | Der Karten- oder Image-Service, dessen Cache-Kacheln exportiert werden. Dies ist eine Zeichenfolge, die sowohl die Server- als auch die Service-Informationen enthält. Um zu erfahren, wie diese Zeichenfolge erstellt wird, öffnen Sie ArcCatalog, wählen Sie Ihren Service im Kataloginhaltsverzeichnis aus, und beachten Sie den Text auf der Werkzeugleiste Verzeichnis. Ändern Sie dann die umgekehrten Schrägstriche in Schrägstriche, z. B. GIS Servers/arcgis on MYSERVER (admin)/USA.MapServer. | Image Service; MapServer |
target_cache_path | Der Ordner, in den der Cache exportiert wird. Dieser Ordner muss kein registriertes Server-Cache-Verzeichnis sein. Das ArcGIS Server-Konto muss Schreibzugriff auf den Ziel-Cache-Ordner haben. Wenn dem Serverkonto kein Schreibzugriff auf den Zielordner gewährt werden kann, aber ArcGIS Desktop, ArcGIS Pro oder der Client über den entsprechenden Schreibzugriff verfügen, dann wählen Sie den Parameter Daten von Server kopieren. | Folder |
export_cache_type | Wählen Sie den Export des Cache als Cache-Dataset oder Kachelpaket aus. Kachelpakete sind für ArcGIS Runtime- und ArcGIS for Windows Mobile-Bereitstellungen geeignet.
| String |
copy_data_from_server | Stellen Sie für diese Option COPY_DATA ein, wenn dem ArcGIS Server-Konto kein Schreibzugriff auf den Zielordner gewährt werden kann und ArcGIS Desktop oder der ArcGIS Pro-Client über den entsprechenden Schreibzugriff verfügt. Die Software exportiert die Kacheln im Server-Ausgabeverzeichnis, bevor sie in den Zielordner verschoben werden.
| Boolean |
storage_format_type | Das Speicherformat des exportierten Cache.
| String |
scales [scales,...] | Eine Liste von Maßstabsebenen, aus denen Kacheln exportiert werden. Standardmäßig liegen die im Werkzeugdialogfeld aufgelisteten Maßstäbe zwischen dem Minimum und dem Maximum der für den Service gecachten Maßstäbe. Um den Maßstabsbereich zu aktualisieren, wechseln Sie zur Registerkarte Service-Editor> > Caching, und verwenden Sie die Schieberegler, um das Minimum und das Maximum der gecachten Maßstäbe zu aktualisieren. | Double |
num_of_caching_service_instances (optional) | Die Gesamtzahl der Instanzen des Service System/CachingTools, die Sie zum Ausführen dieses Werkzeugs reservieren möchten. Sie können die Maximale Anzahl von Instanzen pro Computer des Service System/CachingTools mithilfe des Fensters Service-Editor erhöhen, das über eine administrative Verbindung zu ArcGIS Server verfügbar ist. Stellen Sie sicher, dass die Servercomputer die ausgewählte Anzahl von Instanzen unterstützen können. | Long |
area_of_interest (optional) | Ein Interessenbereich (Polygon), der räumlich beschränkt, woher Kacheln aus dem Cache exportiert werden. Dieser Parameter ist hilfreich, wenn Sie unregelmäßig geformte Bereiche exportieren möchten, da das Werkzeug das Cache-Dataset mit Pixelauflösung ausschneidet. Wenn Sie keinen Interessenbereich angeben, wird die volle Ausdehnung der Karte exportiert. | Feature Set |
export_extent (optional) | Eine rechteckige Ausdehnung, die die zu exportierenden Kacheln definiert. Standardmäßig ist die Ausdehnung auf die volle Ausdehnung des Kartenservice festgelegt, in den Sie importieren. Beachten Sie den optionalen Parameter Interessenbereich des Werkzeugs, der es ihnen ermöglicht, den Import alternativ mithilfe eines Polygons durchzuführen. Sie sollten für einen Auftrag keine Werte für beide Parameter angeben. Wenn Werte für beide Parameter angegeben werden, hat der Interessenbereich Vorrang vor Importausdehnung | Extent |
overwrite (optional) |
| Boolean |
Codebeispiel
ExportMapServerCache – Beispiel 1 (eigenständiges Skript)
Exportieren von Cache-Kacheln für eine Feature-Class, während das Speicherformat von EXPLODED in COMPACT geändert wird.
# Name: ExportMapServerCache.py for ArcGIS Server
# Description: The following stand-alone script demonstrates how to export
# cache as CACHE_DATASET in COMPACT storage format and MERGE tiles using
# an AREA_OF_INTEREST to TARGET_CACHE_PATH which is accessible to server
# instances
# 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
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
targetCachePath = "C:/data/temp"
exportCacheType = "CACHE_DATASET"
copyDataFromServer = "DO_NOT_COPY"
storageFormat = "COMPACT"
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = "2"
areaOfInterest = "C:/data/101/Portland/Metro.shp"
exportExtents = ""
overwriteTiles = "MERGE"
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]"
# Enter rectangular custom extent values for the "exportExtents" variable to
# constrain the exporting cache along the rectangular extents
try:
starttime = time.clock()
result = arcpy.ExportMapServerCache_server(inputService, targetCachePath,
exportCacheType,
copyDataFromServer,
storageFormat, scales,
numOfCachingServiceInstances,
areaOfInterest, exportExtents,
overwriteTiles)
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 "Exported cache successfully for mapservice " + serviceName +\
" to " + targetCachePath + "\n using " + areaOfInterest + "\n 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 \n" "Line %i" % tb.tb_lineno)
report.write(e.message)
print "Exported Map server Cache using area of Interest"
report.close()
ExportMapServerCache – Beispiel 2 (eigenständiges Skript)
Exportieren des Cache als TILE_PACKAGE, wenn die ArcGIS Server-Instanzen nicht auf den Zielordner zugreifen können.
# Name: ExportMapServerCache.py
# Description: The following stand-alone script demonstrates how to export cache
# as TILE_PACKAGE for default number of scales of a service, to a
# TARGET_CACHE_PATH which is inaccessible to server instances using
# COPY_DATA_FROM_SERVER
# 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
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
targetCachePath = "C:/temp/usa"
exportCacheType = "TILE_PACKAGE"
copyDataFromServer = "COPY_DATA"
storageFormat = "COMPACT"
scaleValues = [500000,250000,125000,64000]
numOfCachingServiceInstances = "2"
exportExtents = ""
areaOfInterest = ""
overwriteTiles = "MERGE"
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.ExportMapServerCache_server(inputService, targetCachePath,
exportCacheType,
copyDataFromServer,
storageFormat, scales,
numOfCachingServiceInstances,
areaOfInterest,
exportExtents, overwriteTiles)
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 "Exported cache successfully for mapservice " + serviceName +\
+ " to " + targetCachePath + " 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 "Exported Map server Cache "
report.close()
Umgebungen
Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.
Lizenzinformationen
- ArcGIS Desktop Basic: Ja
- ArcGIS Desktop Standard: Ja
- ArcGIS Desktop Advanced: Ja