Koleksi gambar mengacu pada kumpulan gambar Earth Engine. Misalnya, koleksi semua gambar Landsat 8 adalah ee.ImageCollection. Seperti citra SRTM yang telah Anda gunakan, koleksi gambar juga memiliki ID. Seperti halnya gambar tunggal,
Anda dapat menemukan ID koleksi gambar dengan menelusuri
Data Catalog Earth Engine dari
Editor Kode dan melihat halaman detail set data. Misalnya, telusuri
'landsat 8 toa' dan klik hasil pertama, yang seharusnya sesuai dengan set data
USGS Landsat 8 Collection 1 Tier 1 TOA Reflectance.
Impor set data tersebut menggunakan tombol Import dan ganti namanya menjadi l8, atau salin ID ke dalam konstruktor koleksi gambar:
Editor Kode (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA');
Memfilter koleksi gambar
Perlu diperhatikan bahwa koleksi ini mewakili setiap scene Landsat 8 yang dikumpulkan,
di seluruh Bumi. Sering kali, mengekstrak satu gambar, atau subset gambar, berguna untuk menguji algoritma. Cara membatasi koleksi berdasarkan waktu atau ruang adalah dengan memfilternya. Misalnya, untuk memfilter koleksi ke gambar yang mencakup lokasi tertentu, tentukan terlebih dahulu area minat Anda dengan titik (atau garis atau poligon) menggunakan alat gambar geometri. Geser ke area yang Anda minati, arahkan kursor ke Geometry Imports (jika Anda sudah menentukan satu atau beberapa geometri) dan klik +new layer (jika Anda tidak memiliki impor, lanjutkan ke langkah berikutnya). Dapatkan alat gambar titik
(
) dan buat titik di area
yang Anda minati. Beri nama impor point. Sekarang, filter koleksi l8
untuk mendapatkan hanya gambar yang berpotongan dengan titik, lalu tambahkan filter kedua untuk
membatasi koleksi hanya pada gambar yang diperoleh pada tahun 2015:
Editor Kode (JavaScript)
var spatialFiltered = l8.filterBounds(point); print('spatialFiltered', spatialFiltered); var temporalFiltered = spatialFiltered.filterDate('2015-01-01', '2015-12-31'); print('temporalFiltered', temporalFiltered);
Di sini, filterBounds() dan filterDate() adalah metode pintasan untuk
metode filter() yang lebih umum pada koleksi gambar, yang menggunakan
ee.Filter() sebagai argumennya. Pelajari tab Docs di Editor Kode untuk mempelajari lebih lanjut metode ini. Argumen untuk filterBounds()
adalah titik yang Anda digitalkan dan argumen untuk filterDate() adalah dua tanggal,
yang dinyatakan sebagai string.
Perhatikan bahwa Anda dapat print() koleksi yang difilter. Anda tidak dapat mencetak lebih dari
5.000 item sekaligus, sehingga Anda tidak dapat, misalnya, mencetak seluruh
koleksi l8. Setelah menjalankan metode print(), Anda dapat memeriksa koleksi yang dicetak di konsol. Perhatikan bahwa saat Anda meluaskan
ImageCollection menggunakan zippy
(), lalu meluaskan
daftar
features, Anda akan melihat daftar gambar, yang masing-masing juga dapat
diluaskan dan diperiksa. Ini adalah salah satu cara untuk menemukan ID setiap gambar. Cara lain yang lebih terprogram untuk mendapatkan gambar individual untuk analisis adalah dengan mengurutkan koleksi guna mendapatkan gambar terbaru, terlama, atau optimal yang terkait dengan beberapa properti metadata. Misalnya, dengan memeriksa objek gambar dalam koleksi gambar yang dicetak,
Anda mungkin telah mengamati properti metadata yang disebut CLOUD_COVER. Anda dapat menggunakan properti tersebut untuk mendapatkan gambar dengan tingkat awan paling sedikit pada tahun 2015 di area minat Anda:
Editor Kode (JavaScript)
// This will sort from least to most cloudy. var sorted = temporalFiltered.sort('CLOUD_COVER'); // Get the first (least cloudy) image. var scene = sorted.first();
Sekarang Anda siap menampilkan gambar.
Digresi: Menampilkan gambar RGB
Saat gambar multi-band ditambahkan ke peta, Earth Engine akan memilih tiga band pertama dari gambar tersebut dan menampilkannya sebagai merah, hijau, dan biru secara default, serta merentangkannya sesuai dengan jenis data, seperti yang dijelaskan sebelumnya. Biasanya, hal ini tidak akan berhasil. Misalnya, jika Anda menambahkan gambar Landsat
(scene dalam contoh sebelumnya) ke peta, hasilnya tidak akan memuaskan:
Editor Kode (JavaScript)
Map.centerObject(scene, 9); Map.addLayer(scene, {}, 'default RGB');
Perhatikan bahwa pertama-tama, peta dipusatkan pada gambar pada skala zoom 9. Kemudian, gambar akan
ditampilkan dengan objek kosong ({}) untuk parameter visParams
(lihat dokumen Map.addLayer() untuk mengetahui detailnya). Hasilnya, gambar ditampilkan dengan visualisasi default: tiga band pertama dipetakan ke R, G, B, dan direntangkan ke [0, 1] karena band tersebut adalah jenis data float. Artinya,
band aerosol pesisir ('B1') dirender dalam warna merah, band biru ('B2') dirender
dalam warna hijau, dan band hijau ('B3') dirender dalam warna biru. Untuk merender gambar sebagai
komposit warna asli, Anda harus memberi tahu Earth Engine untuk menggunakan band Landsat 8 'B4', 'B3',
dan 'B2' masing-masing untuk R, G, dan B. Tentukan band yang akan digunakan dengan properti bands dari objek visParams. Pelajari lebih lanjut
band Landsat di
referensi
ini.
Anda juga perlu memberikan nilai min dan max yang sesuai untuk
menampilkan reflektansi dari target permukaan Bumi yang umum. Meskipun daftar dapat digunakan untuk menentukan nilai yang berbeda untuk setiap band, di sini cukup menentukan 0.3 sebagai max dan menggunakan nilai default nol untuk parameter min. Menggabungkan parameter visualisasi menjadi satu objek dan
menampilkan:
Editor Kode (JavaScript)
var visParams = {bands: ['B4', 'B3', 'B2'], max: 0.3}; Map.addLayer(scene, visParams, 'true-color composite');
Hasilnya akan terlihat seperti Gambar 5. Perhatikan bahwa kode ini menetapkan objek parameter visualisasi ke variabel untuk kemungkinan penggunaan di masa mendatang. Seperti yang akan segera Anda temukan, objek tersebut akan berguna saat Anda memvisualisasikan koleksi gambar.
Coba visualisasikan berbagai band. Kombinasi favorit lainnya adalah 'B5', 'B4', dan 'B3' yang disebut komposit warna semu. Beberapa komposit warna semu menarik lainnya dijelaskan di sini.
Karena Earth Engine dirancang untuk melakukan analisis skala besar, Anda tidak terbatas hanya bekerja dengan satu scene. Sekarang saatnya menampilkan seluruh koleksi sebagai komposit RGB.
Menampilkan koleksi gambar
Menambahkan koleksi gambar ke peta mirip dengan menambahkan gambar ke peta. Misalnya, menggunakan gambar tahun 2016 dalam koleksi l8 dan objek visParams yang ditentukan sebelumnya,
Editor Kode (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA'); var landsat2016 = l8.filterDate('2016-01-01', '2016-12-31'); Map.addLayer(landsat2016, visParams, 'l8 collection');
Perhatikan bahwa sekarang Anda dapat memperkecil dan melihat mosaik berkelanjutan tempat citra Landsat dikumpulkan (yaitu di atas daratan). Perhatikan juga bahwa saat Anda menggunakan tab Inspector dan mengklik gambar, Anda akan melihat daftar nilai piksel (atau diagram) di bagian Pixels dan daftar objek gambar di bagian Objects pada inspector.
Jika Anda memperkecil tampilan cukup jauh, Anda mungkin melihat beberapa awan di mosaik. Saat
Anda menambahkan ImageCollection ke peta, peta akan ditampilkan sebagai komposit nilai terbaru, yang berarti hanya piksel terbaru yang ditampilkan (seperti memanggil
mosaic() pada koleksi). Oleh karena itu, Anda dapat melihat diskontinuitas antara
jalur yang diperoleh pada
waktu yang berbeda. Hal ini juga menjadi alasan mengapa banyak area mungkin tampak berawan. Di halaman berikutnya, pelajari cara
mengubah cara gambar dikomposisikan untuk menghilangkan awan yang mengganggu tersebut.