Ngetes Landsat 9 Di Google Earth Engine dan QGIS

Ngetes Landsat 9 Di Google Earth Engine dan QGIS

Seperti sudah diberitakan sebelumnya, bahwa NASA dan USGS telah resmi meluncurkan satelit Landsat 9 pada akhir September 2021 yang lalu. Pada pengumumannya waktu itu, diinformasikan bahwa citra gratisnya akan sudah bisa diunduh 100 hari setelah peluncurannta atau kira-kira awal tahun 2022 ini. Nah pada tanggal 10 Februari 2022 kemarin, USGS melalui akun IG nya secara resmi mengumumkan bahwa citra Landsat 9 arsip sudah bisa diunduh secara gratis dari laman citra USGS, seperti Earth Explorer.

Secara spesifikasi Landsat 9 sebetulnya sama saja dengan Landsat 8, tidak banyak berbeda, hanya ada peningkatan tipe bit citranya yaitu 14 bit (Landsat 8 hanya 12 bit) (baca : Selamat Datang Landsat 9). Landsat 9 ditujukan sebagai tandem Landsat 8 dan pengganti Landsat 7 yang memang bermasalah (stripping). Sehingga secara pengolahan dan fungsi maka pengolahan Landsat 9 sama persis dengan pengolahan Landsat 8. Sejak peluncurannya sampai 11 Februari 2022, satelit Landsat 9 telah merekan sebanyak 57.000 citra/scene, di mana per harinya rata-rata merekam 750 citra, dan tentunya akan terus bertambah setiap harinya.



Saat ini selain lewat laman USGS, data-data citra Landsat dari generasi pertama sampai terakhir juga bisa diakses dan bahkan diolah melalui Google Earth Engine atau GEE. Namun sampai postingan ini ditulis, secara resmi akses ke citra Landsat 9 di Google Earth Engine memang belum ada. Namun demikian ternyata versi belum resminya sudah bisa diakses. Resmi di sini dalam arti di dalam Katalog Data GEE harusnya sudah muncul, namun khusus Landsat 9 belum ada.

Katalog Landsat 9 di Laman USGS

Namun demikian di forum-forum remote sensing di media sosial, seiring sudah dipublishnya Landsat 9 untuk umum, ternyata sudah ada yang men-share cara mengakses ke arsip Landsat 9 dari GEE. Katanya sih memang tim GEE nya Google saat ini sedang mempersiapkan versi resmi akses Landsat 9. Di forum tersebut diinformasikan bahwa sudah ada 20 ribuan arsip Landsat 9 yang bisa diakses dari GEE.



Lintasbumi telah mencobanya di GEE langsung dan di GEE Plugin QGIS. Bagi yang masih baru apa itu GEE silahkan baca postingan Lintasbumi tentang GEE (Akankah Remote Sensing ‘Tradisional’ Memudar? Tandanya Sudah Sejak 10 Tahun Lalu !). Buat akun baru di https://earthengine.google.com/, klik sign up dan ikuti tahapan yang disyaratkan sampai dikonfirmasi melalui email bahwa anda eligible untuk dapat akun GEE. Jika sudah akun sudah aktif silahkan coba langkab berikut, anda tinggal masuk ke akun GEE anda, setelah itu masuk ke laman editor, buat file baru (biasanya otomatis ada untitled file. Masukan alamat untuk mengakses Landsat 9 yaitu seperti berikut;

/* 
LANDSAT/LC09/C02/T1_L2
*/

//kode lengkap

var collection = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2');

Kemudian untuk kode band dan metadata (image properties) juga masih sama dengan Landsat 8, sehingga dalam filtering koleksi citranya juga sama metadatanya. Kode band SR_, ST_, QA_, dan metadata bisa dilihat di katalog Landsat 8 GEE (sementara sampai dipublish resmi untuk Landsat 9), contoh bisa dilihat di sini. Berikut contoh filteringnya.

var dataset = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2')        //menjadi LC09
    .filterDate('2022-01-01', '2022-02-15');

print(dataset.size());

// Applies scaling factors.
function applyScaleFactors(image) {
  var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
  var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);
  return image.addBands(opticalBands, null, true)
              .addBands(thermalBands, null, true);
}

dataset = dataset.map(applyScaleFactors);

var visualization = {
  bands: ['SR_B4', 'SR_B3', 'SR_B2'],
  min: 0.0,
  max: 0.3,
};

Map.setCenter(-114.2579, 38.9275, 8);

Map.addLayer(dataset, visualization, 'True Color (432)');

Kode di atas mengikuti sepenuhnya deskripsi di L8 C2 T1 nya GEE di sini, di mana hanya merubah akses ke koleksi citranya saja menjadi Landsat 9 (LC09). Dari hasil run untuk kurun waktu 1 Januari 2022 sampai postingan ini ditulis, ada setidaknya 13.156 koleksi citra Landsat 9.

Selanjutnya tentu anda tinggal menentukan analisis apa yang akan dilakukan dengan Landsat 9 tersebut. Misalnya yang dilakukan Lintasbumi adalah membuat komposit khusus natural color wilayah Kabupaten Kuningan (diclip). Terlebih dulu mengupload shp Kabupate Kuningan sebagai asset, dan meggunakannya sebagai geometry.

var dataset = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2') //menjadi LC09
   .filterDate('2022-01-01', '2022-02-15')
   .filterBounds(table);    //terlebih dulu buat dan variabel kan geometri anda (dalam kasus ini namanya table dari upload shp adm) sebagai batas pertampalan citra untuk mempercepat render yang diperlukan saja

var clip = dataset.map(function(image){return image.clip(table)});      //clip citra hanya yang intersect table/shp/geometri

print(clip);       //perlihatkan metadata citra yang ada            

// Applies scaling factors.
function applyScaleFactors(image) {
  var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
  var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);
  return image.addBands(opticalBands, null, true)
              .addBands(thermalBands, null, true);
}

dataset = clip.map(applyScaleFactors);

var visualization = {
  bands: ['SR_B4', 'SR_B3', 'SR_B2'],
  min: 0.0,
  max: 0.2,
};

Map.centerObject(table, 9);
Map.addLayer(dataset.mean(), visualization, 'True Color (432)');                          //.mean() yaitu ditampilkan nilai piksel rata-rata dari koleksi yang ada/bertampalan

Berikut ini adalah hasilnya, jadi antara tanggal 01 Januari – 15 Februari 2022 hanya ada 1 citra Landsat 9 yang bertampalan dengan wilayah Kabupaten Kuningan pada koleksi GEE, tepatnya liputan tanggal 7 Januari 2022, dengan tutupan awan 61.88% seperti nampak di gambar di bawah ini.

Landsat 9 Pada GEE QGIS

Si Landsat 9 ini tentunya bisa juga ditampilkan pada QGIS yang sudah diinstal plugin Google Earth Engine. Jika di code editor GEE masih dengan javascript maka dengan sedikit memodifikasinya menjadi kode python dan dimasukan di console python nya QGIS, jadinya seperti contoh di bawah ini.

import ee
from ee_plugin import Map

waktuawal = '2021-10-01';    #set sesuai keinginan
waktuakhir = '2022-02-17';     #set sesuai keinginan

admin = ee.Collection.loadTable('..........');       # ... diganti letak asset anda di GEE

collection = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2').filterDate(waktuawal,waktuakhir).filterMetadata('CLOUD_COVER', 'less_than', 70).filterBounds(admin);     #70 bisa diganti, set cloud cover sesuai keinginan anda

landsat9 = collection.min();  #pilihannya bisa juga .mean() atau .median(), dsb.

def applyScaleFactors(image):
    opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2)
    thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0)
    return image.addBands(opticalBands, None, True).addBands(thermalBands, None, True)

#lihat scale factor dan offset landsat 9 di catalog google earth engine

dataset = applyScaleFactors(landsat9).select('SR_B4','SR_B3','SR_B2')

vis = {'min': 0.0, 'max': 0.15}

Map.centerObject(admin,11);

Map.addLayer(dataset, vis, 'L9 True Color (432)');


Hasilnya akan nampak seperti di gambar berikut ini, yaitu dengan filterBounds maka yang tampil adalah 1 scene yang sesuai area shp / asset / yang bertampalan, dan sama dengan di versi editor hanya ada 1 citra (rata-rata / median / min).

Selanjutnya dengan sedikit memodifikasi kode tersebut lagi, yaitu menjadikan koleksi yang hanya 1 tersebut diclip sesuai asset / geometry, maka tampilan si Landsat 9 nya akan menjadi sesuai shp / asset saja (dalam contoh ini poligon Kota Banda Aceh).

import ee
from ee_plugin import Map

waktuawal = '2021-10-01';    #set sesuai keinginan
waktuakhir = '2022-02-17';     #set sesuai keinginan

admin = ee.Collection.loadTable('..........');       # ... diganti letak asset anda di GEE

collection = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2').filterDate(waktuawal,waktuakhir).filterMetadata('CLOUD_COVER', 'less_than', 70).filterBounds(admin);     #70 bisa diganti, set cloud cover sesuai keinginan anda

landsat9 = collection.min();  #pilihannya bisa juga .mean() atau .median(), dsb.

def applyScaleFactors(image):
    opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2)
    thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0)
    return image.addBands(opticalBands, None, True).addBands(thermalBands, None, True)

#lihat scale factor dan offset landsat 9 di catalog google earth engine

dataset = applyScaleFactors(landsat9).select('SR_B4','SR_B3','SR_B2').clip(admin)     #tambah .clip()

vis = {'min': 0.0, 'max': 0.15}

Map.centerObject(admin,13);     #zoom diperbesar

Map.addLayer(dataset, vis, 'L9 True Color (432)');


Demikian cara menampilkan citra Landsat 9 di Google Earth Engine, karena di Indonesia khususnya pada awal-awal tahun berawan makanya kebanyakan koleksi citra pada saat postingan ini dibuat masih berawan tinggi. Mudah-mudahan dan Insya Allah ke depannya koleksi citra Landsat 9 di GEE akan secara resmi dipublish, kita bisa memilih citranya yang lebih clear dari awan, dan bertambah jumlahnya sehingga sama dengan koleksi di server USGS nya.

Updated : pengecekan tanggal 4 Maret 2021 di situs Google Earth Engine, kini Landsat 9 sudah resmi publish di Google Earth Engine yang ilustrasinya adalah heading picture postingan ini.

 

Unduh / Download Landsat 9

Di dalam GEE kita juga sebetulnya bisa mengunduh Landsat 9 dengan cara menjalankan script Export. Namun jika tidak ingin ribet tentunya anda tinggal mengunjungi situs USGS, misalnya seperti di Earth Explorer di mana cara unduhnya sama saja dengan citra lainnya. Silahkan baca postingan Cara Unduh Data Citra Di Situs USGS Earth Explorer.



About Lintas Bumi 128 Articles
Lintas Bumi adalah blog berbagi info, trik, dan data seputar dunia informasi geospasial baik nasional ataupun global.

Be the first to comment

Leave a Reply

Alamat email Anda tidak akan dipublikasikan.


*