ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • 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 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

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Cache-Kacheln für Kartenserver verwalten

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

Zusammenfassung

Erstellt und aktualisiert in einem vorhandenen Web-Kachel-Layer-Cache (in ArcGIS Enterprise oder ArcGIS Online), in Webkartenbild-Layern in ArcGIS Enterprise und in gecachten Karten- oder Image-Services auf einem eigenständigen Server Kacheln. Dieses Werkzeug wird verwendet, um neue Kacheln zu erstellen, fehlende Kacheln zu ersetzen, veraltete Kacheln zu überschreiben und Kacheln zu löschen.

Verwendung

  • 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 aus Zeitgründen abbrechen können. Später können Sie es dann für denselben Cache erneut ausführen, indem Sie den Parameter Aktualisierungsmodus auf Fehlende Kacheln erstellen (update_mode = "RECREATE_EMPTY_TILES" in Python) festlegen.

Syntax

arcpy.server.ManageMapServerCacheTiles(input_service, scales, update_mode, {num_of_caching_service_instances}, {area_of_interest}, {update_extent}, {wait_for_job_completion})
ParameterErklärungDatentyp
input_service

Der Web-Kachel- oder Kartenbild-Layer, dessen Cache-Kacheln Sie aktualisieren möchten.

Image Service; MapServer
scales
[scales,...]

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

Double
update_mode

Der Modus für die Aktualisierung des Cache.

  • RECREATE_EMPTY_TILES —Es werden nur Kacheln erstellt, die leer sind. Vorhandene Kacheln werden unverändert beibehalten. Diese Option ist für Web-Kachel-Layer, die in ArcGIS Online veröffentlicht werden, nicht verfügbar.
  • 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.
String
num_of_caching_service_instances
(optional)

Die Gesamtzahl der Instanzen des Service System/CachingTools, die zum Ausführen dieses Werkzeugs reserviert sind. Sie können die Einstellung 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.

Bei einer Verbindung mit einem eigenständigen Server entspricht die standardmäßige Anzahl an Instanzen dem Wert der Einstellung Maximale Anzahl der Instanzen im Caching-Werkzeug-Service.

Long
area_of_interest
(optional)

Definiert einen Interessenbereich, um einzuschränken, wo Kacheln erstellt oder gelöscht werden. 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 nicht für beide Parameter update_extent und area_of_interest gleichzeitig Werte angeben. Wenn für beide Parameter Werte angegeben werden, wird der Wert für area_of_interest verwendet.

Extent
wait_for_job_completion
(optional)

Mit diesem Parameter können Sie den Fortschritt des Cache-Auftrags überwachen, der im Portal ausgeführt wird.

  • WAIT —Dieses Werkzeug wird weiterhin im Python-Fenster ausgeführt, während der Cache-Auftrag in Portal for ArcGIS 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 ausführen 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 festlegen, den Sie erstellen.
Boolean

Abgeleitete Ausgabe

NameErklärungDatentyp
out_job_url

Die Ausgabe-URL.

String

Codebeispiel

ManageMapServerCacheTiles – Beispiel 1 (eigenständiges Skript)

Erstellen 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 "
ManageMapServerCacheTiles – Beispiel 2 (eigenständiges Skript)

Aktualisieren 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])
ManageMapServerCacheTiles – Beispiel 3 (eigenständiges Skript)

Aktualisieren 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

# 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
import os
import sys
import time
import datetime
import traceback
import string

# Set environment settings
arcpy.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

  • Aktueller Workspace

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen

  • Überblick über das Toolset "Caching"

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2021 Esri. | Datenschutz | Rechtliches