Automatisieren der Cache-Erstellung und von Aktualisierungen per Geoverarbeitung
Wenn Sie mit einer Grundkarte arbeiten, an der Änderungen unwahrscheinlich sind, erstellen Sie wahrscheinlich nur einmal einen Cache. Sie können die Caching-Benutzeroberfläche in ArcCatalog (genauer gesagt die Registerkarte Caching des Dialogfelds Service-Eigenschaften) verwenden, um den Cache zu erstellen. Dies ist auch eine geeignete Möglichkeit, den Cache zu aktualisieren, wenn sich die Daten nicht sehr oft ändern.
Wenn sich Ihre Daten häufig ändern, können Sie möglicherweise trotzdem Caching verwenden. Die Caching-Werkzeuge wurden konzipiert, um Cache-Aktualisierungen per Skript zuzulassen und die Aktualisierungen auf bestimmte Teile des Caches zu beschränken. Sie haben z. B. folgende Möglichkeiten:
- Aktualisieren Sie den Cache nur für die Maßstabsebenen, die sich geändert haben.
- Aktualisieren Sie die Bereiche des Caches, die innerhalb der Grenzen einer Feature-Class liegen.
- Automatisieren Sie die Cacheverwaltung mit Windows-Dienstprogrammen wie z. B. Aufgabenplanung.
Eine Möglichkeit, den Caching-Prozess zu automatisieren, ist das Schreiben von Skripten, die die Toolbox Server Tools verwenden, auf die über das Menü Geoverarbeitung zugegriffen wird. Unter Linux/Solaris wurden die Caching-Skripte bereits für Sie erstellt und mit der ArcGIS Server-SOC-Komponente unter "<ArcGIS Server-Installationsverzeichnis>/arcgis/server<10.0>/java/tools/caching" installiert. In diesem Hilfethema sind die verfügbaren Werkzeuge und einige Beispiele aufgeführt, die Ihnen beim Schreiben der ersten Skripte helfen sollen. Außerdem ist die Migration älterer Skripte aus ArcGIS Server 9.2 auf höhere Versionen beschrieben.
Caching-Werkzeuge
Die Toolbox Server Tools enthält Werkzeuge sowohl für Karten-Caching als auch für Globus-Caching.
Karten-Caching-Werkzeuge
Die folgenden Werkzeuge dienen für das Karten-Caching. Die Werkzeuge geben die Muster zum Erstellen des Kachelschemas und Ausfüllen des Caches mit Kacheln wieder.
- Kachelschema für Map Server-Cache erstellen – Initialisiert den Cache und legt das Kachelschema fest. Dieses Werkzeug erstellt keine Kacheln. Zum Erstellen der Kacheln verwenden Sie Cache-Kacheln für Kartenserver verwalten.
- Cache-Kacheln für Kartenserver verwalten – Erstellt neue Kacheln, ersetzt alte Kacheln oder löscht Kacheln aus dem Cache.
- Cache-Maßstäbe für Kartenserver verwalten – Fügt Maßstäbe hinzu oder entfernt Maßstäbe aus einem vorhandenen Cache.
- Map Server-Cache löschen – Löscht alle Cache-Kacheln und die Ordnerstruktur des Caches.
Ein allgemeiner Skript-Workflow ist die Verwendung von Map Server-Cache erstellen, um einen neuen leeren Cache zu erstellen, und dann Cache-Kacheln für Kartenserver verwalten zu verwenden, um den Cache mit Kacheln auszufüllen und in regelmäßigen Abständen Aktualisierungen auszuführen.
Werkzeug zum Standardisieren von Karten-Caches
Wenn Sie viele Karten-Caches erstellen, die in Ihrer Organisation verwendet werden sollen, empfiehlt sich, dass Sie jeweils das gleiche Kachelschema verwenden. Die Verwendung eines Standardkachelschemas ermöglicht eine effizientere Überlagerung der Caches.
Das Kachelschema, das Sie auswählen, kann das Gleiche wie das von Online-Kartenerstellungs-Services, z. B. ArcGIS Online, Google Maps oder Bing Maps, verwendete Kachelschema sein oder ein nur in Ihrer Organisation verwendetes Kachelschema. Ihre Auswahl des Kachelschemas wird möglicherweise von kartografischen Standards oder Vorgehensweisen in Ihrer Organisation beeinflusst. Wenn alle Ihre Karten beispielsweise polare stereographische Projektion verwenden sollen, können Sie keine ArcGIS Online-, Google Maps- oder Bing Maps-Kachelschemas verwenden; Sie müssen ein eigenes Kachelschema erstellen.
Das Werkzeug Kachelschema für Kartenserver-Cache erstellen in der Toolbox Server Tools kann Ihnen helfen, ein Kachelschema zu erstellen, das überall in der Organisation genutzt werden soll. Dieses Werkzeug erstellt eine XML-Kachelschemadatei, die Sie in einem freigegebenen Verzeichnis speichern und dann darauf verweisen können, wenn Sie Kartenserver-Cache erstellen ausführen.
Karten-Cacheverwaltung und Werkzeuge zur Zusammenarbeit
Mehrere Werkzeuge im Caching-Toolset sind zum Verwalten von Caches und zum gemeinsamen Erstellen konzipiert.
Das Werkzeug Speicherformat des Map Server-Caches konvertieren kann alte Caches in das neue kompakte Format konvertieren, das in ArcGIS Server 10 eingeführt wurde. Dieses Werkzeug kann sogar zwischen beiden Formaten konvertieren, in das getrennte (vor ArcGIS 10) und das kompakte Format.
Die Werkzeuge Map Server-Cache exportieren und Map Server-Cache importieren helfen dabei, Teilmengen von Kacheln zwischen Caches zu verschieben. Das Exportieren und Importieren von Caches kann nützlich sein, wenn mehrere Organisationen zusammenarbeiten, um einen großen Cache zu erstellen, oder wenn eine Organisation mit einem großen Cache einige seiner Kacheln mit einer anderen Organisation austauschen will.
Weitere Informationen zum Exportieren und Importieren von Karten
Globus-Caching-Werkzeuge
Die folgenden Werkzeuge dienen dem Globus-Caching:
- Cache-Kacheln für Globe Server verwalten – Erstellt neue Kacheln, ersetzt alte Kacheln oder löscht Kacheln aus dem Globe-Cache.
- Globe Server-Cache löschen – Löscht den Cache.
Beachten Sie, dass es nur zwei Werkzeuge zum Arbeiten mit Globe-Caches gibt. Alle Globe-Services haben von Natur aus einen Cache, der automatisch erstellt wird, wenn Sie den Service starten. Dieser Cache verwendet ein integriertes Kachelschema, das für alle Globe-Services gleich ist. Daher gibt es keine Werkzeuge zum Erstellen eines neuen Globe-Caches oder eines Kachelschemas.
Sie können den Cache mithilfe von Cache-Kacheln für Globe Server verwalten vollständig mit Kacheln ausfüllen oder nur ausgewählte Bereiche und Detaillierungsebenen damit cachen.
Verwenden der Werkzeuge in Skripten
Obwohl Sie die Caching-Werkzeuge vom Katalogfenster oder dem Suchfenster aus manuell öffnen können, ist es effizienter, ein Geoverarbeitungsskript zu schreiben, das ein oder mehrere Werkzeuge enthält, die Sie ausführen möchten. Sie können dann dieses Skript zur automatischen Ausführung planen.
Beispielskript: Aktualisieren eines Karten-Caches
Wenn sich Ihre Daten häufig ändern, ist ein Skript die empfohlene Möglichkeit, um den Cache zu aktualisieren. Sie können ein Python-Skript erstellen, das das Aktualisierungswerkzeug ausführt. Sie können das Python-Skript im Editor schreiben oder eine Entwicklungsumgebung wie z. B. IDLE oder PythonWin verwenden.
Das Skript muss nicht komplex sein. Es muss nur die Parameter für das Werkzeug definieren und es ausführen. Das folgende Python-Skript führt das Werkzeug Cache-Kacheln für Kartenserver verwalten aus, um einen ganzen Cache neu zu erstellen:
# This script updates a map cache containing changing data # Any line that begins with a pound sign is a comment and will not be executed # These lines are used to access ArcGIS geoprocessing tools import arcpy, sys from arcpy import env # Here is where you define the input parameter values for the update tool. # Empty quotes take the default value. server = "MyServer" service = "Precipitation" dataFrame = "Layers" inputLayers = "" extent = "" scales = "128000;64000;32000;16000" updateMode = "Recreate All Tiles" threadCount = "2" antialiasing = "NONE" pathToFeatureClass = "" ignoreStatus = "" # These lines run the update tool try: print 'Starting Cache Update' result = arcpy.ManageMapServerCacheTiles_server(server, service, dataFrame, inputLayers, scales, updateMode, extent, threadCount, antialiasing, pathToFeatureClass, ignoreStatus) while result.status < 4: time.sleep(0.2) resultValue = result.getMessages() print str(resultValue) print 'Finished Cache Update' # If there's a failure, these lines get the messages except Exception, e: tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno
Es ist wichtig, die richtige Syntax für alle Eingabeparameter zu verwenden. Anweisungen und Beispiele für jeden Parameter jedes Werkzeugs finden Sie in der Referenz für Geoverarbeitungswerkzeuge der ArcGIS Desktop-Hilfe. Als Beispiel hier das Referenzthema für das oben verwendete Werkzeug Cache-Kacheln für Kartenserver verwalten: Cache-Kacheln für Kartenserver verwalten (Server).
Wenn Sie sich mit Python noch nicht auskennen, können diese Ressourcen Ihnen helfen, mehr zu erfahren:
- Was ist Python? – Die ArcGIS Desktop-Hilfe enthält eine Einführung in die Python-Skripterstellung, beginnend mit diesem Thema.
- Exportieren eines Modells – Wenn Sie Modelle in ModelBuilder erstellt haben, können Sie sie nach Python exportieren, um zu sehen, wie das entsprechende Skript aussieht.
Planen der regelmäßigen Ausführung des Skripts
Sie können das Skript als Python-Skriptdatei (.py) speichern. Wenn Sie in Windows-Explorer auf das Skript doppelklicken, wird das Skript ausgeführt. Dies ist für Tests nützlich, aber in den meisten Fällen möchten Sie das Skript zur regelmäßigen Ausführung planen.
Das Betriebssystem enthält Dienstprogramme, die Ihnen helfen, Tasks zu planen, wie z. B. das Ausführen eines Skripts. In Windows können Sie Aufgabenplanung oder den Befehl schtasks verwenden. Sie müssen das Verzeichnis der Skriptdatei angeben, wie oft Sie es auszuführen wollen, und den Name und das Kennwort, unter dem der Task ausgeführt wird. Weitere Informationen zum Planen von Tasks finden Sie in den folgenden Ressourcen:
- Planen der Ausführung eines Python-Skriptes zu bestimmten Zeiten
- Planen der Ausführung eines Geoverarbeitungsskriptes für bestimmte Zeitpunkte (Unix-Dokumentation)
- Planen eines neuen Tasks (Microsoft-Dokumentation)
- Schtasks (Microsoft-Dokumentation)
Hinweis für Linux-Benutzer:
Unter Linux müssen Sie vor dem Ausführen von Python-Skripten zum Arbeiten mit dem Cache die Befehlsquelle "/arcgis /Server10.0/servercore/.Server/init_server.sh" ausführen, wie in Schritt 2 von Anzeigen und Verwalten von Netzwerkports unter Linux /Solaris beschrieben.
Wenn Sie die Toolbox Server Tools mit ArcGIS Server 9.2 verwendet haben, beachten Sie einige Änderungen ab Version 9.3 und höher. Einige Werkzeuge aus ArcGIS Server 9.2 sind veraltet. Sie sind in der Software enthalten, damit die vorhandenen Skripte weiterhin ausgeführt werden können, aber Sie können sie der Toolbox nicht hinzufügen und sie sind nicht über die Befehlszeile verfügbar. Sie können sie nur in einer Skriptumgebung verwenden.
In der folgenden Tabelle sind die veralteten Werkzeuge und ihre Ersetzungen in 9.3 und höher aufgelistet:
Veraltetes Werkzeug aus 9.2 |
Ersatzwerkzeug |
Cache für Kartenserver erstellen |
|
Map Server-Cache aktualisieren |
Cache-Kacheln für Kartenserver verwalten |
Globe Server-Cache erstellen |
Cache-Kacheln für Globe Server verwalten |
Globe Server-Cache aktualisieren |
Cache-Kacheln für Globe Server verwalten |
- Cache für Kartenserver erstellen – Dieses Werkzeug hat den Karten-Cache initialisiert, das Kachelschema festgelegt und alle Kacheln im Cache erstellt. Ab 9.3 und höher verwenden Sie Map Server-Cache erstellen, um den Cache zu initialisieren und das Kachelschema festzulegen. Anschließend erstellen Sie einige oder alle Kacheln für den Cache mithilfe von Cache-Kacheln für Kartenserver verwalten.
- Map Server-Cache aktualisieren – Dieses Werkzeug hat Kacheln in einem Karten-Cache erstellt, ersetzt oder gelöscht. Ab 9.3 und höher verwenden Sie Cache-Kacheln für Kartenserver verwalten, welches die gleichen Vorgänge mit mehr Flexibilität zum Aktualisieren von ausgewählten Bereichen des Caches ausführen kann.
- Globe Server-Cache erstellen – Dieses Werkzeug hat alle Kacheln in einem Globe-Cache generiert. Ab 9.3 und höher erstellen Sie einige oder alle Kacheln für den Globe-Cache mithilfe von Cache-Kacheln für Globe Server verwalten.
Die Reihenfolge der Parameter hat sich in einigen der neuen Werkzeuge geändert. In ManageMapServerCacheTiles ist jetzt beispielsweise "constraining_extent" ein erforderlicher Parameter, der in der Parameterliste direkt auf "update_mode" folgt. Informieren Sie sich immer in der neuesten Referenz für Geoverarbeitungswerkzeuge, wenn Sie Skripte aktualisieren.