Anda dapat mengekspor gambar dari Earth Engine dalam GeoTIFF atau TFRecord. Lihat Parameter Konfigurasi untuk mengetahui opsi output lainnya.
Contoh Penyiapan
Mulai dengan menentukan data gambar yang akan diekspor:
Editor Kode (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])
Selanjutnya, tentukan parameter proyeksi yang akan digunakan dalam
ekspor berikut. Kita menggunakan parameter crs untuk menentukan sistem koordinat,
dan parameter crsTransform untuk menentukan secara tepat petak piksel. Parameter
crsTransform adalah daftar parameter dari matriks transformasi affine
dalam urutan baris utama
[xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]. Asal gambar ditentukan oleh nilai xTranslation dan yTranslation, dan ukuran piksel gambar ditentukan oleh nilai xScale dan yScale. Lihat
contoh matriks
affine.
Editor Kode (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()
Menetapkan scale
Sebagai pintasan, Anda dapat menentukan parameter scale dan Earth Engine akan
menghitung parameter crsTransform untuk Anda. Namun, sekadar menetapkan skala gambar tidak menentukan asal proyeksi, dan dapat menghasilkan gambar yang bergeser relatif terhadap gambar lain dengan ukuran piksel yang sama.
Alasan potensi pergeseran ini adalah karena parameter scale digunakan untuk
mengisi nilai xScale dan yScale dari crsTransform, tetapi
nilai xTranslation dan yTranslation dihitung sehingga jika
dibagi dengan nilai xScale dan yScale yang sesuai, sisanya akan menjadi
nol. Parameter ini menentukan petak piksel tempat asal proyeksi berada di sudut piksel. Konvensi ini berbeda dengan parameter terjemahan
yang digunakan oleh beberapa penyedia data, yang menggunakan petak yang diimbangi dari
asal proyeksi. Misalnya, gambar Landsat yang disediakan oleh USGS menggunakan parameter terjemahan yang diimbangi 1/2 piksel dari asal proyeksi (offset 15 m untuk band 30 m), sedangkan gambar Sentinel-2 yang disediakan oleh ESA menggunakan parameter terjemahan yang selaras dengan asal proyeksi. Jika
crsTransform yang ditentukan dalam ekspor tidak cocok dengan crsTransform
gambar asli, piksel output akan di-resample (menggunakan tetangga terdekat secara
default), yang akan membuat gambar yang dihasilkan bergeser relatif terhadap
gambar asli.
Singkatnya, jika Anda perlu mencocokkan piksel gambar yang diekspor dengan gambar tertentu, pastikan untuk menggunakan parameter crs dan crsTransform untuk kontrol penuh atas petak.
ke Drive
Untuk mengekspor gambar ke akun Drive Anda, gunakan Export.image.toDrive(). Misalnya, untuk mengekspor bagian gambar Landsat, tentukan wilayah yang akan diekspor, lalu
panggil Export.image.toDrive():
Editor Kode (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()
Saat kode ini dijalankan, tugas ekspor akan dibuat di tab Tasks Editor Kode. Klik tombol Run di samping tugas untuk memulainya. (Pelajari
lebih lanjut Pengelola Tugas dari bagian Editor
Kode). Gambar akan dibuat di akun Drive Anda
dengan fileFormat yang ditentukan.
ke Cloud Storage
Untuk mengekspor gambar ke bucket Google Cloud Storage, gunakan
Export.image.toCloudStorage(). Untuk mengekspor gambar Landsat dalam contoh sebelumnya ke Cloud Storage, bukan Drive, gunakan:
Editor Kode (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()
Seperti ekspor ke Drive, mulai ekspor dari tab Tugas. Lokasi bucket Cloud Storage dapat memengaruhi performa dan biaya penyimpanan. Lihat entri FAQ tentang pertimbangan lokasi untuk mengetahui informasi selengkapnya.
ke Aset
Untuk mengekspor gambar ke aset di folder aset Earth Engine, gunakan
Export.image.toAsset(). Untuk mengelola aset Earth Engine, atau memeriksa jumlah
kuota penyimpanan yang digunakan, gunakan Pengelola Aset. Contoh berikut mengilustrasikan ekspor bagian gambar Landsat menggunakan kebijakan piramida yang berbeda untuk band yang sama. Kebijakan piramida menunjukkan cara Earth Engine menghitung versi aset dengan resolusi lebih rendah. Pelajari lebih lanjut cara Earth Engine menangani beberapa resolusi dalam dokumen skala.
Editor Kode (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()
Anda dapat memberikan kebijakan piramida default untuk setiap rentang yang tidak
ditentukan secara eksplisit menggunakan kunci '.default'. Anda juga dapat meneruskan kunci '.default' saja. Misalnya, untuk membuat semua band secara default menggunakan kebijakan piramida 'sample', gunakan {'.default': 'sample'}.
Parameter konfigurasi
Perhatikan bahwa kamus parameter konfigurasi yang diteruskan ke Export.image
mencakup scale (dalam meter) dan wilayah ekspor sebagai ee.Geometry. Gambar yang diekspor akan mencakup area yang ditentukan dengan piksel pada skala yang ditentukan. Jika tidak ditentukan secara eksplisit, CRS output akan diambil dari
band pertama gambar yang akan diekspor.
Anda juga dapat menentukan dimensions, crs, dan/atau crsTransform dari
gambar yang diekspor. Lihat glosarium untuk mengetahui informasi selengkapnya
tentang crs dan crsTransform. Misalnya, untuk mendapatkan blok piksel yang selaras dengan tepat ke sumber data lain, tentukan dimensions, crs, dan crsTransform.
Untuk mendapatkan blok piksel dengan ukuran yang telah ditentukan (misalnya gambar thumbnail 256x256) yang mencakup suatu wilayah, tentukan dimensions dan region.
Anda dapat menentukan format output gambar (jika tujuannya bukan toAsset()) dengan
parameter fileFormat ('GeoTIFF' secara default).
Parameter formatOptions
Opsi konfigurasi lainnya ditetapkan dengan parameter formatOptions, yang
harus berupa kamus yang diberi kunci oleh opsi format lain, khusus untuk setiap
fileFormat seperti yang dijelaskan di bawah.
GeoTIFF
GeoTIFF yang dioptimalkan untuk cloud
Untuk mengekspor GeoTIFF yang dioptimalkan untuk cloud, teruskan literal JavaScript untuk formatOptions dengan kunci cloudOptimized ditetapkan ke true. Melanjutkan contoh sebelumnya:
Editor Kode (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()
GeoTIFF yang dioptimalkan untuk cloud dapat dimuat ulang dari Cloud Storage ke Image atau didaftarkan sebagai aset. Lihat
ringkasan GeoTIFF yang dioptimalkan untuk cloud (COG)
untuk mengetahui spesifikasi dan opsi ekspor lengkap.
Nodata
Tentukan nilai nodata GeoTIFF menggunakan kunci noData dalam parameter formatOptions. Contoh:
Editor Kode (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()
Perhatikan bahwa nilai nodata harus berada dalam rentang yang valid untuk
PixelType gambar. Anda dapat memeriksa PixelType dengan
mencetak metadata gambar dan melihat
properti data_type band pertama. Anda juga dapat menetapkan PixelType gambar
dengan mentransmisikan data ke jenis tertentu menggunakan metode gambar toShort() atau
toInt(), misalnya.
TFRecord
Lihat halaman Format data TFRecord.
maxPixels
Parameter maxPixels dimaksudkan untuk mencegah ekspor yang sangat besar dibuat secara tidak sengaja. Jika nilai default terlalu rendah untuk gambar output yang Anda inginkan, Anda dapat meningkatkan maxPixels. Contoh:
Export.image.toDrive({ image: landsat, description: 'maxPixelsExample', crs: projection.crs, crsTransform: projection.transform, region: geometry, maxPixels: 1e9 });
Ekspor file besar
Jika gambar output berukuran besar, gambar tersebut akan diekspor sebagai beberapa file. Jika Anda mengekspor ke GeoTIFF, gambar akan dibagi menjadi beberapa ubin. Nama file setiap
petak akan dalam bentuk baseFilename-yMin-xMin dengan xMin dan yMin adalah
koordinat setiap petak dalam kotak pembatas keseluruhan gambar yang
diekspor.
Jika Anda mengekspor ke TFRecord, file akan ditambahkan oleh -00000,
-00001,... -0000N untuk file N+1. Mempertahankan urutan ini penting jika Anda ingin melakukan inferensi pada file dan mengupload prediksi kembali ke Earth Engine sebagai gambar. Lihat mengupload gambar sebagai file TFRecord untuk mengetahui detailnya.
Mengekspor gambar seperti yang muncul di Editor Kode
Untuk mengekspor gambar seperti yang dirender di layar di Earth Engine, buat gambar visualisasi seperti yang ditunjukkan di bagian Gambar visualisasi dan Penggabungan dan Mosaik. Karena Editor Kode menggunakan CRS 'EPSG:3857', tentukan CRS 'EPSG:3857' dalam ekspor untuk mendapatkan gambar dalam proyeksi yang sama dengan yang ditampilkan di peta Editor Kode. Lihat bagian
tentang mengonfigurasi ekspor gambar untuk
mengetahui detail tentang cara menentukan resolusi dan sistem koordinat output.