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]);
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();
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 });
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 });
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' } });
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 } });
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, } });
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.