Map Server-Cache exportieren (Server)

Zusammenfassung

Exportiert Kacheln aus einem Karten-Cache in einen Ordner auf dem Datenträger. Die Kacheln können entweder in andere Caches importiert werden, oder Benutzer können unabhängig vom übergeordneten Service von ArcGIS Desktop aus als Raster-Dataset darauf zugreifen.

Verwendung

Syntax

ExportMapServerCache_Server (server_name, object_name, data_frame, target_cache, {export_extent}, {levels}, thread_count, storage_format_type, {export_feature_class})
ParameterErläuterungDatentyp
server_name

Der ArcGIS Server-Computer, der den Service hostet, für den die Cache-Kacheln exportiert werden sollen.

String
object_name

Der Karten-Service, dessen Kacheln exportiert werden sollen.

String
data_frame

Der Quelldatenrahmen für den Karten-Service.

String
target_cache

Der Ordner, in den der Cache exportiert wird. Dieser Ordner muss kein registriertes Server-Cache-Verzeichnis sein.

Folder
export_extent
(optional)

Eine rechteckige Ausdehnung, die die zu exportierenden Kacheln definiert. Standardmäßig ist die Ausdehnung auf die volle Ausdehnung der Quellkarte des Service festgelegt. Beachten Sie den optionalen Parameter dieses Werkzeugs, mit dem Sie den Kachelexport bei Bedarf auf eine Feature-Class-Grenze beschränken können.

Extent
levels
[levels,...]
(optional)

Eine Liste von Maßstabsebenen, aus denen Kacheln exportiert werden.

Double
thread_count

Die Anzahl der Karten-Service-Instanzen, die beim Exportieren 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
storage_format_type

Das Speicherformat des exportierten Caches.

  • KOMPAKTKacheln werden in Paketdateien gruppiert, um Platz auf dem Datenträger zu sparen und das schnellere Kopieren von Caches zu ermöglichen.
  • GETRENNTJede Kachel wird als einzelne Datei gespeichert (vor ArcGIS Server 10 wurden Caches immer auf diese Weise gespeichert).
String
export_feature_class
(optional)

Eine Polygon-Feature-Class, die definiert, aus welchen Bereichen Kacheln aus dem Cache exportiert werden. Dies ist hilfreich, wenn Sie unregelmäßig geformte Flächen exportieren möchten.

Feature Class

Codebeispiel

In diesem Beispiel wird "ExportMapServerCache" verwendet, um einen ganzen Karten-Cache für vier Maßstäbe zu exportieren.

# Name: ExportMapServerCache.py
# Description: The following stand-alone script demonstrates how to export cache
#               for default number of scales of a service to a destination folder
# 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 = "" 
exportExtents = ""
scaleValues = [500000,250000,125000,64000]
destinationCacheDir = "C:/data/temp"
threadCount = "2"
storageFormat = "Exploded"

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(server, service, dataFrame,
                                      destinationCacheDir, threadCount ,
                                      storageFormat, exportExtents,
                                      scaleValues)
    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 " + service + " to "
    + destinationCacheDir + " 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()

In diesem Beispiel wird "ExportMapServerCache" verwendet, um einen Karten-Cache basierend auf den Grenzen einer Feature-Class zu exportieren.

# Name: ExportMapServerCache.py
# Description: The following stand-alone script demonstrates how to export cache
#               for default number of scales of a service to a destination folder
# 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 = "" 
exportExtents = ""
scaleValues = [500000,250000,125000,64000]
destinationCacheDir = "C:/data/temp"
threadCount = "2"
storageFormat = "Exploded"

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(server, service, dataFrame,
                                      destinationCacheDir, threadCount ,
                                      storageFormat, exportExtents,
                                      scaleValues)
    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 " + service + " to "
    + destinationCacheDir + " 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.

Verwandte Themen

Lizenzinformationen

ArcView: Ja
ArcEditor: Ja
ArcInfo: Ja

7/10/2012