Anforderungsgröße<\/LI><\/UL><\/UL>
In diesem Artikel präsentiere ich die Ergebnisse dieser Tests zusammen mit einigen Vorschlägen zur Maximierung der Leistung. Mein Testrechner ist ein Desktop-Computer mit Windows 7 SP1 und ArcGIS 10.2.1, ausgestattet mit 18 GB RAM und einem Quad-Core Intel Xeon W3550 Prozessor mit 3 GHz. Die Testdaten wurden auf einer ansonsten leeren 2 TB SATA-Festplatte gespeichert, die ich vor den Tests defragmentiert und konsolidiert habe. Die Tests wurden so konfiguriert, dass die durchschnittlichen Antwortzeiten von Diensten unter verschiedenen Bedingungen ermittelt werden. Mit „Antwortzeit“ meine ich die Zeit, die ein Dienst benötigt, um die Quelldaten abzurufen, zu verarbeiten und ein Ausgabebild zu übertragen. Die Übertragungszeit wurde minimiert, indem die Testanwendung direkt auf dem Server ausgeführt wurde.<\/P>
<\/P>
Diese Informationen sind für GIS-Anwender mit mittleren bis fortgeschrittenen Kenntnissen geschrieben. Ich gehe davon aus, dass der Leser ein allgemeines Verständnis von Bilddiensten, Rasterdaten und -analysen, Rasterfunktionen, Geoverarbeitung, Mosaik-Datasets, Kartenprojektionen und Kartenservice-Caching hat.<\/P>
<\/P>
Kartenmaßstab und Auflösung der Quelldaten<\/STRONG><\/P><\/P>Die Pixel, die für Analysen durch dynamische Bilddienste verarbeitet werden, sind im Allgemeinen nicht identisch mit den Pixeln in den Quelldatensätzen. Stattdessen werden die Quelldatenpixel zunächst on-the-fly auf eine neue Größe basierend auf dem aktuellen Kartenmaßstab resampled. Diese Formel zeigt die Beziehung zwischen Kartenmaßstab und Resampling-Größe, wenn die Karteneinheiten der Daten Meter sind:<\/P><\/P>Resampled pixel size = map scale * 0.0254\/96<\/A><\/P><\/P>
Die resampelte Pixelgröße entspricht dem Parameter „Analysis Cell Size“ im Geoverarbeitungs-Framework und wird manchmal als „Pixelgröße der Anforderung“ bezeichnet. Wenn Sie herauszoomen zu kleineren Kartenmaßstäben, nimmt die resampelte Pixelgröße zu, bis schließlich vom Pyramiden-Pixeln resampled wird. Das Resampling von Pyramiden hilft dabei, die Leistung des Dienstes über einen Bereich von Kartenmaßstäben relativ konstant zu halten.<\/P>
<\/P>
Diagramm 1. Leistung eines Bilddienstes, der eine binäre Overlay-Analyse über einen Bereich von Kartenmaßstäben durchführt.<\/P><\/DIV>Die Leistung variiert weiterhin je nach Kartenmaßstab und sieht typischerweise ähnlich wie Diagramm 1 aus. Ich habe diese Ergebnisse mit einer Anwendung erzeugt, die so konfiguriert ist, dass sie einen einzelnen Benutzer simuliert, der die Karte bei bestimmten Kartenmaßstäben 100 Mal hintereinander verschiebt. Das Diagramm zeigt die durchschnittliche Zeit, die der Dienst benötigte, um die Ausgabebilder für verschiedene Kartenmaßstäbe zu verarbeiten und zu übertragen. Dieser spezielle Dienst wurde mit einer Rasterfunktionsvorlage konfiguriert, um eine binäre Overlay-Analyse auf elf sich überlappenden Rastern in einem Mosaik-Dataset durchzuführen. Die Pixelgrößen der Quelldatensätze reichten von 91,67 bis 100 Metern. Die Rasterfunktionsvorlage war so eingestellt, dass ein binäres Ergebnis zurückgegeben wird, bei dem jeder Ausgabepixel basierend auf den Analyseparametern entweder als „geeignet“ oder „ungeeignet“ klassifiziert wird.<\/P><\/P>Betrachten Sie die drei Punkte entlang der horizontalen Achse, an denen die Antwortzeit abrupt abfällt. Bei diesen Kartenmaßstäben entspricht die resampelte Pixelgröße genau den Pixelgrößen der Pyramiden in den Quelldaten. Die Verarbeitungszeit für das Resampling ist bei diesen Maßstäben am geringsten, da nahezu eine 1:1-Übereinstimmung zwischen Quelldatenpixeln und resampleten Pixeln besteht. Client-Anwendungen, die diesen speziellen Dienst verwenden, werden dramatisch schnellere Antwortzeiten sehen, wenn sie irgendwie auf genau diese Maßstäbe beschränkt sind. Eine Möglichkeit hierfür ist die Verwendung einer gekachelten Basiskartenebene. Web-Mapping-Anwendungen mit gekachelten Basiskarten sind im Allgemeinen nur auf diese Kartenmaßstäbe beschränkt. Das am häufigsten verwendete Kachelschema ist das ArcGIS Online\Bing Maps\Google Maps Kachelschema (im Folgenden aus Gründen der Kürze als „AGOL-Kachelschema“ bezeichnet). Die rot gepunkteten vertikalen Linien im Diagramm zeigen die Kartenmaßstäbe für Stufen 7 – 12 dieses Kachelschemas an. Leider liegen diese Maßstäbe nicht sehr nahe an den Maßstäben, bei denen dieser Dienst seine beste Leistung erbringt. Es gibt zwei Möglichkeiten zur Angleichung von Quelldatenpixeln und Kachelschema-Maßstäben:<\/P><\/P>Erstellen Sie eine benutzerdefinierte Basiskarte mit einem benutzerdefinierten Kachelschema, das den Pixelgrößen der Daten entspricht.<\/LI>Sample oder resample Sie die Daten auf eine Pixelgröße, die dem Kachelschema der Basiskarte entspricht.
<\/LI><\/OL><\/OL>Diagramm 2. Leistung des binären Overlay-Analyse-Dienstes mit unterschiedlichen Pixelgrößen der Quelldaten<\/P><\/DIV>Die horizontale Achse in Diagramm 2 stellt die "Pixelgröße der Anforderung" dar statt des Kartenmaßstabs wie in Diagramm 1. Die orangefarbene Kurve zeigt die Antwortzeiten eines anderen Dienstes an, der identisch zum ersten in Blau konfiguriert ist, jedoch Quellendatensätze verwendet, die mittels des Resample<\/_A> Geoverarbeitungswerkzeugs auf 38-Meter-Pixel hochskaliert wurden. Das Hochskalieren auf 38 Meter brachte die schnellsten Antwortzeiten des Dienstes in Übereinstimmung mit den Maßstäben des AGOL-Kachelschemas, was zu einer signifikanten Verringerung der Verarbeitungszeit bei diesen Maßstäben von etwa 1,5 Sekunden auf etwa 0,5 Sekunden führte. Außerdem fällt auf, dass sich die Leistung bei fast allen Maßstäben verbessert hat außer beim allergrößten. Dies liegt höchstwahrscheinlich daran, dass alle Quelldaten nun dieselbe Auflösung (38 m) haben statt drei (91.67 m, 92.5 m, 100 m) und/oder weil die Quelldatenpixel auch zwischen den Datensätzen ausgerichtet sind (erreicht durch Definition eines gemeinsamen Ursprungspunkts für jedes resampelte Raster mithilfe der Einstellung „Snap Raster“).<\/P><\/_p>
Zugegeben ist es nicht ideal für Analysen Daten mit dem Resample-Werkzeug vorzubereiten, da dies zu Daten zweiter Generation führt, welche weniger genau sind als das Original. Dies kann jedoch völlig akzeptabel sein für Anwendungen zur ersten Übersichtsanalyse;…. Es ist jedoch am besten neue Daten erster Generation in der gewünschten Pixelgröße zu erzeugen wann immer möglich. . Zum Beispiel könnten Sie Landklassenpolygone verwenden um ein neues Rasterdatensatz erster Generation in gewünschter Pixelgröße mittels des
Polygon to Raster-Werkzeugs zu generieren anstatt ein bestehendes Landklassen-Rasterdatensatz zu resamplen.<\/_p> Um festzustellen wie stark sich die Leistung bei Verwendung von 38-Meter-Pixeln verbessert hat berechnete ich prozentuale Änderungen in durchschnittlichen Antwortzeiten für jeden Maßstab und bildete Mittelwerte über mehrere Maßstäbe.<\/_p>
<\/_p> Das Hochskalieren der Quelldaten auf 38-Meter-Pixel reduzierte Antwortzeiten um ….63.8% bei den am schlechtesten performenden Ziel-Kartenmaßstäben!….38 Meter war nicht meine einzige Option in diesem Beispiel;…. Ich hätte auch eine Größe wählen können welche einem anderen Maßstab des Kachelschemas entspricht;…. Die folgende Tabelle listet alle Kartenmaßstäbe des AGOL-Kachelschemas sowie entsprechende Pixelgrößen in Einheiten Meter Fuß und Dezimalgrad. Die drei Spalten rechts bieten vorgeschlagene Werte für das Sampling von Rasterdaten. Diese Vorschläge sind nicht in Stein gemeißelt. Es ist nicht notwendig, Ihre Daten genau auf diese empfohlenen Größen zu sampeln. Wichtig ist, eine Größe zu wählen, die etwas kleiner ist als eine der Größen der Ziel-Kachel-Schema-Maßstäbe.<\/P><\/P>Kartenmaßstäbe und Pixelgrößen für das ArcGIS Online\/Bing Maps\/Google Maps Kachel-Schema<\/EM><\/P>
<\/A><\/P><\/P>
Übrigens ist es auch nützlich für Workflows, die statische Bilder über eine gekachelte Basiskarte legen, wenn die Pixelgrößen Ihrer Daten mit einem Basiskarten-Kachel-Schema übereinstimmen. <\/SPAN>Für diese Fälle können Sie Mosaik-Datensatz-Übersichten zum Anzeigen in kleineren Maßstäben erstellen, anstatt Raster-Pyramiden zu verwenden. <\/SPAN>Eines der großartigen Dinge an Mosaik-Datensatz-Übersichten ist, dass Sie die Basis-Pixelgröße der Übersichten sowie den Maßstabsfaktor definieren können, um Ihr Ziel-Kachel-Schema anzupassen. <\/SPAN>So müssen Sie die Quelldaten nicht auf eine neue Basis-Pixelgröße neu sampeln, um ein bestimmtes Kachel-Schema zu bedienen.<\/P>
Resampling-Methode<\/STRONG><\/P><\/P><\/P>Die
Resampling-Methode<\/A> <\/SPAN>, die für eine Bilddienst-Anfrage angegeben wird, hat ebenfalls Auswirkungen auf die Leistung. <\/SPAN>Die Wahl der Methode sollte hauptsächlich auf dem Datentyp basieren, der in der Analyse verwendet wird. <\/SPAN>Diagramm 3 zeigt die Leistung des binären Overlay-Analyse-Dienstes (mit 38-Meter-Daten) mit verschiedenen Resampling-Methoden.<\/P>
<\/A>Diagramm 3. Antwortzeiten des binären Overlay-Analyse-Dienstes mit verschiedenen Resampling-Methoden<\/P><\/DIV>
<\/P>
<\/P>
<\/P>
Bilineares Resampling ist die Standardmethode. <\/SPAN>Hier ist, wie sich die Antwortzeiten der anderen Methoden im Vergleich zu bilinear im Durchschnitt über die fünf getesteten Kartenmaßstäbe verhielten:<\/P>
<\/A><\/P>
Rasterformat<\/STRONG><\/P><\/P>Das Speicherformat der Daten kann einen großen Einfluss auf die Leistung haben. Zum Beispiel war die Antwortzeit des binären Overlay-Analyse-Dienstes im Durchschnitt über alle Kartenmaßstäbe um 36 % niedriger, wenn die Daten im GeoTIFF-Format statt im dateibasierten Geodatabase-gemanagten Raster gespeichert wurden. Der Abschnitt
Datenquellen und Formate<\/A> im Image Management-Handbuch empfiehlt, die Daten im Originalformat zu belassen, es sei denn, sie liegen in einem der langsamer arbeitenden Formate wie ASCII vor. GeoTIFF mit internen Kacheln ist die empfohlene Wahl für eine Neuformatierung, da es schnellen Zugriff auf Pixel in rechteckigen Bereichen bietet, die nur einen Teil der gesamten Datei abdecken.Pixeltyp und Kompression<\/STRONG><\/P><\/P>Der Pixeltyp bestimmt die Genauigkeit der in den Daten gespeicherten Werte und kann einen großen Einfluss auf die Leistung haben. Im Allgemeinen sind Ganzzahltypen schneller als Gleitkommatypen, und Typen mit geringerer Genauigkeit sind schneller als solche mit höherer Genauigkeit. Die Kompression von Bildern kann je nach Situation potenziell die Leistung erhöhen oder verringern. Für weitere Informationen über den Einfluss der Kompression auf die Dateigröße verweisen wir auf den Abschnitt Datenquellen und Formate im Image Management-Handbuch. Um den Einfluss von Pixeltyp und Kompression auf die Leistung von lokal gespeicherten Daten zu bewerten, habe ich eine Gruppe von Bilddiensten getestet, die so konfiguriert sind, dass sie eine äußerst intensive Overlay-Analyse auf 15 Rasterdatensätzen durchführen. Die Dienste waren identisch konfiguriert bis auf den Pixel- und Kompressionstyp der Analysedaten. Die Tests wurden im Kartenmaßstab durchgeführt, der der Pixelgröße der Daten entspricht.<\/P>
Diagramme 5 & 6. Durchschnittliche Antwortzeit und Speichergröße vs. Kompressionstyp für einen Bilddienst, der eine komplexe Overlay-Analyse durchführt<\p>
The following table shows the percentage change in response times with the reformatted datasets versus the original double-precision floating-point dataset.
<\/A>Diagramm 9. Durchschnittliche Antwort in MP\/s für unterschiedliche Anforderungsgrößen beim weighted overlay service.<\/P><\/DIV>
<\/A>Diagramm 10. Durchschnittliche Antwortzeit bei unterschiedlichen Anforderungsgrößen für den weighted overlay service.<\/P><\/DIV>
<\/P>
<\/P>
Diagramm 9 zeigt, dass der Durchsatz für diesen Service bei einer Anforderungsgröße von etwa 1000x1000 Pixeln auf etwa 1,5 – 1,6 MP\/s abflacht. Diagramm 10 zeigt, dass die Anforderungsgröße eine lineare Auswirkung auf die Leistung hat. Dieser Service ist in der Lage, Antwortzeiten unter einer Sekunde für Anfragen bis zu etwa 1.440.000 Pixeln oder einer Anforderungsgröße von 1200x1200 bereitzustellen.<\/P>
<\/P>
Zusammenfassung<\/STRONG><\/P><\/P>Rasteranalysen können viele Stufen der Datenverarbeitung und Analyse umfassen. Komplexe On-the-fly-Verarbeitungsketten können eine hohe Verarbeitungsbelastung für einen Server darstellen und zu träger Leistung beitragen. In einigen Fällen können enorme Leistungsverbesserungen erzielt werden, indem die Daten vorverarbeitet und in ein effizienteres Format für Resampling und On-the-fly-Verarbeitung gebracht werden.<\/P><\/P>Für Anwendungen, die gekachelte Basiskartenebenen verwenden, werden die größten Leistungsverbesserungen wahrscheinlich durch die Ausrichtung der Pixelgrößen der Daten an den Maßstäben des Basiskarten-Kachelschemas erreicht. Der Abschnitt „Map Scales and Source Data Resolution“ beschreibt die Theorie hinter diesem Ansatz und bietet eine Tabelle mit empfohlenen Pixelgrößen für Anwendungen, die Basiskarten mit dem ArcGIS Online\/Bing Maps\/Google Maps-Kachelschema verwenden. Alternativ können Entwickler Basiskarten mit benutzerdefinierten Kachelschemata erstellen, um sie an die vorhandenen Pixelgrößen der Analysedaten anzupassen.<\/P><\/P>Eine weitere Möglichkeit, in einigen Fällen die Verarbeitungsbelastung eines Servers erheblich zu reduzieren, besteht darin, die On-the-fly-Projektion der Analysedaten zu vermeiden. Dies wird erreicht, indem sichergestellt wird, dass die Basiskarte und die Analysedaten im selben Koordinatensystem vorliegen. Die Leistungsbeeinträchtigung durch On-the-fly-Projektion variiert je nach Eingabe- und Ausgabe-Koordinatensystemen und wird im Abschnitt „On-the-fly Projection“ behandelt.<\/P><\/P>Das Dateiformat, der Pixeltyp und der Kompressionstyp der Analysedaten können ebenfalls einen großen Einfluss auf die Leistung haben. GeoTIFF mit internen Kacheln wird für Situationen empfohlen, in denen es notwendig ist, die Daten aus einem langsameren Format neu zu formatieren. Pixeltypen mit geringerer Präzision bieten eine bessere Leistung als solche mit höherer Präzision. Die Pixekompression kann je nach Speicherung und Zugriff durch den Server entweder die Leistung erhöhen oder verringern. Diese Themen werden in den Abschnitten „Raster Format“ und „Pixel Type and Compression“ behandelt.<\/P><\/P>Client-Anwendungen können ebenfalls eine Rolle bei der dynamischen Bilddienstleistung spielen. Die Antwortzeiten des Dienstes sind am niedrigsten, wenn Anwendungen nearest neighbor resampling angeben, gefolgt von bilinear resampling. Und es besteht ein direkter Zusammenhang zwischen der Dienstleistungseffizienz und der Größe des Kartenfensters in einer Anwendung. Diese Themen werden in den Abschnitten „Resampling Method“ und „Request Size“ behandelt.<\/P><\/BODY><\/HTML>