Membuat Kurva Pantulan Spektral dalam Earth Engine (GEE-016)

Azzadiva Sawungrana
3 min readApr 23, 2020

--

Kali ini kita akan memperdalam tentang pengertian terhadap respon spektral dan meningkatkan keterampilan kita dalam menggunakan Earth Engine.

  1. Arahkan ke area yang akan Anda analisis. Kali ini saya memilih Kabupaten Klaten
  2. Tempatkan sebuah titik dengan nama “titik_roi”
  3. Jalankan script di bawah ini untuk mengambil citra dengan sedikit awan untuk jangka waktu tertentu (sesuaikan dengan kebutuhan)
//Filter image collection menurut titik pilihan, tanggal, dan tutupan awan
var image = ee.Image(ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
.filterBounds(titik_roi)
.filterDate('2019-06-01', '2019-07-31')
.sort('CLOUD_COVER')
.first());
//Buat citra warna natural
Map.addLayer(image, {bands: ['B4', 'B3', 'B2'],min:0, max: 3000}, 'Warna natural');

Pertama, kita akan memilih objek yang akan kita lihat kurva spektralnya. Dalam kasus ini saya akan menggunakan tubuh air, pepohonan, sawah, lahan terbuka, dan lahan terbangun. Buat polygon untuk memilih ketiga objek ini dengan tools dalam Earth Engine.

Hal yang tidak boleh Anda lewatkan adalah : mengganti nama menjadi objek yang Anda interpretasi, ubah geometry menjadi feature, lalu tambahkan properties berupa “label” dengan nama objek “air”. Lakukan ini kepada objek-objek lain.

//Pilih band yang akan digunakan untuk feature collection
var subset = citra.select('B[1-7]')
var sampel = ee.FeatureCollection([air,pepohonan,lahan_terbangun,lahan_terbuka,sawah]);

Setelah melakukan langkah-langkah di atas kita dapat membuat grafik respon spektral ke dalam konsol. Dalam melakukan ini kita menggunakan image.regions untuk memetakan berdasarkan kelas dan ee.Reducer.mean() untuk memperoleh rata-rata nilai pantilan untuk setiap kelas pada setiap band.

//Buat grafik scatter
var grafik = ui.Chart.image.regions(
subset, sampel, ee.Reducer.mean(), 10, 'label')
.setChartType('ScatterChart');
print(grafik);

Untuk mempermudah dalam membaca grafik ini, Anda bisa melakukan perubahan tampilan.

// Kustomisasi tampilan
var plotOptions = {
title: 'Nilai Pantulan Landsat-8 SR',
hAxis: {title: 'Panjang Gelombang (nm)'},
vAxis: {title: 'Pantulan'},
lineWidth: 1,
pointSize: 4,
series: {
0: {color: 'blue'}, // Air
1: {color: 'green'}, // Pepohonan
2: {color: 'red'}, // Lahan Terbangun
3: {color: 'yellow'}, // Lahan Terbuka
4: {color: 'grey'}, // Sawah
}};

Lalu kita dapat memberikan keterangan panjang gelombang aktual pada sumbu x dengan menggunakan

// Membuat keterangan panjang gelombang pada sumbu x
var pjgelombang = [443, 482, 562, 655, 865, 1609, 2201];

Setelah itu buat grafik kedua dari Panjang Gelombang.

// Buat grafik kedua
var grafik2 = ui.Chart.image.regions(subset, sampel, ee.Reducer.mean(), 10, 'label', pjgelombang)
.setChartType('ScatterChart')
.setOptions(plotOptions);
// Tampilkan grafik kedua
print(grafik2);

Hasilnya adalah sebagai berikut :

--

--

No responses yet