Anda dapat mengekspor gambar dari Earth Engine dalam GeoTIFF atau TFRecord. Lihat Parameter Konfigurasi untuk 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 projection yang akan digunakan dalam ekspor berikut. Kita menggunakan parameter crs
untuk menentukan sistem koordinat,
dan parameter crsTransform
untuk menentukan petak piksel secara akurat. 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()
Setelan scale
Sebagai pintasan, Anda dapat menentukan parameter scale
dan Earth Engine akan
menghitung parameter crsTransform
untuk Anda. Namun, hanya menetapkan skala
gambar tidak menentukan asal proyeksi, dan dapat mengakibatkan
gambar yang bergeser relatif terhadap gambar lain dengan ukuran piksel yang sama.
Alasan potensi pergeseran 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 dengan asal proyeksi di sudut piksel. Konvensi ini berbeda dengan parameter terjemahan
yang digunakan oleh beberapa penyedia data, yang menggunakan petak yang dioffset dari
asal proyeksi. Misalnya, gambar Landsat yang disediakan oleh USGS menggunakan
parameter terjemahan yang dioffset sebesar 1/2 piksel dari origin Proyeksi (offset 15 m untuk band 30 m), sedangkan gambar Sentinel-2 yang disediakan oleh ESA
menggunakan parameter terjemahan yang selaras dengan origin Proyeksi. Jika
crsTransform
yang ditentukan dalam ekspor tidak cocok dengan crsTransform
gambar asli, piksel output akan diambil sampelnya ulang (menggunakan tetangga terdekat secara
default), yang akan membuat gambar yang dihasilkan bergeser secara 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
pada petak.
ke Drive
Untuk mengekspor gambar ke akun Drive, gunakan Export.image.toDrive()
. Misalnya, untuk mengekspor bagian gambar Landsat, tentukan region 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
Pengelola Tugas lebih lanjut 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 Tasks. 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 beresolusi 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 band 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
menyertakan scale
(dalam meter) dan region ekspor sebagai ee.Geometry
. Gambar
yang diekspor akan mencakup wilayah 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
gambar yang diekspor. Lihat glosarium untuk mengetahui informasi selengkapnya
tentang crs
dan crsTransform
. Misalnya, untuk mendapatkan blok piksel yang sejajar 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 cloud
Untuk mengekspor GeoTIFF yang dioptimalkan 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
. Lihat
dokumen ringkasan Image
untuk
mengetahui detailnya.
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 menetapkanPixelType
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 ubin. Nama file setiap ubin akan berbentuk baseFilename-yMin-xMin
dengan xMin
dan yMin
adalah koordinat setiap ubin dalam keseluruhan kotak pembatas gambar yang diekspor.
Jika Anda mengekspor ke TFRecord, file akan ditambahkan dengan -00000
,
-00001
,... -0000N
untuk file N+1. Menjaga 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 Code Editor
Untuk mengekspor gambar seperti yang dirender di layar di Earth Engine, buat gambar visualisasi
seperti yang ditunjukkan di bagian Gambar
visualisasi dan Komposisi dan
Mozaik. 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.