Was ist Image-Service-Caching?
In diesem Thema
- Warum sollte ich meine Image-Services cachen?
- Wie wird der Cache erstellt?
- Sollte ich meine Image-Services cachen?
- Wie aktualisiere ich den Image-Service-Cache?
- Vergleich des Zugriffs auf einen gecachten und einen nicht gecachten Image-Service
Durch das Image-Service-Caching wird die Performance von Image-Services verbessert. Wenn ein Image-Service gecacht wird, generiert der Server vorab Kacheln in verschiedenen Maßstäben, die schnell ausgegeben werden können. Es ist viel zeitaufwändiger, wenn die Eingaben von einem Mosaik-Dataset oder Raster-Dataset für jede Anforderung von ArcGIS for Server zuerst verarbeitet werden müssen. Ein wichtiger Aspekt eines Image-Service-Cache ist, dass hier keine "on the fly" verarbeiteten Bilddaten bereitgestellt werden. Die Bilddaten werden vorab während der Erstellung der gecachten Kacheln verarbeitet, und dann werden die gecachten Kacheln bereitgestellt.
Wenn Sie einen Image-Service cachen, erhalten Sie einen Image-Service der zwei Zwecken dient und auf den auf zweierlei Weise zweckgerichtet zugegriffen werden kann. Ein Zweck besteht darin, als gekachelter Service den schnellstmöglichen Zugriff auf ein Bild bereitzustellen. Der zweite Zweck besteht in der Bereitstellung von Daten für Abfragen, zum Herunterladen, zum Zugriff auf einzelne Elemente und zur Verwendung in Verarbeitungs- und Analysevorgängen.
Hinweis:
Der gesamte Bild-Cache wird als 8-Bit-Daten gespeichert.
Warum sollte ich meine Image-Services cachen?
Der Hauptvorteil des Caching eines Image-Services besteht in der Verbesserung seiner Performance. Der gecachte Image-Service kann ein Bild sehr schnell anzeigen, da ArcGIS for Server das Bild nicht dynamisch generieren muss. Folgende speziellen Vorteile bietet ein gecachter Image-Service:
- Bessere Performance bei einfachen Bildern: Caching wird empfohlen, wenn der Image-Service für einfache Bilder (also als Kartenhintergrundbild) verwendet wird und nicht zu erwarten ist, dass die Benutzer Eigenschaften des Image-Services ändern, z. B. die Mosaik-Methode ändern oder eine Abfrage ausführen.
- Übergehen der Erstellung von Übersichten: Wenn Sie ein Mosaik-Dataset veröffentlichen, das als einfaches Bild verwendet wird, können Sie durch Caching Zeit sparen, da sie keine Übersichten für das Mosaik-Dataset erstellen müssen. Dies kann zutreffen, wenn Sie eine Sammlung von vorverarbeiteten und gekachelten Orthofotos oder eine geschummerte Reliefdarstellung eines DEM bereitstellen.
- Bessere Performance bei langsamen Formaten: Wenn Sie aufwändig zu verarbeitende Formate oder stark komprimierte Formate bereitstellen, wird die Generierung eines Cache empfohlen. Wenn das Mosaik-Dataset wegen komplexer Funktionsketten langsam zu verarbeiten ist, dann bietet der Cache schnelleren Zugriff auf die Bilddaten.
Wie wird der Cache erstellt?
Caching wird nicht automatisch ausgeführt. Zunächst müssen Sie ein Mosaik-Dataset oder ein Raster-Dataset als Image-Service freigeben. Als nächstes legen Sie einige Cache-Eigenschaften fest. Dann können Sie mit der Erstellung des Cache beginnen.
Wenn Sie einen Image-Service cachen, wird ähnlich wie beim Caching von Karten-Services eine Sammlung von Bildkacheln für mehrere vordefinierte Maßstäbe oder Pixelgrößen generiert. Den Benutzern werden dadurch schnelle Ansichtsvergrößerungen und -verkleinerungen ermöglicht, die allerdings auf die vordefinierten Maßstäbe beschränkt sind. Zudem wird der Image-Service-Cache mit der vorgegebenen RGB-Bandkombination und Mosaik-Methode erstellt.
Kachelschema
Die Maßstäbe, die Sie auswählen, und die Eigenschaften, die Sie für den Cache festlegen, bilden das Kachelschema. Das Kachelschema sollte mit dem anderer Layer, die möglicherweise integriert werden, konsistent sein. Sie können beispielsweise das bekannte Kachelschema von ArcGIS Online, Google Maps und Bing Maps auswählen, damit Sie Ihre Caches problemlos mit diesen Online-Services für die Kartenerstellung überlagern können. Stattdessen können Sie auch ein eigenes Kachelschema erstellen, das mit dem einer eigenen Webanwendung konsistent ist. Jeder Cache verfügt über eine Kachelschemadatei, die Sie importieren können, wenn Sie neue Caches erstellen, damit Ihre gesamten Caches die gleichen Kachelgrößen und Maßstäbe verwenden.
Wenn das Kachelschema nicht dem Schema entspricht, das in anderen Layern der Anwendung verwendet wird, dann werden gecachten Layer möglicherweise nicht angezeigt. Der Grund hierfür ist, dass viele Web-Clients die Daten nicht zur Anzeige anderer Maßstäbe neu berechnen können (im Gegensatz zu ArcMap).
Wenn Sie Ihr eigenes Kachelschema erstellen, können Sie Maßstabs- oder Pixelgrößenintervalle wählen, die den Übersichten des Mosaik-Datasets oder den Pyramiden eines Raster-Datasets entsprechen. Wenn der Cache aus einer Übersicht oder Pyramide, die dem verwendeten Cache-Intervall stark ähnelt oder diesem entspricht, erstellt werden kann, dann ist die Cachequalität höher. Andernfalls werden möglicherweise gecachte Kacheln aus anderen gecachten Kacheln erstellt, und dies kann die Bildqualität beeinträchtigen. Es kann hilfreich sein, in ArcMap eine Vorschau der Quelldaten in verschiedenen Maßstäben zu betrachten, um sich von der Qualität der Bilddaten zu überzeugen, und diese Maßstäbe dann im Kachelschema zu verwenden.
Sie können die Basiszellengröße des Cache auch steuern, indem Sie einen Wert für die Maximale Größe der Quellenzellen auf der Seite Erweiterte Einstellungen für das Caching verwenden. Verwenden Sie z. B. diese Möglichkeit, um mit der Erstellung des Cache zu beginnen, wenn Überblicke oder Pyramiden angehalten wurden.
Cache-Kacheln
Die Cache-Kacheln werden im JPEG- oder PNG-Format verarbeitet und gespeichert, sodass der Server diese Bilder sofort verteilen kann, sobald eine Anforderung eingeht.
Der Cache wird im Server-Cache-Verzeichnis gespeichert. Als Sie ArcGIS for Server installiert haben, wurde für Sie in einem lokalen Ordner ein Server-Cache-Verzeichnis erstellt. Wenn Sie der Site mehr GIS-Server hinzufügen, müssen Sie das Server-Cache-Verzeichnis freigeben , sodass andere Computer an Ihrem Standort darauf zugreifen können.
Ungeachtet aller Performance-Vorteile ist das Caching mit einigem Zusatzaufwand verbunden. Zum Erstellen der Kacheln sind Zeit und Serverleistung erforderlich, und zum Speichern der Kacheln wird Hardware benötigt. Zudem muss der Cache möglicherweise regelmäßig aktualisiert werden, wenn die Quelldaten, z. B. ein Mosaik-Dataset, bearbeitet werden. Wenn Ihre Anwendung Bildmaterial für ein großes Gebiet in einem großen Maßstab bereitstellt, dann ist der für die Erstellung und Aktualisierung des Cache erforderliche Zeit- und Speicheraufwand möglicherweise größer als die Performance-Vorteile.
Hier finden Sie eine Anleitung zur Erstellung eines Image-Service-CacheBedarfsgesteuerter Cache
Bedarfsgesteuertes Caching ermöglicht es Ihnen, das Kachelschema einzurichten und den Image-Service zu veröffentlichen, aber den Cache erst dann zu generieren, wenn ein Benutzer auf den Service zugreift. Der erste Benutzer, der zu einer nicht gecachten Fläche navigiert, muss warten, bis die entsprechenden Kacheln vom Server gezeichnet wurden. Die Kacheln werden dann dem Cache-Ordner des Service hinzugefügt und bleiben auf dem Server, bis der Serveradministrator sie aktualisiert oder löscht. Dies bedeutet, dass nachfolgende Besucher der Fläche nicht warten müssen, bis die Kachel erstellt wurde.
Bei sorgfältig abgewägtem Einsatz können Sie mit dem bedarfsgesteuerten Caching Zeit und Speicherplatz sparen. Viele Image-Services enthalten unwirtliche, unbrauchbare oder für die Benutzer irrelevante Flächen, insbesondere bei großen Maßstäben. Das bedarfsgesteuerte Caching entlastet Sie, da Sie diese nicht benötigten Kacheln nicht erstellen und speichern müssen. Benutzer haben aber dennoch die Möglichkeit, die betreffenden Flächen bei Bedarf anzuzeigen.
Viele Empfehlungen zum Erstellen eines bedarfsgesteuerten Cache gelten sowohl für Karten-Services als auch für Image-Services. Weitere Informationen hierzu finden Sie unter Bedarfsgesteuertes Karten-Caching.
Vorsicht:
Für Image-Services, die mit einem Mosaik-Dataset erstellt werden, gilt: Beim Generieren eines bedarfsgesteuerten Cache oder beim Erstellen eines Caches mit nur einem Maßstab müssen Sie sicherstellen, dass der Cache erstellt werden kann. Andernfalls ist der Cache leer. Wenn der Cache bedarfsgesteuert generiert wird, überzeugen Sie sich davon, dass das Bildmaterial in jedem Maßstab angezeigt wird. Ist dies nicht der Fall, dann erstellen Sie die Übersichten für das Mosaik-Dataset oder ändern andere Einstellungen, die sich auf die Bildanzeige auswirken können. Wenn Sie das Werkzeug Cache-Kacheln für Kartenserver verwalten verwenden, dürfen Sie keine willkürlich gewählten Maßstäbe erstellen oder neu erstellen. Erstellen Sie alle Maßstäbe oder nur einen kleinen Maßstab, wenn der vorherige größere Maßstab erstellt worden ist.
Sollte ich meine Image-Services cachen?
Ein Image-Service-Cache repräsentiert eine Momentaufnahme des Image-Service zu einem gegebenen Zeitpunkt mit einem oder drei Bändern und unter Verwendung einer bestimmten Mosaik-Methode. Deswegen eignen sich Caches am besten für Image-Services, die sich selten ändern, beispielsweise eine Sammlung digitaler Orthofotoquadrate oder ein Image-Service für ein geschummertes Höhenmodell.
Selbst dann, wenn sich die Daten häufig ändern (z. B. häufig aktualisiert werden), können Sie möglicherweise die Caching-Werkzeuge verwenden, um den Cache in regelmäßigen Abständen zu aktualisieren. Sie können sogar einen Zeitplan erstellen, damit diese Aktualisierungen regelmäßig durchgeführt werden.
Wenn die Quelldaten eines Image-Service live sein müssen und eine Zeitverzögerung nicht akzeptabel ist, sollten Sie die Verwendung eines bedarfsgesteuerten Cache in Betracht ziehen.
Wenn der Cache nicht innerhalb einer akzeptablen Zeitspanne aktualisiert werden kann oder wenn der Image-Service häufig mit verschiedenen Bildeigenschaften geändert werden muss, dann eignet sich der Image-Service nicht für das Caching.
Detailinformationen:
ArcMap wendet in der Regel eine Streckung auf alle Raster-Daten an, wenn sie der Anzeige hinzugefügt werden. Daher kann es sein, dass der Image-Service in einer Webanwendung nicht genauso aussieht wie in ArcMap. Damit sie gleich aussehen, können Sie die in ArcMap angewendete Streckung exportieren und dem Image-Service vor dem Veröffentlichen und Caching hinzufügen.
Weitere Informationen über das Exportieren der Streckung in ArcMap finden Sie im Abschnitt zum Speichern einer Raster-Funktionsvorlage aus der Layer-Symbologie.
Weitere Informationen zur Anwendung der Raster-Funktionsvorlage (*.rft.xml) auf den Image-Service finden Sie im Abschnitt mit dem Titel Parameter zur Steuerung der On-the-fly-Verarbeitung.
Wie aktualisiere ich den Image-Service-Cache?
Der Image-Service-Cache wird auf ähnliche Weise verwaltet wie der Karten-Service-Cache.
Wenn die Elemente des Mosaik-Datasets, das zum Erstellen des Image-Services verwendet wurde, aktualisiert werden, dann führen Sie das Werkzeug Nicht überprüften Bereich berechnen aus, um eine Feature-Class zu erzeugen, das die geänderten Bereiche identifiziert. Diese Feature-Class kann zum Neuerstellen der betroffenen Cache-Kacheln verwendet werden.
Weitere Informationen zu den Werkzeugen zum Aktualisieren des CacheVergleich des Zugriffs auf einen gecachten und einen nicht gecachten Image-Service
Wenn Sie einen gecachten Image-Service anzeigen, ist dessen Funktionalität eingeschränkt. Sie können beispielsweise nicht die Mosaik- oder Übertragungskomprimierungsmethode ändern. Möglich ist jedoch das Ändern der Symbologie und Verbesserung, das Anwenden eines Identifizierungsvorgangs auf die Pixel, das Abfragen der Daten und das Herunterladen der Quelldaten.
Wenn Sie mit dem Image-Service dynamisch arbeiten und Funktionalität wie die Mosaik-Methode nutzen möchten, können Sie den Modus des Layers ändern. Klicken Sie zum Ändern des Modus mit der rechten Maustaste auf den Image-Service-Layer, und deaktivieren Sie Cache-Anzeigemodus aktivieren. Um den Image-Service als gecachten Service zu verwenden, aktivieren Sie diese Option wieder.
Wenn Sie in einer Webanwendung (die beispielsweise mit ArcGIS API for JavaScript entwickelt wurde) auf einen gecachten Image-Service zugreifen möchten, verwenden Sie die ArcGISTiledMapServiceLayer-Klasse. Für den Zugriff auf einen dynamischen Image-Service verwenden Sie die ArcGISImageServiceLayer-Klasse. Außerdem können Sie auch auf einen gecachten Image-Service zugreifen, indem Sie das WMTS-Protokoll (Web Map Tile Service) von Open Geospatial Consortium, Inc. (OGC) verwenden.
Der REST-Endpunkt eines Image-Service unterstützt sowohl ExportImage zur Bereitstellung des dynamischen Image-Service als auch GetTile für den Zugriff auf den gecachten Image-Service.
Weitere Informationen zum Zugriff auf gecachte Image-Services