Mengekspor Diagram dan Gambar

Earth Engine adalah alat analisis yang canggih, tetapi Anda mungkin perlu mengekspor hasil analisis untuk menyematkan diagram, gambar, peta, dll. ke dalam laporan atau publikasi. Di bagian ini, Anda akan mempelajari cara membuat diagram dan gambar yang dapat diekspor dan dilihat di software lain. Ingat bahwa di bagian sebelumnya, Anda menggunakan kode seperti berikut untuk menambahkan band NDVI ke setiap gambar dalam koleksi, dengan variabel l8 mereferensikan koleksi reflektansi TOA Landsat 8:

Editor Kode (JavaScript)

// Import the Landsat 8 TOA image collection.
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA');

// Map a function over the Landsat 8 TOA collection to add an NDVI band.
var withNDVI = l8.map(function(image) {
  var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');
  return image.addBands(ndvi);
});

Posisi di Tangga Lagu

Misalnya, yang Anda inginkan sebenarnya adalah diagram NDVI dari waktu ke waktu di lokasi tertentu. Untuk membuat diagram tersebut, langkah pertama adalah memilih lokasi yang diinginkan. Buat titik dengan mengambil alat gambar titik () dan buat geometri titik tunggal di area yang Anda minati. (Jika Anda sudah memiliki impor, arahkan kursor ke Geometry Imports dan klik + new layer terlebih dahulu). Temukan titik di area pertanian, hutan gugur, padang rumput tahunan, atau beberapa penutup lahan lainnya dengan siklus tahunan). Beri nama impor roi. (Lihat halaman ini untuk mengetahui informasi tentang cara membuat geometri secara terprogram).

Sekarang, mari kita gunakan titik roi untuk membuat diagram NDVI dari waktu ke waktu dalam piksel di bawah titik tersebut. Cara membuat diagram di Earth Engine adalah dengan paket ui.Chart. (Pelajari lebih lanjut cara membuat diagram di Earth Engine). Secara khusus, untuk membuat diagram dari waktu ke waktu, Anda dapat menggunakan metode ui.Chart.image.series():

Editor Kode (JavaScript)

// Create a chart.
var chart = ui.Chart.image.series({
  imageCollection: withNDVI.select('NDVI'),
  region: roi,
  reducer: ee.Reducer.first(),
  scale: 30
}).setOptions({title: 'NDVI over time'});

// Display the chart in the console.
print(chart);

Untuk geometri roi, kami memilih titik di area pertanian, sehingga menghasilkan diagram yang terlihat seperti Gambar 10. Perhatikan bahwa parameter untuk konstruktor diagram mencakup reducer dan skala seperti reduceRegion(). Karena titik yang kita berikan sebagai region hanya dapat berpotongan dengan satu piksel, cukup gunakan pereduksi 'first'. Jika Anda memiliki region yang lebih besar, Anda harus menggunakan 'mean' atau reducer lain yang menentukan cara menggabungkan piksel. Perhatikan juga bahwa untuk memvisualisasikan diagram, Anda hanya perlu mencetaknya.

Tutorial_api_10_ndvi_chart.png
Gambar 10. Diagram NDVI Landsat dari waktu ke waktu pada geometri titik.

Digresi: Masking Cloud Sederhana untuk Landsat

Sesuatu yang mungkin Anda perhatikan tentang diagram ini adalah deret waktu nilai NDVI pada titik tersebut terlihat sedikit bising. Hal ini mungkin disebabkan oleh awan. Untuk mengurangi efek ini, Earth Engine menyertakan algoritme penyamaran awan untuk sensor Landsat dengan band termal: ee.Algorithms.Landsat.simpleCloudScore(). Fungsi ini menggunakan gambar pantulan TOA Landsat sebagai input dan menambahkan band bernama cloud yang merupakan indeks tingkat awan dalam piksel dari 0 hingga 100, masing-masing dari yang paling sedikit hingga yang paling banyak awan. Dengan memodifikasi fungsi yang Anda petakan pada koleksi, Anda dapat menggunakan nilai minimum arbitrer (20) pada indeks cloud untuk sedikit membersihkan diagram:

Editor Kode (JavaScript)

var cloudlessNDVI = l8.map(function(image) {
  // Get a cloud score in [0, 100].
  var cloud = ee.Algorithms.Landsat.simpleCloudScore(image).select('cloud');

  // Create a mask of cloudy pixels from an arbitrary threshold.
  var mask = cloud.lte(20);

  // Compute NDVI.
  var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');

  // Return the masked image with an NDVI band.
  return image.addBands(ndvi).updateMask(mask);
});

print(ui.Chart.image.series({
  imageCollection: cloudlessNDVI.select('NDVI'),
  region: roi,
  reducer: ee.Reducer.first(),
  scale: 30
}).setOptions({title: 'Cloud-masked NDVI over time'}));

Hasil yang dimasking cloud diilustrasikan dalam Gambar 11. Perhatikan bahwa deret waktu terlihat sedikit lebih halus, tetapi mungkin masih berisi piksel yang terpengaruh oleh awan. Sesuaikan nilai minimum pada indeks cloud dan amati deret waktu yang dipetakan untuk mempelajari pengaruh nilai minimum ini terhadap hasil Anda.

Tutorial_api_11_cloudless_chart.png
Gambar 11. Diagram NDVI yang diselimuti awan dari waktu ke waktu pada geometri titik.

Mengekspor Gambar

Anda telah melihat cara mengekspor diagram data yang dihitung oleh Earth Engine, tetapi bagaimana dengan seluruh gambar? Misalnya, Anda telah membuat komposit piksel terhijau seperti yang dibahas di bagian sebelumnya:

Editor Kode (JavaScript)

var greenest = cloudlessNDVI.qualityMosaic('NDVI');

Satu-satunya perbedaan dalam kode ini dari yang Anda lakukan sebelumnya adalah sekarang kita menggunakan koleksi yang dimasker cloud. Anda dapat mengekspor subset (ditentukan oleh region) dari data ini menggunakan paket Export. (Pelajari lebih lanjut cara mengekspor data raster dan vektor dari Earth Engine.) Misalnya, untuk mengekspor gambar yang dapat disematkan dengan mudah di dokumen lain, mari kita buat gambar visualisasi, seperti yang telah Anda lakukan sebelumnya, dan Ekspor ke folder Google Drive Anda:

Editor Kode (JavaScript)

// Create a 3-band, 8-bit, color-IR composite to export.
var visualization = greenest.visualize({
  bands: ['B5', 'B4', 'B3'],
  max: 0.4
});

// Create a task that you can launch from the Tasks tab.
Export.image.toDrive({
  image: visualization,
  description: 'Greenest_pixel_composite',
  scale: 30
});

Saat Anda menjalankan kode ini, perhatikan bahwa tugas baru dibuat di tab Tasks. Untuk meluncurkan dialog konfigurasi ekspor, klik tombol RUN di tab Tasks. Setelah mengonfigurasi tugas, klik tombol Run pada dialog untuk memulai ekspor. Namun, sebelum Anda melakukannya, perhatikan hal berikut:

Alasan Anda harus berhati-hati saat mengekspor tanpa argumen region adalah jika Anda menetapkan nilai yang relatif kecil untuk scale, dan Peta diperkecil ke area yang luas, Anda akan mengekspor gambar yang berpotensi sangat besar ke folder Drive Anda. Lihat dokumen Export.image.toDrive() di tab Docs untuk mengetahui detail selengkapnya dan daftar parameter konfigurasi yang memungkinkan.

Demikianlah pengantar Earth Engine API. Anda kini telah melihat sebagian besar fungsi Earth Engine yang paling umum dan seharusnya dapat melanjutkan ke analisis yang lebih kompleks dengan percaya diri. Pastikan untuk membaca dokumen dan menelusuri forum untuk mendapatkan jawaban atas pertanyaan lainnya. Selamat membuat kode!