Kartenserver-Cache importieren (Server)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Importiert Kacheln aus einem Festplattenordner in einen Karten- oder Image-Service-Cache. Der Quellordner kann ein untergeordnetes Element eines registrierten Server-Cache-Verzeichnisses, ein Ordner, in den zuvor ein Cache exportiert wurde, oder ein Kachelpaket (.tpk) sein. Der Ziel-Service muss das gleiche Kachelschema und das gleiche Speicherformat wie der Quell-Cache aufweisen.

Verwendung

Syntax

ImportMapServerCache_server (input_service, source_cache_type, {source_cache_dataset}, {source_tile_package}, {upload_data_to_server}, {scales}, {num_of_caching_service_instances}, {import_extent}, {area_of_interest}, {overwrite})
ParameterErläuterungDatentyp
input_service

Der Karten- oder Image-Service, in den Kacheln importiert 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 in der Werkzeugleiste Verzeichnis. Ändern Sie dann die umgekehrten Schrägstriche in Schrägstriche, z. B. GIS Servers/arcgis on MYSERVER (admin)/USA.MapServer.

String
source_cache_type

Wählen Sie diese Option aus, um einen Cache aus einem CACHE_DATASET oder TILE_PACKAGE in einen gecachten Karten- oder Image-Service zu importieren, der auf dem Server ausgeführt wird.

  • CACHE_DATASETKarten- oder Image-Service-Cache, der mithilfe von ArcGIS-Server generiert wird. Verwendbar in ArcMap und durch ArcGIS-Server-Karten- oder Image-Services.
  • TILE_PACKAGEEine einzelne komprimierte Datei, der das Cache-Dataset als Layer hinzugefügt und konsolidiert wird, sodass es problemlos freigegeben werden kann. Verwendbar in ArcGIS for Desktop und ArcGIS Runtime sowie mobilen Anwendungen.
String
source_cache_dataset
(optional)

Der Pfad zum Cache-Ordner, der dem Namen des Datenrahmens entspricht. Sie müssen kein registriertes Server-Cache-Verzeichnis eingeben. In den meisten Fällen geben Sie eine Position auf der Festplatte ein, in die zuvor Kacheln exportiert wurden. Das ArcGIS-Server-Konto sollte auf diese Position zugreifen können. Wenn das ArcGIS-Server-Konto keinen Zugriff auf diese Position erhalten kann, legen Sie upload_data_to_server auf UPLOAD_DATA fest.

Raster Dataset
source_tile_package
(optional)

Der Pfad zum Kachelpaket (.tpk), das importiert wird. Das ArcGIS-Server-Konto sollte auf diese Position zugreifen können. Beim Importieren einer Kachelpaketdatei in einen gecachten Karten-/Image-Service wird der Parameter upload_data_to_server ignoriert, da er automatisch auf UPLOAD_DATA festgelegt wird.

File
upload_data_to_server
(optional)

Legen Sie diesen Parameter auf UPLOAD_DATA fest, wenn das ArcGIS-Server-Konto keinen Lesezugriff auf den Quell-Cache hat. Das Werkzeug lädt den Quell-Cache in das entsprechende ArcGIS-Server-Uploadverzeichnis hoch, bevor er in das ArcGIS-Server-Cache-Verzeichnis verschoben wird.

  • UPLOAD_DATAKacheln werden im Server-Uploadverzeichnis platziert und dann in das Server-Cache-Verzeichnis verschoben. Dies wird standardmäßig aktiviert, wenn storage_format_type TILE_PACKAGE entspricht.
  • DO_NOT_UPLOADKacheln werden direkt in das Server-Cache-Verzeichnis importiert. Das ArcGIS-Server-Konto muss Lesezugriff auf den Quell-Cache haben.
Boolean
scales
[scales,...]
(optional)

Eine Liste von Maßstabsebenen, auf denen Kacheln importiert werden.

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
import_extent
(optional)

Eine rechteckige Ausdehnung, die die in den Cache 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 Interessenbereich dieses Werkzeugs, der es ihnen ermöglicht, die importierten Kacheln mithilfe eines unregelmäßigen Shape räumlich zu beschränken. Wenn Werte für beide Parameter angegeben werden, hat Interessenbereich Vorrang vor Importausdehnung.

Extent
area_of_interest
(optional)

Ein Interessenbereich (Polygon), der räumlich beschränkt, wohin Kacheln im Cache importiert werden. Dabei kann es sich um eine Feature-Class oder um ein Feature handeln, die bzw. das sie interaktiv in ArcMap definieren. Dieser Parameter ist hilfreich, wenn Sie Kacheln für unregelmäßig geformte Bereiche importieren möchten, da das Werkzeug das Cache-Dataset, das das Polygon mit Pixelauflösung überschneidet, ausschneidet und es dann in das Service-Cache-Verzeichnis importiert.

Wenn Sie keinen Wert für diesen Parameter angeben, wird der Wert des Parameters Importausdehnung verwendet. Standardmäßig wird die volle Ausdehnung der Karte verwendet.

Feature Set
overwrite
(optional)
  • OVERWRITEBeim Import werden alle Pixel im Interessenbereich ersetzt, wobei die Kacheln im Ziel-Cache effektiv mit den Kacheln aus dem ursprünglichen Cache überschrieben werden.
  • MERGEBeim Importieren der Kacheln werden transparente Pixel im ursprünglichen Cache standardmäßig ignoriert. Das Ergebnis ist ein zusammengeführtes oder überblendetes Bild im Ziel-Cache. Dies ist das Standardverhalten.
Boolean

Codebeispiel

Beispiel 1

Importieren eines CACHE_DATASET in einen gecachten Service für die Standardanzahl an Maßstäben. Kacheln im empfangenden Cache werden von den importierten Kacheln überschrieben.

# Name: ImportMapServerCache.py
# Description: The following stand-alone script demonstrates how to import map
#               server cache from a source directory with CACHE_DATASET and  
#               OVERWRITE existing cache on the service for the number 
#               of scales specified without Uploading data to 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
sourceCacheType     = "CACHE_DATASET"
sourceCacheDataset  = "C:/data/destination_folder/Layers"
sourceTilePackage   = ""
uploadDataToServer  = "DO_NOT_UPLOAD"
scales              = [500000,250000,125000,64000]
numOfCachingServiceInstances = "2"
areaOfInterest      = ""
importExtents       = ""
overwriteTiles      = "OVERWRITE"

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 "scales[0]","scales[-1]","scales[0:3]"

try:
    starttime = time.clock()
    result = arcpy.ImportMapServerCache_server(inputService, sourceCacheType,
                                               sourceCacheDataset,
                                               sourceTilePackage,
                                               uploadDataToServer, scales,
                                               numOfCachingServiceInstances,
                                               areaOfInterest, importExtents,
                                               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 "Imported Map server Cache Tiles successfully for" + serviceName
    " from" + sourceCacheDataset + "\n in " + str(elapsedtime)+ "sec 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 "Imported Map server Cache Tiles "

report.close()

Beispiel 2

Importieren von Cache-Kacheln für einen Interessenbereich aus einem TILE_PACKAGE in einen Cache-Service

# Name: ImportMapServerCache.py
# Description: The following stand-alone script demonstrates how to import map
#               server cache from a source directory with Tile Package to an existing service for 
#               the default number of scales specified using an AOI by uploading data to remote server
# To Import cache tiles for the scales specified for given feature class

# Requirements: os, sys, time and traceback modules
# Author: ESRI

# 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
sourceCacheType = "TILE_PACKAGE"
sourceCacheDataset = ""
sourceTilePackage = "C:\\data\\destination_folder\\TPK\\Rainfall.tpk"
uploadDataToServer = "UPLOAD_DATA"
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = "2"
cacheDir = "c:\\arcgisserver\\arcgiscache"
areaOfInterest = "C:/data/101/Portland/Portland_Metro.shp"
importExtents = ""
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 "scales[0]","scales[-1]","scales[0:3]"

try:
    starttime = time.clock()
    result = arcpy.ImportMapServerCache_server(inputService, sourceCacheType,
                                               sourceCacheDataset,
                                               sourceTilePackage,
                                               uploadDataToServer, scales,
                                               numOfCachingServiceInstances,
                                               areaOfInterest, importExtents,
					       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 "Imported Map server Cache Tiles successfully for " + serviceName
    " from " + sourceTilePackage + " to " + cacheDir + "\n using "+ areaOfInterest
    " 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"

Umgebung

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Ja
ArcGIS for Desktop Standard: Ja
ArcGIS for Desktop Advanced: Ja
5/10/2014