Sebelumnya, Anda telah mempelajari cara mendapatkan setiap scene Landsat dengan melakukan sesuatu seperti ini,
dengan l8
dan point
adalah impor yang merepresentasikan kumpulan TOA Landsat 8
dan geometri area yang diminati:
Code Editor (JavaScript)
// Define a point of interest. Use the UI Drawing Tools to import a point // geometry and name it "point" or set the point coordinates with the // ee.Geometry.Point() function as demonstrated here. var point = ee.Geometry.Point([-122.292, 37.9018]); // Import the Landsat 8 TOA image collection. var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA'); // Get the least cloudy image in 2015. var image = ee.Image( l8.filterBounds(point) .filterDate('2015-01-01', '2015-12-31') .sort('CLOUD_COVER') .first() );
Sekarang, misalkan Anda ingin menghitung gambar Normalized Difference Vegetation Index (NDVI) dari gambar Landsat. Vegetasi memantulkan cahaya di bagian inframerah dekat (NIR) spektrum elektromagnetik dan menyerap cahaya di bagian merah (Pelajari lebih lanjut pantulan NIR dari vegetasi). NDVI menggunakan ini untuk membuat satu nilai yang secara kasar mencerminkan aktivitas fotosintesis yang terjadi pada piksel. Perhitungannya adalah (NIR - merah) / (NIR + merah). Hal ini menghasilkan angka antara 1 dan -1, dengan piksel yang memiliki aktivitas fotosintetik tinggi memiliki NDVI tinggi. Berikut salah satu cara untuk menghitung NDVI di Earth Engine:
Code Editor (JavaScript)
// Compute the Normalized Difference Vegetation Index (NDVI). var nir = image.select('B5'); var red = image.select('B4'); var ndvi = nir.subtract(red).divide(nir.add(red)).rename('NDVI'); // Display the result. Map.centerObject(image, 9); var ndviParams = {min: -1, max: 1, palette: ['blue', 'white', 'green']}; Map.addLayer(ndvi, ndviParams, 'NDVI image');
Hasilnya akan terlihat seperti Gambar 8. Perhatikan bahwa kita menggunakan fungsi select()
yang Anda pelajari di bagian sebelumnya tentang
masking untuk mendapatkan band NIR dan merah, lalu menghitung NDVI menggunakan operator matematika gambar
yang juga telah Anda lihat sebelumnya di
bagian tentang matematika Image
. Terakhir, tampilkan gambar dengan palet. Di sini
kita menggunakan nama warna, bukan string hex dalam palet. (Lihat
referensi eksternal
tentang warna CSS ini untuk mengetahui detailnya.)

Operasi perbedaan yang dinormalisasi sangat umum dalam penginderaan jauh, ada
fungsi pintasan pada
ee.Image
yang berguna untuk menyederhanakan kode dalam contoh sebelumnya:
Code Editor (JavaScript)
var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');
Memetakan Fungsi ke Koleksi
Sekarang, misalkan Anda ingin menambahkan NDVI ke setiap gambar dalam koleksi gambar. Cara melakukannya di Earth Engine adalah dengan map()
fungsi pada koleksi.
Jangan keliru memahami map()
dengan objek Map
. Yang pertama adalah metode
pada koleksi, dan menggunakan peta dalam
arti komputasi paralel
untuk menerapkan fungsi ke setiap elemen dalam koleksi. Fungsi ini menentukan
operasi yang akan diterapkan ke setiap elemen dalam koleksi. Anda telah melihat
fungsi sederhana dalam tutorial JavaScript, tetapi
sekarang kita akan membuat fungsi yang menyertakan fungsi Earth Engine. Misalnya,
salin kode NDVI sebelumnya ke dalam fungsi yang menampilkan gambar input dengan band NDVI:
Code Editor (JavaScript)
var addNDVI = function(image) { var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI'); return image.addBands(ndvi); }; // Test the addNDVI function on a single image. var ndvi = addNDVI(image).select('NDVI');
Kode ini mungkin tidak seefisien penghitungan NDVI untuk satu gambar, tetapi
fungsi ini dapat digunakan sebagai argumen untuk map()
guna menambahkan band NDVI
ke setiap gambar dalam koleksi. Sering kali ada baiknya menguji fungsi terlebih dahulu pada satu
gambar, untuk memastikan fungsi tersebut berperilaku seperti yang Anda harapkan. Setelah menguji fungsi
pada setiap gambar dan menentukan bahwa fungsi tersebut melakukan apa yang Anda inginkan, Anda dapat memetakannya
ke seluruh koleksi:
Code Editor (JavaScript)
var withNDVI = l8.map(addNDVI);
Untuk memverifikasi bahwa tindakan ini memang menempatkan band NDVI di setiap gambar dalam koleksi ini,
Anda dapat menambahkan koleksi withNDVI
ke peta dan mengkueri lokasi acak
dengan tab Pemeriksa. Anda akan melihat bahwa setiap gambar dalam
koleksi kini memiliki band bernama NDVI
.
Membuat komposit piksel paling hijau
Setelah Anda membuat koleksi gambar yang setiap gambarnya memiliki band NDVI, kita dapat
menjelajahi cara baru untuk membuat komposit: qualityMosaic()
. Anda mungkin melihat
diskontinuitas antara jalur Landsat, bahkan dalam komposit piksel median. Sebagian alasan
hal tersebut mungkin disebabkan oleh perbedaan
fenologi sebagai akibat dari gambar di
jalur yang berdekatan yang dikumpulkan pada waktu yang berbeda (khususnya, selisih 8 hari). Salah satu cara untuk meminimalkan hal ini adalah dengan mencoba menetapkan nilai piksel dalam komposit dari tahap fenologi yang kurang lebih sama, misalnya waktu kehijauan maksimum tanaman (saat daun tumbuh dan aktif secara fotosintetik). Jika kita membiarkan kehijauan maksimum ditentukan oleh NDVI maksimum, kita dapat menggunakan qualityMosaic()
untuk membuat komposit yang setiap pikselnya berisi piksel NDVI maksimum dari koleksi.
Sekarang Anda dapat memanfaatkan band NDVI yang ditambahkan dalam koleksi withNDVI
Anda:
Code Editor (JavaScript)
// Make a "greenest" pixel composite. var greenest = withNDVI.qualityMosaic('NDVI'); // Display the result. var visParams = {bands: ['B4', 'B3', 'B2'], max: 0.3}; Map.addLayer(greenest, visParams, 'Greenest pixel composite');
Hasil kode ini akan terlihat seperti Gambar 9. Dengan membandingkan Gambar 9 dengan
komposit median yang ditampilkan dalam Gambar 6,
perhatikan bahwa komposit piksel paling hijau memang jauh lebih hijau. Namun, pemeriksaan
cermat terhadap badan air akan memunculkan masalah yang berbeda. Secara khusus,
perairan kini tampak berawan. Hal ini disebabkan oleh cara kerja metode qualityMosaic()
: di setiap lokasi, seluruh deret waktu diperiksa dan piksel dengan nilai maksimum dalam band NDVI ditetapkan sebagai nilai gabungan. Karena NDVI lebih tinggi di atas
awan daripada air, area perairan akan mendapatkan piksel berawan, sementara area yang ditumbuhi vegetasi akan tampak hijau
karena NDVI paling tinggi saat vegetasi dalam piksel aktif secara fotosintetik.

Sekarang Anda telah melihat beberapa cara untuk menggabungkan dan menyusun gambar dalam Earth Engine. Anda dapat membuat komposit nilai terbaru, median, atau piksel terhijau dari gambar yang difilter menurut waktu dan tempat atau semua gambar dalam koleksi. Anda telah mempelajari cara melakukan komputasi pada gambar dan mengekstrak informasi. Halaman berikutnya membahas cara mendapatkan informasi dari Earth Engine, misalnya sebagai diagram atau set data yang diekspor ke folder Google Drive Anda.