Struktur koleksi Landsat
USGS menghasilkan data dalam 3 tingkat (kategori) untuk setiap satelit:
- Tingkat 1 (T1) - Data yang memenuhi persyaratan kualitas geometris dan radiometrik
- Tingkat 2 (T2) - Data yang tidak memenuhi persyaratan Tingkat 1
- Real Time (RT) - Data yang belum dievaluasi (memerlukan waktu hingga satu bulan).
Lihat dokumentasi USGS di Tingkat Pengumpulan 2 untuk mengetahui informasi selengkapnya.
Untuk mengizinkan akses ke data T1 yang divalidasi dan data real-time terbaru secara bersamaan, kami telah mengelompokkan scene ke dalam koleksi berdasarkan tingkat dan satelit. Contoh untuk Landsat 8 adalah sebagai berikut:
ID | Deskripsi |
---|---|
LANDSAT/LC08/C02/T1_RT | Landsat 8, Koleksi 2, Tingkat 1 + Real Time |
LANDSAT/LC08/C02/T1 | Khusus Landsat 8, Koleksi 2, Tingkat 1 |
LANDSAT/LC08/C02/T2 | Khusus Landsat 8, Koleksi 2, Tingkat 2 |
Tampilan yang baru diperoleh ditambahkan ke koleksi T1_RT setiap hari. Setelah scene RT diproses ulang dan dikategorikan sebagai T1 atau T2, scene tersebut akan dihapus dari koleksi T1_RT dan versi baru akan ditambahkan ke koleksi yang sesuai. Jika pekerjaan Anda sensitif terhadap penghapusan atau berpotensi salah mendaftarkan scene, sebaiknya gunakan koleksi T1, tetapi secara umum, sangat jarang terjadi kesalahan pendaftaran yang cukup besar untuk diamati pada scene yang baru diperoleh.
Setiap koleksi sebelumnya berisi data mentah (yaitu, radiance pada sensor yang diskalakan). Selain itu, untuk setiap koleksi yang berisi gambar T1 atau T2, produk TOA (pantulan bagian atas atmosfer), SR (pantulan permukaan), dan LST (suhu permukaan tanah) ditawarkan. Tabel berikut menjelaskan ID koleksi untuk koleksi TOA dan SR/LST menggunakan data Landsat 8 sebagai contoh.
ID | Deskripsi |
---|---|
LANDSAT/LC08/C02/T1_RT_TOA | Landsat 8, Koleksi 2, Tingkat 1 + Real Time, TOA |
LANDSAT/LC08/C02/T1_TOA | Landsat 8, Koleksi 2, khusus Tingkat 1, TOA |
LANDSAT/LC08/C02/T1_L2 | Landsat 8, Collection 2, khusus Tingkat 1, SR dan LST |
LANDSAT/LC08/C02/T2_TOA | Landsat 8, Koleksi 2, khusus Tingkat 2, TOA |
Data ini tersedia untuk Landsat 4, 5, 7, 8, dan 9. Ganti 'LC08' dalam definisi koleksi sebelumnya dengan ID dari tabel berikut untuk mengambil koleksi untuk berbagai satelit.
ID | Deskripsi |
---|---|
LT04 | Landsat 4, Thematic Mapper (TM) |
LT05 | Landsat 5, Thematic Mapper (TM) |
LE07 | Landsat 7, Enhanced Thematic Mapper Plus (ETM+) |
LC08 | Landsat 8, Operational Land Imager (OLI) |
LC09 | Landsat 9, Operational Land Imager 2 (OLI-2) |
Status koleksi Landsat
Pre-Collection 1: tidak lagi diproduksi atau didistribusikan oleh USGS, tidak didukung oleh Earth Engine, dan akan dihapus dari Katalog Data pada tahun 2024.
Collection 1: tidak lagi diproduksi atau didistribusikan oleh USGS, tidak didukung oleh Earth Engine, dan akan dihapus dari Katalog Data pada tahun 2024. Gunakan panduan migrasi untuk mengupdate skrip, modul, dan aplikasi Earth Engine ke Collection 2 paling lambat 1 Juli 2024 untuk menghindari permintaan yang gagal.
Koleksi 2: koleksi saat ini yang dibuat oleh USGS. Ketersediaan penuh di Katalog Data Earth Engine.
Metode pemrosesan Landsat
Earth Engine berisi berbagai metode pemrosesan khusus Landsat. Secara khusus, ada metode untuk menghitung radian di sensor, pantulan top-of-atmosphere (TOA), pantulan permukaan (SR), skor awan, dan komposit bebas awan.
Radiasi di sensor dan pantulan TOA
Tampilan "mentah" di Earth Engine berisi gambar dengan angka digital (DN) yang mewakili radian yang diskalakan. Konversi DN ke radian di sensor adalah
transformasi linear menggunakan koefisien yang disimpan dalam metadata scene
(Chander et
al. 2009). Metode ee.Algorithms.Landsat.calibratedRadiance()
melakukan konversi ini. Konversi ke pantulan TOA (atau di sensor) adalah
transformasi linear yang memperhitungkan elevasi matahari dan jarak Bumi-Matahari
yang bervariasi secara musiman. Konversi TOA ditangani oleh metode ee.Algorithms.Landsat.TOA()
. Metode TOA mengonversi band termal menjadi suhu kecerahan. Lihat
Chander et
al. (2009) (atau situs
USGS ini untuk Landsat 8) guna mengetahui informasi selengkapnya tentang penghitungan pantulan TOA atau
suhu kecerahan. Contoh berikut menunjukkan konversi dari data mentah menjadi luminans dan pantulan TOA untuk gambar Landsat 8:
Editor Kode (JavaScript)
// Load a raw Landsat scene and display it. var raw = ee.Image('LANDSAT/LC08/C02/T1/LC08_044034_20140318'); Map.centerObject(raw, 10); Map.addLayer(raw, {bands: ['B4', 'B3', 'B2'], min: 6000, max: 12000}, 'raw'); // Convert the raw data to radiance. var radiance = ee.Algorithms.Landsat.calibratedRadiance(raw); Map.addLayer(radiance, {bands: ['B4', 'B3', 'B2'], max: 90}, 'radiance'); // Convert the raw data to top-of-atmosphere reflectance. var toa = ee.Algorithms.Landsat.TOA(raw); Map.addLayer(toa, {bands: ['B4', 'B3', 'B2'], max: 0.2}, 'toa reflectance');
import ee import geemap.core as geemap
Colab (Python)
# Load a raw Landsat scene and display it. raw = ee.Image('LANDSAT/LC08/C02/T1/LC08_044034_20140318') m = geemap.Map() m.center_object(raw, 10) m.add_layer( raw, {'bands': ['B4', 'B3', 'B2'], 'min': 6000, 'max': 12000}, 'raw' ) # Convert the raw data to radiance. radiance = ee.Algorithms.Landsat.calibratedRadiance(raw) m.add_layer(radiance, {'bands': ['B4', 'B3', 'B2'], 'max': 90}, 'radiance') # Convert the raw data to top-of-atmosphere reflectance. toa = ee.Algorithms.Landsat.TOA(raw) m.add_layer(toa, {'bands': ['B4', 'B3', 'B2'], 'max': 0.2}, 'toa reflectance') m
Pantulan permukaan
Data pantulan permukaan (SR) Landsat tersedia di Earth Engine sebagai salinan arsip USGS Collection 2, Level 2. Perhatikan bahwa data SR Landsat 4, 5, dan 7 dibuat menggunakan algoritma LEDAPS, sedangkan data SR Landsat 8 dan 9 dibuat menggunakan algoritma LaSRC. Pelajari algoritma ini dan perbedaannya dengan USGS.
Anda dapat mengakses gambar Landsat 8 USGS Collection 2, Level 2 seperti ini:
Editor Kode (JavaScript)
var srImage = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20201028');
import ee import geemap.core as geemap
Colab (Python)
sr_image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20201028')
Set data pantulan permukaan untuk Landsat 4 hingga 9 Collection 2 adalah:
Editor Kode (JavaScript)
var surfaceReflectanceL4 = ee.ImageCollection('LANDSAT/LT04/C02/T1_L2'); var surfaceReflectanceL5 = ee.ImageCollection('LANDSAT/LT05/C02/T1_L2'); var surfaceReflectanceL7 = ee.ImageCollection('LANDSAT/LE07/C02/T1_L2'); var surfaceReflectanceL8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2'); var surfaceReflectanceL9 = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2');
import ee import geemap.core as geemap
Colab (Python)
surface_reflectance_l4 = ee.ImageCollection('LANDSAT/LT04/C02/T1_L2') surface_reflectance_l5 = ee.ImageCollection('LANDSAT/LT05/C02/T1_L2') surface_reflectance_l7 = ee.ImageCollection('LANDSAT/LE07/C02/T1_L2') surface_reflectance_l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2') surface_reflectance_l9 = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2')
Skor cloud sederhana
Untuk memberi skor piksel Landsat berdasarkan kekeruhan relatifnya, Earth Engine menyediakan algoritma penskoran awan dasar dalam metode ee.Algorithms.Landsat.simpleCloudScore()
. (Untuk mengetahui detail tentang
penerapan, lihat
skrip contoh
Code Editor ini). Contoh berikut menggunakan algoritma penskoran cloud untuk menyamarkan awan dalam gambar Landsat 8:
Editor Kode (JavaScript)
// Load a cloudy Landsat scene and display it. var cloudy_scene = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140926'); Map.centerObject(cloudy_scene); Map.addLayer(cloudy_scene, {bands: ['B4', 'B3', 'B2'], max: 0.4}, 'TOA', false); // Add a cloud score band. It is automatically called 'cloud'. var scored = ee.Algorithms.Landsat.simpleCloudScore(cloudy_scene); // Create a mask from the cloud score and combine it with the image mask. var mask = scored.select(['cloud']).lte(20); // Apply the mask to the image and display the result. var masked = cloudy_scene.updateMask(mask); Map.addLayer(masked, {bands: ['B4', 'B3', 'B2'], max: 0.4}, 'masked');
import ee import geemap.core as geemap
Colab (Python)
# Load a cloudy Landsat scene and display it. cloudy_scene = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140926') m = geemap.Map() m.center_object(cloudy_scene) m.add_layer( cloudy_scene, {'bands': ['B4', 'B3', 'B2'], 'max': 0.4}, 'TOA', False ) # Add a cloud score band. It is automatically called 'cloud'. scored = ee.Algorithms.Landsat.simpleCloudScore(cloudy_scene) # Create a mask from the cloud score and combine it with the image mask. mask = scored.select(['cloud']).lte(20) # Apply the mask to the image and display the result. masked = cloudy_scene.updateMask(mask) m.add_layer(masked, {'bands': ['B4', 'B3', 'B2'], 'max': 0.4}, 'masked') m
Jika Anda menjalankan contoh ini di Code Editor, coba ubah visibilitas lapisan TOA untuk membandingkan perbedaan antara gambar yang disamarkan dan tidak disamarkan. (Lihat bagian Pengelola Lapisan dalam dokumen Editor Kode untuk mengetahui petunjuk cara melakukannya). Perhatikan bahwa input ke simpleCloudScore()
adalah satu scene TOA Landsat. Perhatikan juga bahwa simpleCloudScore()
menambahkan
band yang disebut 'cloud'
ke gambar input. Band awan berisi
skor awan dari 0 (tidak berawan) hingga 100 (paling berawan). Contoh sebelumnya menggunakan
nilai minimum arbitrer (20) pada skor awan untuk menyamarkan piksel berawan. Untuk menerapkan algoritma ini ke mosaik Earth Engine dari scene Landsat, tetapkan properti SENSOR_ID
:
Editor Kode (JavaScript)
// Load a Landsat 8 TOA collection, make 15-day mosaic, set SENSOR_ID property. var mosaic = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA') .filterDate('2019-06-01', '2019-06-16').mosaic() .set('SENSOR_ID', 'OLI_TIRS'); // Cloud score the mosaic and display the result. var scored_mosaic = ee.Algorithms.Landsat.simpleCloudScore(mosaic); Map.addLayer(scored_mosaic, {bands: ['B4', 'B3', 'B2'], max: 0.4}, 'TOA mosaic');
import ee import geemap.core as geemap
Colab (Python)
# Load a Landsat 8 TOA collection, make 15-day mosaic, set SENSOR_ID property. mosaic = ( ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA') .filterDate('2019-06-01', '2019-06-16') .mosaic() .set('SENSOR_ID', 'OLI_TIRS') ) # Cloud score the mosaic and display the result. scored_mosaic = ee.Algorithms.Landsat.simpleCloudScore(mosaic) m = geemap.Map() m.add_layer( scored_mosaic, {'bands': ['B4', 'B3', 'B2'], 'max': 0.4}, 'TOA mosaic', ) m
SENSOR_ID
adalah properti dari setiap gambar. Saat membuat mosaik dari banyak gambar, Earth Engine harus menghapus metadata setiap gambar, termasuk properti SENSOR_ID
. Untuk memberikan skor awan pada mosaik, Earth Engine akan mencari properti tersebut, tetapi tidak dapat menemukannya, sehingga menyebabkan error. Tetapkan properti secara manual untuk menghindarinya. ID sensor Landsat 5, 7, dan 8(9) masing-masing adalah 'TM', 'ETM', dan 'OLI_TIRS'.
Komposit sederhana
Untuk membuat komposit Landsat sederhana yang bebas awan, Earth Engine menyediakan metode ee.Algorithms.Landsat.simpleComposite()
. Metode ini memilih
subset scene di setiap lokasi, mengonversi ke pantulan TOA, menerapkan skor
awan sederhana, dan mengambil median piksel yang paling berawan. Contoh ini membuat
komposit sederhana menggunakan parameter default dan membandingkannya dengan komposit menggunakan parameter
kustom untuk nilai minimum skor cloud dan persentil:
Editor Kode (JavaScript)
// Load a raw Landsat 5 ImageCollection for a single year. var collection = ee.ImageCollection('LANDSAT/LT05/C02/T1') .filterDate('2010-01-01', '2010-12-31'); // Create a cloud-free composite with default parameters. var composite = ee.Algorithms.Landsat.simpleComposite(collection); // Create a cloud-free composite with custom parameters for // cloud score threshold and percentile. var customComposite = ee.Algorithms.Landsat.simpleComposite({ collection: collection, percentile: 75, cloudScoreRange: 5 }); // Display the composites. Map.setCenter(-122.3578, 37.7726, 10); Map.addLayer(composite, {bands: ['B4', 'B3', 'B2'], max: 128}, 'TOA composite'); Map.addLayer(customComposite, {bands: ['B4', 'B3', 'B2'], max: 128}, 'Custom TOA composite');
import ee import geemap.core as geemap
Colab (Python)
# Load a raw Landsat 5 ImageCollection for a single year. collection = ee.ImageCollection('LANDSAT/LT05/C02/T1').filterDate( '2010-01-01', '2010-12-31' ) # Create a cloud-free composite with default parameters. composite = ee.Algorithms.Landsat.simpleComposite(collection) # Create a cloud-free composite with custom parameters for # cloud score threshold and percentile. custom_composite = ee.Algorithms.Landsat.simpleComposite( collection=collection, percentile=75, cloudScoreRange=5 ) # Display the composites. m = geemap.Map() m.set_center(-122.3578, 37.7726, 10) m.add_layer( composite, {'bands': ['B4', 'B3', 'B2'], 'max': 128}, 'TOA composite' ) m.add_layer( custom_composite, {'bands': ['B4', 'B3', 'B2'], 'max': 128}, 'Custom TOA composite', ) m
Perhatikan bahwa input ke gabungan sederhana adalah kumpulan gambar mentah. Perhatikan juga bahwa secara default, output band reflektif adalah pantulan yang diskalakan ke 8-bit dan output band termal adalah Kelvin minus 100, agar sesuai dengan rentang 8-bit. Anda dapat mengubah perilaku ini dengan
menetapkan parameter asFloat
ke true, untuk mendapatkan output float
yang tidak diskalakan dan tidak digeser.