Koleksi Gambar

Kumpulan gambar mengacu pada sekumpulan gambar Earth Engine. Misalnya, kumpulan semua gambar Landsat 8 adalah ee.ImageCollection. Seperti gambar SRTM yang telah Anda gunakan, koleksi gambar juga memiliki ID. Seperti pada gambar tunggal, Anda dapat menemukan ID koleksi gambar dengan menelusuri katalog data Earth Engine dari Editor Kode dan melihat halaman detail set data. Misalnya, telusuri 'landsat 8 toa' dan klik hasil pertama, yang harus sesuai dengan set data USGS Landsat 8 Collection 1 Tier 1 TOA Reflectance. Impor set data tersebut menggunakan tombol Impor dan ganti namanya menjadi l8, atau salin ID ke konstruktor koleksi gambar:

Code Editor (JavaScript)

var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA');

Memfilter koleksi gambar

Perlu diperhatikan bahwa koleksi ini merepresentasikan setiap adegan Landsat 8 yang dikumpulkan di seluruh Bumi. Sering kali berguna untuk mengekstrak satu gambar, atau subset gambar, yang akan digunakan untuk menguji algoritma. Cara membatasi pengumpulan menurut waktu atau ruang adalah dengan memfilternya. Misalnya, untuk memfilter koleksi ke gambar yang mencakup lokasi tertentu, pertama-tama tentukan area yang Anda minati dengan titik (atau garis atau poligon) menggunakan alat gambar geometri. Geser ke area yang Anda minati, arahkan kursor ke Impor Geometri (jika Anda sudah menentukan satu atau beberapa geometri) dan klik +lapisan baru (jika Anda belum melakukan impor, lanjutkan ke langkah berikutnya). Dapatkan alat menggambar 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:

Code Editor (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. Jelajahi tab Dokumen di Editor Kode untuk mempelajari metode ini lebih lanjut. Argumen ke filterBounds() adalah titik yang Anda digitalkan dan argumen ke 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, jadi Anda tidak dapat, misalnya, mencetak seluruh koleksi l8. Setelah menjalankan metode print(), Anda dapat memeriksa kumpulan 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 gambar tertentu. Cara lain yang lebih terprogram untuk mendapatkan setiap gambar untuk dianalisis adalah dengan mengurutkan koleksi untuk mendapatkan gambar terbaru, terlama, atau optimal relatif terhadap beberapa properti metadata. Misalnya, dengan memeriksa objek gambar dalam koleksi gambar cetak, Anda mungkin telah mengamati properti metadata yang disebut CLOUD_COVER. Anda dapat menggunakan properti tersebut untuk mendapatkan gambar dengan awan paling sedikit pada tahun 2015 di area yang Anda minati:

Code Editor (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 memilih tiga band pertama dari gambar dan menampilkannya sebagai merah, hijau, dan biru secara default, meregangkannya 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 memuaskan:

Code Editor (JavaScript)

Map.centerObject(scene, 9);
Map.addLayer(scene, {}, 'default RGB');

Perhatikan bahwa pertama-tama, peta dipusatkan pada gambar dengan skala zoom 9. Kemudian, gambar ditampilkan dengan objek kosong ({}) untuk parameter visParams (lihat dokumen Map.addLayer() untuk mengetahui detailnya). Akibatnya, gambar ditampilkan dengan visualisasi default: tiga band pertama dipetakan ke R, G, B, masing-masing, dan direntangkan ke [0, 1] karena band 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' 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 rentang, di sini cukup menentukan 0.3 sebagai max dan menggunakan nilai default nol untuk parameter min. Menggabungkan parameter visualisasi menjadi satu objek dan menampilkan:

Code Editor (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 ketahui, objek tersebut akan berguna saat Anda memvisualisasikan koleksi gambar.

Tutorial_api_05_true_color.png
Gambar 5. Gambar reflektansi TOA Landsat 8 sebagai komposit warna asli, direntangkan ke [0, 0.3].

Coba mainkan visualisasi berbagai band. Kombinasi favorit lainnya adalah 'B5', 'B4', dan 'B3' yang disebut komposit warna palsu. Komposit warna palsu menarik lainnya dijelaskan di sini.

Karena Earth Engine dirancang untuk melakukan analisis berskala besar, Anda tidak hanya dapat bekerja dengan satu adegan. 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,

Code Editor (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 pemeriksa.

Jika Anda memperkecil tampilan cukup jauh, Anda mungkin melihat beberapa awan dalam mozaik. Saat Anda menambahkan ImageCollection ke peta, ImageCollection tersebut ditampilkan sebagai komposit nilai terbaru, yang berarti hanya piksel terbaru yang ditampilkan (seperti memanggil mosaic() pada koleksi). Itulah sebabnya Anda dapat melihat diskontinuitas antara jalur yang diperoleh pada waktu yang berbeda. Itulah juga sebabnya banyak area mungkin tampak berawan. Di halaman berikutnya, pelajari cara mengubah komposisi gambar untuk menghilangkan awan yang mengganggu tersebut.