Bilder exportieren

Sie können Bilder aus Earth Engine im GeoTIFF oder TFRecord Formatexportieren. Weitere Ausgabeoptionen finden Sie unter Konfigurationsparameter.

Beispiel für eine Einrichtung

Definieren Sie zuerst die Bilddaten, die exportiert werden sollen:

Code-Editor (JavaScript)

// Load a landsat image and select three bands.
var landsat = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_123032_20140515')
  .select(['B4', 'B3', 'B2']);

// Create a geometry representing an export region.
var geometry = ee.Geometry.Rectangle([116.2621, 39.8412, 116.4849, 40.01236]);

Python einrichten

Weitere Informationen zur Python API und zur Verwendung von geemap für die interaktive Entwicklung finden Sie auf der Seite Python-Umgebung.

import ee
import geemap.core as geemap

Colab (Python)

# Load a landsat image and select three bands.
landsat = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_123032_20140515').select(
    ['B4', 'B3', 'B2']
)

# Create a geometry representing an export region.
geometry = ee.Geometry.Rectangle([116.2621, 39.8412, 116.4849, 40.01236])

Definieren Sie als Nächstes die Projektions-Parameter, die in den folgenden Exporten verwendet werden. Mit dem Parameter crs geben wir das Koordinatensystem an, und mit dem Parameter crsTransform das Pixelraster. Der crsTransform Parameter ist eine Liste von Parametern aus einer affinen Transformation matrix in zeilenweiser Reihenfolge [xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]. Der Ursprung eines Bildes wird durch die Werte xTranslation und yTranslation definiert und die Pixelgröße des Bildes durch die Werte xScale und yScale. Beispiele für affine Matrizen anzeigen.

Code-Editor (JavaScript)

// Retrieve the projection information from a band of the original image.
// Call getInfo() on the projection to request a client-side object containing
// the crs and transform information needed for the client-side Export function.
var projection = landsat.select('B2').projection().getInfo();

Python einrichten

Weitere Informationen zur Python API und zur Verwendung von geemap für die interaktive Entwicklung finden Sie auf der Seite Python-Umgebung.

import ee
import geemap.core as geemap

Colab (Python)

# Retrieve the projection information from a band of the original image.
# Call getInfo() on the projection to request a client-side object containing
# the crs and transform information needed for the client-side Export function.
projection = landsat.select('B2').projection().getInfo()

scale festlegen

Als Abkürzung können Sie einen Parameter scale angeben. Earth Engine berechnet dann einen Parameter crsTransform für Sie. Wenn Sie jedoch nur die Skalierung eines Bildes festlegen, wird der Ursprung der Projektion nicht angegeben. Das kann dazu führen, dass ein Bild im Vergleich zu einem anderen Bild mit derselben Pixelgröße verschoben wird.

Der Grund für die mögliche Verschiebung ist, dass der Parameter scale verwendet wird, um die Werte xScale und yScale von crsTransform zu füllen. Die Werte xTranslation und yTranslation werden jedoch so berechnet, dass der Rest null ist, wenn sie durch die entsprechenden Werte xScale und yScale geteilt werden. Diese Parameter geben ein Pixelraster an, bei dem der Ursprung der Projektion an der Ecke eines Pixels liegt. Diese Konvention unterscheidet sich von den Übersetzungsparametern, die von einigen Datenanbietern verwendet werden. Diese verwenden Raster, die vom Ursprung der Projektion versetzt sind. Bei Landsat-Bildern, die von USGS bereitgestellt werden, werden beispielsweise Übersetzungsparameter verwendet, die um ein halbes Pixel vom Ursprung der Projektion versetzt sind (15 m Versatz für die 30-m-Bänder). Bei Sentinel-2-Bildern, die von der ESA bereitgestellt werden, werden Übersetzungsparameter verwendet, die am Ursprung der Projektion ausgerichtet sind. Wenn die in einem Export angegebene crsTransform nicht mit der crsTransform des Originalbildes übereinstimmt, werden die Ausgabepixel neu gesampelt (standardmäßig mit der Methode „Nächster Nachbar“). Dadurch wird das resultierende Bild im Vergleich zum Originalbild verschoben.

Zusammenfassend lässt sich sagen: Wenn Sie die Pixel des exportierten Bildes mit einem bestimmten Bild abgleichen müssen, verwenden Sie die crs und crsTransform Parameter, um die vollständige Kontrolle über das Raster zu haben.

In Google Drive

Verwenden Sie Export.image.toDrive(), um ein Bild in Ihr Google Drive-Konto zu exportieren. Wenn Sie beispielsweise Teile eines Landsat-Bildes exportieren möchten, definieren Sie eine zu exportierende Region und rufen Sie dann Export.image.toDrive() auf:

Code-Editor (JavaScript)

// Export the image, specifying the CRS, transform, and region.
Export.image.toDrive({
  image: landsat,
  description: 'imageToDriveExample_transform',
  crs: projection.crs,
  crsTransform: projection.transform,
  region: geometry
});

Python einrichten

Weitere Informationen zur Python API und zur Verwendung von geemap für die interaktive Entwicklung finden Sie auf der Seite Python-Umgebung.

import ee
import geemap.core as geemap

Colab (Python)

# Export the image, specifying the CRS, transform, and region.
task = ee.batch.Export.image.toDrive(
    image=landsat,
    description='imageToDriveExample_transform',
    crs=projection['crs'],
    crsTransform=projection['transform'],
    region=geometry,
)
task.start()

Wenn dieser Code ausgeführt wird, wird auf dem Tab Aufgaben des Code-Editors eine Exportaufgabe erstellt. Klicken Sie neben der Aufgabe auf die Schaltfläche Ausführen , um sie zu starten. Weitere Informationen zum Aufgabenmanager finden Sie im Abschnitt Code-Editor. Das Bild wird mit dem angegebenen fileFormat in Ihrem Google Drive-Konto erstellt.

In Cloud Storage

Verwenden Sie Export.image.toCloudStorage(), um ein Bild in einen Google Cloud Storage-Bucket zu exportieren. Wenn Sie das Landsat-Bild aus dem vorherigen Beispiel anstelle von Google Drive in Cloud Storage exportieren möchten, verwenden Sie:

Code-Editor (JavaScript)

// Export the image to Cloud Storage.
Export.image.toCloudStorage({
  image: landsat,
  description: 'imageToCloudExample',
  bucket: 'your-bucket-name',
  fileNamePrefix: 'exampleExport',
  crs: projection.crs,
  crsTransform: projection.transform,
  region: geometry
});

Python einrichten

Weitere Informationen zur Python API und zur Verwendung von geemap für die interaktive Entwicklung finden Sie auf der Seite Python-Umgebung.

import ee
import geemap.core as geemap

Colab (Python)

# Export the image to Cloud Storage.
task = ee.batch.Export.image.toCloudStorage(
    image=landsat,
    description='imageToCloudExample',
    bucket='your-bucket-name',
    fileNamePrefix='exampleExport',
    crs=projection['crs'],
    crsTransform=projection['transform'],
    region=geometry,
)
task.start()

Wie bei Exporten nach Google Drive starten Sie den Export auf dem Tab Aufgaben. Der Standort des Cloud Storage-Buckets kann sich auf die Leistung und die Speicherkosten auswirken. Weitere Informationen finden Sie im FAQ Eintrag zu Standort überlegungen .

In ein Asset

Verwenden Sie Export.image.toAsset(), um ein Bild in ein Asset in Ihrem Earth Engine-Asset-Ordner zu exportieren. Mit dem Asset Manager können Sie Ihre Earth Engine-Assets verwalten oder prüfen, wie viel von Ihrem Speicherkontingent verwendet wird, verwenden Sie den Asset Manager. Das folgende Beispiel zeigt, wie Sie Teile eines Landsat-Bildes mit verschiedenen Pyramidisierungsrichtlinien für dasselbe Band exportieren. Die Pyramidisierungsrichtlinie gibt an, wie Earth Engine Versionen des Assets mit niedrigerer Auflösung berechnet. Weitere Informationen zur Verarbeitung mehrerer Auflösungen in Earth Engine finden Sie im Dokument zur Skalierung.

Code-Editor (JavaScript)

// Get band 4 from the Landsat image, copy it.
var band4 = landsat.select('B4').rename('b4_mean')
  .addBands(landsat.select('B4').rename('b4_sample'))
  .addBands(landsat.select('B4').rename('b4_max'));

// Export the image to an Earth Engine asset.
Export.image.toAsset({
  image: band4,
  description: 'imageToAssetExample',
  assetId: 'exampleExport',
  crs: projection.crs,
  crsTransform: projection.transform,
  region: geometry,
  pyramidingPolicy: {
    'b4_mean': 'mean',
    'b4_sample': 'sample',
    'b4_max': 'max'
  }
});

Python einrichten

Weitere Informationen zur Python API und zur Verwendung von geemap für die interaktive Entwicklung finden Sie auf der Seite Python-Umgebung.

import ee
import geemap.core as geemap

Colab (Python)

# Get band 4 from the Landsat image, copy it.
band_4 = (
    landsat.select('B4')
    .rename('b4_mean')
    .addBands(landsat.select('B4').rename('b4_sample'))
    .addBands(landsat.select('B4').rename('b4_max'))
)

# Export the image to an Earth Engine asset.
task = ee.batch.Export.image.toAsset(
    image=band_4,
    description='imageToAssetExample',
    assetId='projects/your-project/assets/exampleExport',
    crs=projection['crs'],
    crsTransform=projection['transform'],
    region=geometry,
    pyramidingPolicy={
        'b4_mean': 'mean',
        'b4_sample': 'sample',
        'b4_max': 'max',
    },
)
task.start()

Mit dem Schlüssel '.default' können Sie eine Standard-Pyramidisierungsrichtlinie für jedes Band angeben, das nicht explizit festgelegt ist. Sie können auch nur den '.default' Schlüssel übergeben. Wenn Sie beispielsweise für alle Bänder die Pyramidisierungsrichtlinie „sample“ festlegen möchten, verwenden Sie {'.default': 'sample'}.

Konfigurationsparameter

Das Wörterbuch der Konfigurationsparameter, das an Export.image übergeben wird, enthält scale (in Metern) und die Exportregion als ee.Geometry. Das exportierte Bild deckt die angegebene Region mit Pixeln in der angegebenen Skalierung ab. Wenn nicht explizit angegeben, wird das CRS der Ausgabe aus dem ersten Band des zu exportierenden Bildes übernommen.

Sie können auch dimensions, crs und/oder crsTransform des exportierten Bildes angeben. Weitere Informationen zu the glossary finden Sie zu crs und crsTransform. Wenn Sie beispielsweise einen Pixelblock genau an eine andere Datenquelle anpassen möchten, geben Sie dimensions, crs und crsTransform an. Wenn Sie einen Pixelblock mit einer vordefinierten Größe (z. B. ein 256 × 256-Pixel-Miniaturbild) erhalten möchten, der eine Region abdeckt, geben Sie dimensions und region an.

Mit dem Parameter fileFormat können Sie das Bildausgabeformat angeben, wenn das Ziel nicht toAsset() ist ('GeoTIFF' standardmäßig).

Parameter formatOptions

Andere Konfigurationsoptionen werden mit dem Parameter formatOptions festgelegt. Dieser sollte ein Wörterbuch sein, das nach anderen Formatoptionen strukturiert ist, die für jedes fileFormat spezifisch sind, wie unten beschrieben.

GeoTIFF

Cloud-optimiertes GeoTIFF

Wenn Sie ein cloud-optimiertes GeoTIFF exportieren möchten, übergeben Sie ein JavaScript Literal für formatOptions, in dem der cloudOptimized Schlüssel auf true gesetzt ist. Fortsetzung des vorherigen Beispiels:

Code-Editor (JavaScript)

// Export a cloud-optimized GeoTIFF.
Export.image.toDrive({
  image: landsat,
  description: 'imageToCOGeoTiffExample',
  crs: projection.crs,
  crsTransform: projection.transform,
  region: geometry,
  fileFormat: 'GeoTIFF',
  formatOptions: {
    cloudOptimized: true
  }
});

Python einrichten

Weitere Informationen zur Python API und zur Verwendung von geemap für die interaktive Entwicklung finden Sie auf der Seite Python-Umgebung.

import ee
import geemap.core as geemap

Colab (Python)

# Export a cloud-optimized GeoTIFF.
task = ee.batch.Export.image.toDrive(
    image=landsat,
    description='imageToCOGeoTiffExample',
    crs=projection['crs'],
    crsTransform=projection['transform'],
    region=geometry,
    fileFormat='GeoTIFF',
    formatOptions={'cloudOptimized': True},
)
task.start()

Cloud-optimierte GeoTIFFs können aus Cloud Storage in ein Image neu geladen oder als Assets registriert werden. Eine vollständige Liste der Exportspezifikationen und -optionen finden Sie in der Übersicht zu cloud-optimierten GeoTIFFs (COGs).

Nodata

Geben Sie den GeoTIFF-Nodata-Wert mit dem Schlüssel noData im Parameter formatOptions an. Beispiel:

Code-Editor (JavaScript)

// Set a nodata value and replace masked pixels around the image edge with it.
var noDataVal = -9999;
landsat = landsat.unmask(noDataVal);

Export.image.toDrive({
  image: landsat,
  description: 'imageNoDataExample',
  crs: projection.crs,
  scale: 2000,  // large scale for minimal demo
  region: landsat.geometry(),  // full image bounds
  fileFormat: 'GeoTIFF',
  formatOptions: {
    noData: noDataVal,
  }
});

Python einrichten

Weitere Informationen zur Python API und zur Verwendung von geemap für die interaktive Entwicklung finden Sie auf der Seite Python-Umgebung.

import ee
import geemap.core as geemap

Colab (Python)

# Set a nodata value and replace masked pixels around the image edge with it.
no_data_val = -9999
landsat = landsat.unmask(no_data_val)

task = ee.batch.Export.image.toDrive(
    image=landsat,
    description='imageNoDataExample',
    crs=projection['crs'],
    scale=2000,  # large scale for minimal demo
    region=landsat.geometry(),  # full image bounds
    fileFormat='GeoTIFF',
    formatOptions={'noData': no_data_val},
)
task.start()

Der Nodata-Wert muss im gültigen Bereich für den PixelType des Bildes liegen. Sie können PixelType prüfen, indem Sie die Bildmetadaten ausgeben und sich die Eigenschaft data_type des ersten Bandes ansehen. Sie können auch den PixelType des Bildes festlegen, indem Sie die Daten mit Bildmethoden wie toShort() oder toInt() in einen bestimmten Typ umwandeln.

TFRecord

Weitere Informationen finden Sie auf der Seite TFRecord-Datenformat.

maxPixels

Der Parameter maxPixels soll verhindern, dass versehentlich sehr große Exporte erstellt werden. Wenn der Standardwert für das gewünschte Ausgabebild zu niedrig ist, können Sie maxPixels erhöhen. Beispiel:

Export.image.toDrive({
  image: landsat,
  description: 'maxPixelsExample',
  crs: projection.crs,
  crsTransform: projection.transform,
  region: geometry,
  maxPixels: 1e9
});

Exporte großer Dateien

Wenn das Ausgabebild groß ist, wird es als mehrere Dateien exportiert. Wenn Sie in GeoTIFFs exportieren, wird das Bild in Kacheln aufgeteilt. Der Dateiname jeder Kachel hat das Format baseFilename-yMin-xMin. Dabei sind xMin und yMin die Koordinaten der einzelnen Kacheln innerhalb des gesamten Begrenzungsrahmens des exportierten Bildes.

Wenn Sie in TFRecord exportieren, werden die Dateien mit -00000, -00001,..., -0000N für N+1 Dateien angehängt. Diese Reihenfolge muss beibehalten werden, wenn Sie Rückschlüsse auf die Dateien ziehen und die Vorhersagen als Bild wieder in Earth Engine hochladen möchten. Weitere Informationen finden Sie unter Bilder als TFRecord Dateien hochladen.

Bilder so exportieren, wie sie im Code-Editor angezeigt werden

Wenn Sie Bilder so exportieren möchten, wie sie in Earth Engine auf dem Bildschirm gerendert werden, erstellen Sie Visualisierungs bilder, wie in den Abschnitten Visualisierungs bilder und Compositing und Mosaikbildung beschrieben. Da der Code-Editor das 'EPSG:3857' CRS verwendet, geben Sie in der Exportanfrage ein CRS von 'EPSG:3857' an, um ein Bild in derselben Projektion wie das in der Karte des Code-Editors angezeigte Bild zu erhalten. Weitere Informationen zum Angeben der Auflösung und des Koordinatensystems der Ausgabe finden Sie im Abschnitt zum Konfigurieren von Bildexporten.