Membuat Komposit Landsat 8 yang Bersih dari Awan di Earth Engine (GEE-010)
Di artikel sebelumnya, Menampilkan Citra dalam Image Collections dalam Earth Engine (GEE-009) , kita telah membahas tentang pembuatan komposit. Namun banyak awannya, nah bagaimanakah cara mengatasinya?
Permasalahan dalam komposit sebelumnya adalah kita mengambil piksel yang paling baru yang kita panggil sehingga yang ditampilkan bukanlah yang paling bersih namun paling mendekati tanggal terakhir. Nah, dengan memahami konsep ini kita dapat mengubahnya dengan cara menggunakan perintah reduce dalam ImageCollection.
Membuat Komposit dengan Reducer
Sebelumnya Anda telah mempelajari cara menggunakan reducer untuk mendapatkan data statistik dari sebuah citra. Reducer yang kita gunakan tersebut merupakan reducer spasial, pembatasan citra secara nilai spasialnya. Kita juga dapat menggunakan reducer secara temporal untuk membatasi citra secara waktu. Perhatikan kalimat berikut dengan baik, tipe reducer yang anda gunakan menentukan bagaimana Earth Engine memperlakukan piksel yang bertampalan.
Landsat 8 mengunjungi titik yang sama di atas permukaan bumi setiap 16 hari sekali. Artinya, dalam jangka waktu satu tahun, Anda akan mendapatkan kurang lebih 24 citra (atau lebih jika terdapat tampalan). Setiap piksel dalam peta (yang kita tampilkan) didapatkan dari tumpulan piksel-piksel yang ditampilkan.
Dengan sekonyong-konyong menambahkan image collection berarti Anda memilih piksel terbaru, piksel paling terakhir dalam tumpukan citra. Hal ini dapat diubah dengan menggunakan reducer. Anda dapat menggunakan nilai median untuk ini. Gunanya adalah untuk mengurangi awan (yang memiliki nilai pantulan sangat tinggi / putih) dan mengurangi bayangan (yang memiliki nilai pantulan sangat rendah / hitam). Jika sebuah image collection dikurangi menggunakan reducer median maka kita akan memilih nilai median dari setiap band dalam waktu yang kita tentukan menggunakan penyaring waktu.
// panggil dulu landsat 8 toanya
var l8toa = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA');// ambil nilai median
var median = l8toa.filterDate('2019-01-01', '2019-12-31').median();// buat visualisasi warna nyata
var visualisasi = {bands: ['B5', 'B3', 'B2'], max: 0.3};// tampilkan visualisasinya
Map.addLayer(median, visualisasi, 'median');
Perhatikan hal yang baru. Ya, fokuslah kepada perintah median(). Seperti perintah penyaringan, median() ini adalah jalan pintas dari perintah reduce() yang lebih luas untuk image collection yang memerlukan perintah ee.Reducer() sebagai argumennya. Bacalah package ee.Reducer yang terdapat dalam tab Docs dalam Code Editor untuk melihat semua daftar reducer dalam Earth Engine. Saat Anda mempertimbangkan reducer yang akan dipilih untuk Image Collection, harap diingat bahwa outputnya adalah sebuah citra, sehingga reducer dengan output bukan angka, seperti histogram atau toList tidak akan bekerja dengan image collection.
Jika Anda zoom out komposit hasil median tadi, Anda akan mendapatkan nilai komposit yang cenderung lebih baik dari yang sebelumnya. Nah, ada baiknya untuk mempertimbangkan opsi lain selain median untuk menentukan metode pengurangan tutupan awan di citra. Earth Engine telah membuat seluruh koleksi Landsat 8 di Indonesia dan menghitung median dari setiap piksel. Berapa lama jika Anda menggunakan pengolah citra Anda sendiri?