arcpy.server.ImportMapServerCache(input_service, source_cache_type, {source_cache_dataset}, {source_tile_package}, {upload_data_to_server}, {scales}, {num_of_caching_service_instances}, {area_of_interest}, {import_extent}, {overwrite})
|
Name
|
Erläuterung
|
Datentyp
|
|
input_service
|
Der Kartenbild-Layer mit den zu importierenden Cache-Kacheln.
|
Image Service; Map Server
|
|
source_cache_type
|
Gibt an, welcher Typ von Cache in einen gecachten Karten- oder Image-Service, der auf dem Server ausgeführt wird, importiert wird.
CACHE_DATASET—Importiert wird ein Karten- oder Image-Service-Cache, der mithilfe von ArcGIS Server generiert wird. Er kann in ArcGIS Desktop und von ArcGIS Server-Kartenservices oder -Image-Services verwendet werden.
TILE_PACKAGE—Importiert wird eine einzelne komprimierte Datei, worin das Cache-Dataset als Layer hinzugefügt und konsolidiert wird, sodass es freigegeben werden kann. Es kann in ArcGIS Pro und mit ArcGIS Maps SDKs for Native Apps verwendet werden.
|
String
|
|
source_cache_dataset
(Optional)
|
Der Pfad zum Cache-Ordner, der dem Namen des Datenrahmens entspricht. Sie müssen kein registriertes Server-Cache-Verzeichnis angeben. Zumeist geben Sie einen Speicherort auf der Festplatte an, an den zuvor Kacheln exportiert wurden. Das ArcGIS Server-Konto sollte auf diese Position zugreifen können. Wenn dem ArcGIS Server-Konto kein Zugriff auf diesen Speicherort gewährt werden kann, legen Sie den Parameter upload_data_to_server auf UPLOAD_DATA fest.
|
Raster Dataset
|
|
source_tile_package
(Optional)
|
Der Pfad zum Kachelpaket (.tpk oder .tpkx), das importiert wird. Das ArcGIS Server-Konto sollte auf diese Position zugreifen können. Beim Importieren einer Kachelpaketdatei in einen gecachten Karten- oder Image-Service wird der Parameter upload_data_to_server ignoriert, da er automatisch auf UPLOAD_DATA festgelegt wird.
|
File
|
|
upload_data_to_server
(Optional)
|
Gibt an, wie Kacheln in das Server-Cache-Verzeichnis verschoben werden.
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_DATA—Kacheln werden zuerst im Server-Uploadverzeichnis platziert und dann in das Server-Cache-Verzeichnis verschoben. Dies ist standardmäßig aktiviert, wenn der Parameter source_cache_type auf TILE_PACKAGE festgelegt wird.
DO_NOT_UPLOAD—Kacheln 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 Anzahl der Instanzen, die zum Aktualisieren oder Erstellen der Kacheln verwendet werden. Der Wert für diesen Parameter ist auf unbegrenzt (-1) festgelegt und kann nicht geändert werden.
|
Long
|
|
area_of_interest
(Optional)
|
Ein Polygon für den Interessenbereich, der den Kachelimport in den Cache räumlich beschränkt. Dieser Parameter ist hilfreich, wenn Sie Kacheln für unregelmäßig geformte Bereiche importieren, da das Werkzeug das Cache-Dataset, das das Polygon überschneidet, mit Pixelauflösung ausschneidet und es dann in das Service-Cache-Verzeichnis importiert.
Wenn Sie keinen Wert für diesen Parameter angeben, wird der Wert des Parameters import_extent verwendet. Standardmäßig wird die volle Ausdehnung der Karte verwendet.
|
Feature Set
|
|
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 Kartenservice festgelegt, in den Sie importieren. Mit dem optionalen Parameter Interessenbereich können Sie die importierten Kacheln mithilfe eines unregelmäßigen Shape räumlich einschränken. Wenn für beide Parameter Werte angegeben werden, wird der Wert des Parameters Interessenbereich verwendet.
Eine rechteckige Ausdehnung, die die in den Cache zu importierenden Kacheln definiert. Standardmäßig ist die Ausdehnung auf die volle Ausdehnung des Kartenservice festgelegt, in den Sie importieren. Mit dem optionalen Parameter area_of_interest können Sie die importierten Kacheln mithilfe eines unregelmäßigen Shape räumlich einschränken. Wenn für beide Parameter Werte angegeben werden, wird der Wert des Parameters area_of_interest verwendet.
MAXOF: Die maximale Ausdehnung aller Eingaben wird verwendet.
MINOF: Die minimale gemeinsame Fläche aller Eingaben wird verwendet.
DISPLAY: Die Ausdehnung entspricht der sichtbaren Anzeige.
Layer-Name: Die Ausdehnung des angegebenen Layers wird verwendet.
Extent Objekt: Die Ausdehnung des angegebenen Objekts wird verwendet.
Eine durch Leerzeichen getrennte Zeichenfolge von Koordinaten: Die Ausdehnung der angegebenen Zeichenfolge wird verwendet. Koordinaten werden im Format X-Min, Y-Min, X-Max, Y-Max angegeben.
|
Extent
|
|
overwrite
(Optional)
|
Legt fest, ob Bilder im Ziel-Cache mit den Kacheln aus dem ursprünglichen Cache zusammengeführt oder von diesen überschrieben werden.
OVERWRITE—Alle Pixel im Interessenbereich werden ersetzt, sodass die Kacheln im Ziel-Cache mit den Kacheln aus dem ursprünglichen Cache überschrieben werden.
MERGE—Beim Importieren der Kacheln werden transparente Pixel im ursprünglichen Cache ignoriert. Das Ergebnis ist ein zusammengeführtes oder überblendetes Bild im Ziel-Cache. Dies ist die Standardeinstellung.
|
Boolean
|
Abgeleitete Ausgabe
|
Name
|
Erläuterung
|
Datentyp
|
|
out_job_url
|
Die Ausgabe-URL.
|
String
|
Codebeispiel
ImportMapServerCache: Beispiel 1 (eigenständiges Skript)
Importieren eines Cache-Datasets 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 run
# 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 sys
import time
import datetime
# 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.server.ImportMapServerCache(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 as 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(str(e))
print("Imported Map server Cache Tiles ")
report.close()
ImportMapServerCache: Beispiel 2 (eigenständiges Skript)
Importieren von Cache-Kacheln für einen Interessenbereich aus einem Kachelpaket 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
# Any line that begins with a pound sign is a comment and will not be run
# 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 sys
import time
import datetime
# 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.server.ImportMapServerCache(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 as 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(str(e))
report.close()
print("Imported Map server Cache Tiles for the given feature class")