ArcGIS Desktop

  • Dokumentation
  • Support

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

Hilfe

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Mehr...

Cache-Kacheln für Kartenserver verwalten

  • Zusammenfassung
  • Verwendung
  • Syntax
  • Codebeispiel
  • Umgebungen
  • Lizenzinformationen

Zusammenfassung

Erstellt und aktualisiert Kacheln eines bestehenden Karten- oder Image-Service-Cache. Dieses Werkzeug wird verwendet, um neue Kacheln zu erstellen, fehlende Kacheln zu ersetzen, veraltete Kacheln zu überschreiben und neue Kacheln hinzuzufügen.

Verwendung

    Ältere Versionen:
    Die Parameter für dieses Werkzeug wurden in Version 10.1 geändert. Modelle und Skripte, die vor 10.1 erstellt wurden und dieses Werkzeug verwenden, müssen geändert werden, um in 10.1 zu funktionieren.
  • Stellen Sie sicher, dass Sie vor dem Verwenden dieses Werkzeugs ein Kachelschema für den Karten-Service definiert haben. Sie können die Registerkarte Caching des Fensters Service-Editor oder das Werkzeug Kartenserver-Cache erstellen verwenden, um das Kachelschema zu erstellen.
  • Die Ausführung dieses Werkzeugs kann für Caches, die eine große geographische Ausdehnung oder sehr große Kartenmaßstäbe abdecken, ggf. einen langen Zeitraum in Anspruch nehmen. Wenn das Werkzeug abgebrochen wird, wird die Kachelerstellung beendet, aber die vorhandenen Kacheln werden nicht gelöscht. Dies bedeutet, dass Sie das Werkzeug abbrechen können, wenn Sie keine Zeit mehr haben. Später können Sie es dann für denselben Cache erneut ausführen, indem Sie den Aktualisierungsmodus RECREATE_EMPTY_TILES (Leere Kacheln erstellen) verwenden.

Syntax

ManageMapServerCacheTiles_server (input_service, scales, update_mode, {num_of_caching_service_instances}, {area_of_interest}, {update_extent}, {wait_for_job_completion})
ParameterErläuterungDatentyp
input_service

Der Karten- oder Image-Service, dessen Cache-Kacheln Sie aktualisieren möchten.

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
scales

Die Maßstabsebenen, auf denen Sie beim Ausführen dieses Werkzeugs je nach Aktualisierungsmodus Kacheln erstellen oder löschen.

Double
update_mode

Der Modus für die Aktualisierung des Caches.

  • RECREATE_EMPTY_TILES —Es werden nur Kacheln erstellt, die leer sind. Vorhandene Kacheln werden unverändert beibehalten.
  • RECREATE_ALL_TILES —Vorhandene Kacheln werden ersetzt, und neue Kacheln werden hinzugefügt, wenn die Ausdehnung geändert wurde.
  • DELETE_TILES —Kacheln werden aus dem Cache gelöscht. Die Cache-Ordnerstruktur wird nicht gelöscht. Wenn Sie den gesamten Cache einschließlich der Ordnerstruktur löschen möchten, verwenden Sie das Werkzeug Kartenserver-Cache löschen.
String
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)

Definiert einen Interessenbereich, um einzuschränken, wo Kacheln erstellt oder gelöscht 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 verwalten möchten. Er ist außerdem in Situationen hilfreich, in denen Sie einige Bereiche im Voraus cachen und weniger frequentierte Bereiche ungecacht lassen möchten.

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

Feature Set
update_extent
(optional)

Rechteckige Ausdehnung, bei der Kacheln je nach Wert des Parameters update_mode erstellt oder gelöscht werden. Sie sollten keine Werte für beide Parameter update_extent und area_of_interest angeben. Wenn Werte für beide Parameter angegeben werden, wird der Wert für area_of_interest verwendet.

Extent
wait_for_job_completion
(optional)

Dieser Parameter ermöglicht Ihnen das Überwachen des Fortschritts des Cache-Auftrags, der auf dem Server ausgeführt wird.

  • WAIT —Dieses Werkzeug wird weiterhin in ArcGIS for Desktop ausgeführt, während der Cache-Auftrag auf ArcGIS for Server oder ArcGIS Online ausgeführt wird. Mit dieser Option können Sie jederzeit detaillierte Fortschrittsberichte anfordern und die Geoverarbeitungs-Meldungen anzeigen, wenn sie auftreten. Dies ist die Standardoption. Diese Option sollten Sie in Python-Skripts verwenden.
  • DO_NOT_WAIT —Das Geoverarbeitungswerkzeug sendet den Auftrag an den Server, sodass Sie andere Geoverarbeitungs-Tasks in ArcGIS for Desktop ausführen oder sogar ArcGIS for Desktop schließen können. Diese Option wird verwendet, wenn Sie einen Cache automatisch beim Veröffentlichen des Service erstellen möchten. Sie können diese Option auch für jeden anderen Cache, den Sie erstellen, festlegen. Um den Status des Cache-Auftrags zu überwachen, öffnen Sie ArcGIS for Desktop, klicken Sie mit der rechten Maustaste im Fenster Katalog auf den Service, und klicken Sie dann auf Cache-Status anzeigen. Sie können auch die URL verwenden, die in der Ergebnismeldung des Werkzeugs bereitgestellt wird.Diese Option ist nicht verfügbar, wenn die File-Geodatabase Status.gdb nicht im Cache-Verzeichnis des Service vorhanden ist.
Boolean

Codebeispiel

Beispiel 1Erstellen oder Aktualisieren aller Kacheln im Cache mithilfe der Option "RECREATE_ALL_TILES"

# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate all 
# cache tiles for the scales in the cache tiling scheme.

# 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
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = 2
updateMode = "RECREATE_ALL_TILES"
areaOfInterest = ""
waitForJobCompletion = "WAIT"
updateExtents = ""

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')

try:
    starttime = time.clock()
    result = arcpy.ManageMapServerCacheTiles_server(inputService, scales,
                                                    updateMode,
                                                    numOfCachingServiceInstances,
                                                    areaOfInterest, updateExtents,
                                                    waitForJobCompletion)
    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 "Created cache tiles for given schema successfully for " +\
    serviceName + " 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)
report.close()
    
print "Created Map server Cache Tiles "

Beispiel 2Aktualisieren leerer Kacheln für einige Maßstäbe mithilfe der Option "RECREATE_EMPTY_TILES"

# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate  
# empty tiles for one of the default number of scales in the cache
# tiling scheme

# 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
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = 2
updateMode = "RECREATE_EMPTY_TILES"
areaOfInterest = ""
waitForJobCompletion = "WAIT"
updateExtents = ""
cacheDir = "c:\\arcgisserver\\arcgiscache\\"

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.ManageMapServerCacheTiles_server(inputService, scales[-1],
                                                    updateMode, numOfCachingServiceInstances,
                                                    areaOfInterest, updateExtents,
                                                    waitForJobCompletion)
    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 "Created cache tiles for scale =" + str(scales[-1]) + "for " +\
    serviceName + " at " + cacheDir + " 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)
    
report.close()   
print "Rereated Map server Cache Tiles for scale = " + str(scaleValues[-1])

Beispiel 3Aktualisieren von Kacheln mithilfe eines Interessenbereichs

# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate all
# tiles using 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
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = 2
updateMode = "RECREATE_ALL_TILES"
areaOfInterest = "C:/data/shp/CaTxFlMaMin.shp"
waitForJobCompletion = "WAIT"
updateExtents = ""


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.ManageMapServerCacheTiles_server(inputService, scales[-1],
                                                    updateMode,
                                                    numOfCachingServiceInstances,
                                                    areaOfInterest, updateExtents,
                                                    waitForJobCompletion)                                           
    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 "Created cache tiles for scale =" + str(scales[-1]) + "for " +\
    serviceName + "at " + cacheDir + " using specified feature class " +\
    areaOfInterest + " 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 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)

report.close()     
print "Rereated Map server Cache Tiles"
print "for scale = " + str(scaleValues[-1]) + " using area of Interest"

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • ArcGIS Desktop Basic: Ja
  • ArcGIS Desktop Standard: Ja
  • ArcGIS Desktop Advanced: Ja

Verwandte Themen

  • Überblick über das Toolset "Caching"

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Insider-Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Datenschutz | Rechtliches