Um wissenschaftliche Ergebnisse aus der Earth Engine richtig zu interpretieren, ist es wichtig zu verstehen, wie die Skalierung in der Earth Engine funktioniert. Hier bezieht sich „Maßstab“ auf die Pixelauflösung. Anders als bei anderen GIS- und Bildverarbeitungsplattformen wird der Analysemaßstab nicht anhand der Eingabe, sondern anhand der Ausgabe bestimmt. Wenn Sie beispielsweise eine Anfrage für Ergebnisse, ein Bild oder eine Statistik stellen, geben Sie die Skala an, in der Daten in die Analyse eingegeben werden. Dieses Konzept ist in Abbildung 1 dargestellt.

Bildpyramiden
Bild-Assets in Earth Engine sind in mehreren Skalen in Bildpyramiden verfügbar. Die Pyramidierungsrichtlinie (in Abbildung 1 durch gestrichelte Linien dargestellt) bestimmt, wie jedes Pixel auf einer bestimmten Ebene der Pyramide aus der Aggregation eines 2 × 2 Pixel großen Blocks auf der nächstniedrigeren Ebene berechnet wird. Bei Bildern mit kontinuierlichen Werten sind die Pixelwerte der oberen Ebenen der Pyramide der Mittelwert der Pixel der nächstniedrigeren Ebene. Bei Bildern mit diskreten Werten sind die Pixelwerte der oberen Ebenen der Pyramide ein Beispiel (in der Regel das Pixel oben links) der Pixel der nächstniedrigeren Ebene.
Die unterste Ebene der Bildpyramide stellt Bilddaten in der nativen Auflösung dar, wenn sie in Earth Engine aufgenommen werden. Bei der Datenaufnahme werden die Daten gemäß der Pyramidierungsrichtlinie aggregiert, um höhere Pyramidenebenen zu erstellen. Die Daten werden zusammengefasst, bis das gesamte Bild in eine Kachel mit 256 × 256 Pixeln passt. Wenn Sie ein Bild in Ihrem Code verwenden, wählt Earth Engine eine Ebene der Pyramide mit der nächsten Skala aus, die kleiner oder gleich der in Ihrer Analyse angegebenen Skala ist. Bei Bedarf wird die Ebene neu abgerastert (standardmäßig mit dem nächsten Nachbarn).
Analyseumfang
Der Analysemaßstab in Earth Engine wird auf „Pull“-Basis bestimmt. Die Skala, in der Eingaben für eine Berechnung angefordert werden, wird anhand der Ausgabe bestimmt. Wenn Sie beispielsweise dem Code-Editor oder dem geemap-Kartenelement ein Bild hinzufügen, wird anhand der Zoomstufe der Karte festgelegt, in welchem Maßstab Eingaben von der Bildpyramide angefordert werden. Geben Sie für andere Berechnungen scale
als Argument an. Beispiel: NIR-Band eines Landsat-Bildes mit einer nativen Auflösung von 30 Metern:
Code-Editor (JavaScript)
var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318').select('B4'); var printAtScale = function(scale) { print('Pixel value at '+scale+' meters scale', image.reduceRegion({ reducer: ee.Reducer.first(), geometry: image.geometry().centroid(), // The scale determines the pyramid level from which to pull the input scale: scale }).get('B4')); }; printAtScale(10); // 0.10394100844860077 printAtScale(30); // 0.10394100844860077 printAtScale(50); // 0.09130698442459106 printAtScale(70); // 0.1150854229927063 printAtScale(200); // 0.102478988468647 printAtScale(500); // 0.09072770178318024
import ee import geemap.core as geemap
Colab (Python)
image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318').select('B4') def print_at_scale(scale): display( f'Pixel value at {scale} meters scale', image.reduceRegion( reducer=ee.Reducer.first(), geometry=image.geometry().centroid(), # The scale determines the pyramid level from which to pull the input scale=scale, ).get('B4'), ) print_at_scale(10) # 0.10394100844860077 print_at_scale(30) # 0.10394100844860077 print_at_scale(50) # 0.09130698442459106 print_at_scale(70) # 0.1150854229927063 print_at_scale(200) # 0.102478988468647 print_at_scale(500) # 0.09072770178318024
In diesem Beispiel sehen Sie, dass der Pixelwert an einer konstanten Stelle (dem Bildmittelpunkt) je nach Skalierung variiert. Das liegt daran, dass für verschiedene Skalen unterschiedliche Pyramidenebenen ausgewählt werden. Bei ähnlichen Skalen wird bei der nächsten-Nachbarn-Resampling-Methode derselbe Pixelwert zurückgegeben. Der wichtige Punkt ist, dass durch die Änderung des Maßstabs unterschiedliche Bildeingaben angefordert werden.
Wenn Sie ein Bild visualisieren, indem Sie es der Karte hinzufügen, wird der Maßstab in Earth Engine anhand der Zoomstufe bestimmt. Betrachten Sie das folgende einfache Beispiel, in dem nur ein Landsat-Bild angezeigt wird:
Code-Editor (JavaScript)
var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318'); Map.centerObject(image, 17); Map.addLayer(image, {bands: ['B4', 'B3', 'B2'], max: 0.35}, 'image');
import ee import geemap.core as geemap
Colab (Python)
image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318') m = geemap.Map() m.center_object(image, 17) m.add_layer(image, {'bands': ['B4', 'B3', 'B2'], 'max': 0.35}, 'image') m
Die Karte ist zu Beginn vollständig herangezoomt, sodass die Pixel der nativen Auflösung deutlich sichtbar sind. Wenn Sie weit genug herauszoomen, werden nicht mehr dieselben Pixel angezeigt, sondern höhere Ebenen der Bildpyramide. Beachten Sie auch, dass im Code-Editor und in geemap-Karten die Mercator-Projektion (EPSG:3857) verwendet wird. Daher muss die entsprechende Ebene der Bildpyramide vor der Darstellung neu projiziert werden. Weitere Informationen dazu, wie die Earth Engine mit Projektionen umgeht, finden Sie im Dokument zu Projektionen.