Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

EDBSI-SPATIO-TEMPORAL: ANIMASI_ENDBSI.ipynb

Analisis Spasial-Temporal: Deteksi Perubahan Tanah Terbuka Wilayah Pulau Menggunakan ENDBSI dan Masking Air AWEI


oleh : Defani Arman Alfitriansyah

LinkedIn Medium TikTok Instagram Kaggle RPubs Behance Email GitHub

#Tujuan Analisis ini bertujuan untuk memantau dinamika perubahan luas dan tingkat keterbukaan lahan (tanah terbuka/ bare soil) di suatu kawasan kepulauan selama periode 2019–2026.

Tantangan utama dalam ekstraksi data remote sensing di kawasan pulau adalah memisahkan wilayah daratan dari lautan/badan air serta menghilangkan gangguan bayangan topografi pesisir. Untuk mengatasi hal ini, kita menggunakan pendekatan dua tahap:

  1. Menggunakan indeks air (AWEIshAWEI_{sh}) untuk mengisolasi daratan (melakukan masking pada lautan/badan air).

  2. Menghitung indeks tanah terbuka (ENDBSIENDBSI) secara eksklusif pada wilayah daratan yang telah lolos validasi masking.


1. Rumus Indeks (Indices)

Berdasarkan saluran spektral (bands) pada satelit Sentinel-2 (B2=Blue, B3=Green, B4=Red, B8=NIR, B11=SWIR1SWIR_1, B12=SWIR2SWIR_2), berikut adalah indeks yang digunakan:

A. Automated Water Extraction Index - shadow (AWEIshAWEI_{sh})

Indeks ini dirancang khusus untuk mengekstrak badan air secara otomatis sekaligus menghilangkan noise dari bayangan gelap. (Feyisa et al., 2014)

AWEIsh=Blue+2.5×Green−1.5×(NIR+SWIR1)−0.25×SWIR2AWEI_{sh} = Blue + 2.5 \times Green - 1.5 \times (NIR + SWIR_1) - 0.25 \times SWIR_2

B. Enhanced Normalized Difference Bare Soil Index (ENDBSIENDBSI)

Indeks ini sensitif untuk membedakan tanah terbuka murni dari tutupan lahan lain (seperti bangunan beton atau vegetasi kering). (Chen et al., 2026)

ENDBSI=3×SWIR1+Red−Blue−Green−NIR−SWIR23×SWIR1+Red+Blue+Green+NIR+SWIR2ENDBSI = \frac{3 \times SWIR_1 + Red - Blue - Green - NIR - SWIR_2}{3 \times SWIR_1 + Red + Blue + Green + NIR + SWIR_2}

2. Logika Ambang Batas (Thresholding & Masking)

Kunci akurasi di wilayah kepulauan adalah proses pemisahan air dan daratan. Indeks AWEIshAWEI_{sh} diformulasikan agar nilai pantulan air menjadi positif, dan non-air menjadi negatif. Oleh karena itu, nilai 0 digunakan sebagai batas absolut (threshold). (Feyisa et al., 2014)

Logika if-else (dalam bentuk fungsi piksel spasial) untuk masking didefinisikan sebagai:

Status Piksel(x,y)={Air (Masked / Dihapus),jika AWEIsh>0Daratan (Valid untuk ENDBSI),jika AWEIsh≤0\text{Status Piksel}_{(x,y)} = \begin{cases} \text{Air (Masked / Dihapus)}, & \text{jika } AWEI_{sh} > 0 \\ \text{Daratan (Valid untuk ENDBSI)}, & \text{jika } AWEI_{sh} \le 0 \end{cases}

Jika AWEIsh≤0AWEI_{sh} \le 0, maka piksel tersebut diproses oleh rumus ENDBSIENDBSI. Jika AWEIsh>0AWEI_{sh} > 0, piksel diubah menjadi NoData sehingga lautan tidak merusak rata-rata statistik pulau.


3. Pustaka Pendukung (Python Libraries)

Alur kerja komputasi ini dieksekusi menggunakan bahasa pemrograman Python. Berikut adalah pustaka utama yang digunakan beserta referensinya:

Pustaka PythonFungsi Utama dalam AnalisisReferensi Publikasi
geemap

geemap

Memfasilitasi integrasi dan komputasi interaktif dengan API Google Earth Engine.Wu (2020)
cartoee

cartoee

Modul dari geemap untuk menghasilkan tata letak peta statis dengan standar kualitas publikasi jurnal.Markert (2019)
matplotlib

matplotlib

Pembuatan kerangka dasar plot 2D, grafik tren temporal, dan manajemen elemen warna visualisasi.Hunter (2007)
cartopy

cartopy

Menangani sistem referensi koordinat (CRS) dan proyeksi kartografi spasial pada tata letak peta.Met Office (2013)

KODE ANALISIS


Install Library

Tahap ini bertujuan untuk memasang seluruh pustaka (library) Python pihak ketiga yang dibutuhkan untuk komputasi spasial, yang biasanya tidak tersedia secara default di lingkungan kerja virtual (seperti Google Colab). Perintah ini menggunakan manajer paket pip dan cukup dieksekusi satu kali pada awal sesi.

Berikut adalah rincian fungsional dari pustaka yang dipasang:

  • earthengine-api: Pustaka dasar resmi dari Google yang memungkinkan Python mengirimkan instruksi komputasi ke server Earth Engine.

  • geemap: Memfasilitasi integrasi GEE dengan Python, mempermudah pemrosesan koleksi citra, dan menyediakan modul cartoee untuk ekspor peta statis.

  • cartopy: Menangani proyeksi kartografi spasial dan sistem referensi koordinat (CRS) agar peta dapat digambar dengan presisi lintang/bujur yang akurat.

  • matplotlib: Mesin utama untuk menggambar (plotting) grafik tren temporal 2D, tata letak kanvas, colorbar, dan elemen legenda pada peta.

  • imageio: Modul yang bertugas membaca gambar-gambar peta spasial tahunan yang telah diekspor, lalu merangkainya menjadi satu berkas animasi berformat GIF.

Loading...
Requirement already satisfied: earthengine-api in /usr/local/lib/python3.12/dist-packages (1.7.26)
Requirement already satisfied: geemap in /usr/local/lib/python3.12/dist-packages (0.37.2)
Collecting cartopy
  Downloading cartopy-0.25.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (6.1 kB)
Requirement already satisfied: matplotlib in /usr/local/lib/python3.12/dist-packages (3.10.0)
Requirement already satisfied: imageio in /usr/local/lib/python3.12/dist-packages (2.37.3)
Requirement already satisfied: google-cloud-storage in /usr/local/lib/python3.12/dist-packages (from earthengine-api) (3.10.1)
Requirement already satisfied: google-api-python-client>=1.12.1 in /usr/local/lib/python3.12/dist-packages (from earthengine-api) (2.196.0)
Requirement already satisfied: google-auth>=1.4.1 in /usr/local/lib/python3.12/dist-packages (from earthengine-api) (2.47.0)
Requirement already satisfied: google-auth-httplib2>=0.0.3 in /usr/local/lib/python3.12/dist-packages (from earthengine-api) (0.4.0)
Requirement already satisfied: httplib2<1dev,>=0.9.2 in /usr/local/lib/python3.12/dist-packages (from earthengine-api) (0.31.2)
Requirement already satisfied: requests in /usr/local/lib/python3.12/dist-packages (from earthengine-api) (2.32.4)
Requirement already satisfied: anywidget in /usr/local/lib/python3.12/dist-packages (from geemap) (0.9.21)
Requirement already satisfied: bqplot in /usr/local/lib/python3.12/dist-packages (from geemap) (0.12.47)
Requirement already satisfied: eerepr>=0.1.0 in /usr/local/lib/python3.12/dist-packages (from geemap) (0.1.2)
Requirement already satisfied: folium>=0.17.0 in /usr/local/lib/python3.12/dist-packages (from geemap) (0.20.0)
Requirement already satisfied: geocoder in /usr/local/lib/python3.12/dist-packages (from geemap) (1.38.1)
Requirement already satisfied: ipyevents in /usr/local/lib/python3.12/dist-packages (from geemap) (2.0.4)
Requirement already satisfied: ipyfilechooser>=0.6.0 in /usr/local/lib/python3.12/dist-packages (from geemap) (0.6.0)
Requirement already satisfied: ipyleaflet>=0.19.2 in /usr/local/lib/python3.12/dist-packages (from geemap) (0.20.0)
… (129 baris lagi)

Import Library

Setelah seluruh pustaka terpasang, tahap selanjutnya adalah memanggil modul-modul tersebut ke dalam memori lingkungan kerja (Jupyter Notebook/Google Colab). Modul-modul ini sangat krusial untuk mengeksekusi komputasi spasial, membuat grafik tren, hingga merender animasi akhir.

Berikut adalah fungsi dari masing-masing modul yang dipanggil:

  • import ee: Memanggil modul inti Google Earth Engine untuk mengakses objek spasial (seperti ee.Image, ee.Reducer, ee.Geometry) dan mengirimkan perintah ke server Google.

  • import geemap.cartoee as cartoee & geemap.colormaps as cm: Memanggil ekstensi pemetaan untuk membuat tata letak peta statis dengan standar publikasi jurnal, serta menyediakan palet warna saintifik (seperti untuk tanah terbuka).

  • matplotlib.pyplot beserta modul turunannya (mpl, mpatches, LinearSegmentedColormap): Digunakan untuk membuat kanvas plot 2D, memanipulasi rentang gradien warna secara kustom (gabungan warna daratan dan air), serta membuat kotak legenda (patch) secara manual.

  • cartopy.crs beserta pengatur Gridliner (GeoAxes, LONGITUDE_FORMATTER, dll): Modul ini bertanggung jawab atas proyeksi bumi (seperti PlateCarree) dan memastikan bahwa garis bantu (gridlines) lintang dan bujur ditampilkan dalam format derajat yang tepat dan profesional.

  • imageio & os: imageio bertugas membaca hasil render bingkai (frame) peta tahunan dan merangkainya menjadi satu berkas animasi berformat .gif. Sementara itu, os digunakan untuk manajemen sistem (menghapus file gambar .png sementara setelah GIF selesai dibuat agar penyimpanan tidak penuh).

(Catatan: Penyesuaian cartoee.GeoAxes = GeoAxes di bagian bawah import digunakan sebagai perlindungan kompatibilitas / patch agar versi terbaru dari cartopy dapat berjalan mulus dengan modul cartoee tanpa memunculkan eror visual).

Loading...

Login GEE

Tahap ini merupakan gerbang utama untuk menghubungkan lingkungan kerja Python (seperti Jupyter Notebook atau Google Colab) dengan peladen komputasi awan Google Earth Engine (GEE). Proses ini terdiri dari dua langkah fundamental yang wajib dieksekusi sebelum modul spasial lainnya dapat dipanggil:

  • Autentikasi (ee.Authenticate()): Memicu protokol keamanan untuk memverifikasi identitas dan meminta token akses resmi dari akun Google Anda. Langkah ini memastikan bahwa Anda memiliki izin yang sah untuk menggunakan layanan API Earth Engine. Anda dapat menemukan panduan lebih detail tentang proses autentikasi di dokumentasi geemap:

  • Inisialisasi (ee.Initialize()): Memulai sesi komputasi GEE menggunakan kredensial yang telah didapatkan dan menautkan sesi tersebut ke Google Cloud Project (GCP) spesifik. Seluruh alokasi beban komputasi, manajemen aset (Shapefile/Raster), dan kuota akses data satelit dari script Anda akan dikelola di bawah proyek ini.

    • Jika Anda belum memiliki akun Earth Engine atau Google Cloud Project, Anda bisa mendaftar dan membuatnya di Earth Engine Sign Up Page. Pastikan untuk mencatat nama proyek GEE Anda (biasanya dimulai dengan ee-) untuk digunakan dalam fungsi ee.Initialize(project='nama-project-anda').

Loading...

Penentuan Wilayah Studi (Area of Interest / AOI)

Tahap ini berfungsi untuk mendefinisikan batas geografis wilayah studi yang akan dianalisis. Area studi dideklarasikan menggunakan objek poligon dari Google Earth Engine (ee.Geometry.Polygon) yang berisi titik-titik koordinat spasial (Bujur dan Lintang).

Selain mendefinisikan poligon, bagian ini juga bertugas untuk mengekstrak titik-titik ekstrem dari poligon tersebut menjadi sebuah kotak batas (bounding box).

  • Fungsi .bounds().getInfo() digunakan untuk menarik data koordinat dari server GEE ke memori lokal Python.

  • Variabel region_bbox kemudian merangkai koordinat tersebut menjadi format [Bujur Minimum, Lintang Minimum, Bujur Maksimum, Lintang Maksimum]. Format ini sangat krusial dan diwajibkan oleh modul cartoee nantinya untuk membatasi kanvas rendering saat mengekspor peta spasial ke dalam bentuk gambar.

(Tips: Angka koordinat di dalam fungsi ee.Geometry.Polygon ini dapat Anda ganti dengan koordinat wilayah pulau lain, atau Anda juga bisa menggantinya dengan memanggil aset Shapefile/FeatureCollection yang sudah Anda unggah ke akun GEE Anda).

Loading...

Fungsi Skala Reflektan

Fungsi apply_scale: Penyesuaian Nilai Reflektansi Permukaan

Fungsi ini bertugas mengonversi nilai Digital Number (DN) mentah dari citra satelit Sentinel-2 Surface Reflectance (SR) menjadi nilai reflektansi permukaan yang sebenarnya. Data Sentinel-2 SR memiliki faktor skala 0.0001, sehingga setiap piksel perlu dibagi 10000 untuk mendapatkan nilai reflektansi yang valid (berkisar antara 0 hingga 1).

Loading...

Fungsi add_indices: Perhitungan Indeks Spektral (AWEI & ENDBSI)

Fungsi add_indices bertanggung jawab untuk menghitung dua indeks spektral penting: ENDBSI (Enhanced Normalized Difference Bare Soil Index) dan AWEI_sh (Automated Water Extraction Index - shadow). Kedua indeks ini dihitung berdasarkan band-band reflektansi permukaan dari citra Sentinel-2.

Dalam Google Earth Engine (GEE), operasi matematika pada citra (seperti penjumlahan, pengurangan, perkalian, dan pembagian) tidak bisa menggunakan operator standar (+, -, *, /). Sebaliknya, GEE menyediakan fungsi khusus seperti .add(), .subtract(), .multiply(), dan .divide().

Alur Kerja Fungsi:

  1. Ekstraksi Band: Fungsi ini pertama-tama mengekstrak band-band optik yang diperlukan (B2, B3, B4, B8, B11, B12) dari citra input.

  2. Perhitungan ENDBSI: Indeks ENDBSI dihitung menggunakan rumus yang telah ditentukan, memisahkan perhitungan pembilang (num) dan penyebut (den) terlebih dahulu, kemudian membaginya.

  3. Perhitungan AWEI_sh: Indeks AWEI_sh dihitung secara berantai, meminimalkan variabel antara untuk menjaga kode tetap ringkas dan mudah dibaca.

  4. Penambahan Band Baru: Hasil perhitungan ENDBSI dan AWEI_sh kemudian ditambahkan sebagai band baru ke citra asli menggunakan metode .addBands(), membuat citra yang diperkaya dengan informasi indeks spektral.

Loading...

Fungsi get_annual_composite: Komposit Citra Tahunan

Fungsi get_annual_composite ini bertanggung jawab untuk membangun komposit citra Sentinel-2 Surface Reflectance (SR) median tahunan untuk wilayah studi (roi) yang telah ditentukan.

Langkah-langkah yang dilakukan fungsi ini adalah:

  1. Filter Tanggal (filterDate): Memilih citra dalam rentang tanggal 1 Januari hingga 31 Desember untuk tahun yang diberikan.

  2. Filter Batas (filterBounds): Memastikan hanya citra yang melingkupi Area of Interest (AOI) yang disertakan.

  3. Filter Awan (filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))): Menghilangkan citra dengan persentase tutupan awan di atas 20% untuk mengurangi gangguan awan.

  4. Aplikasi Skala (map(apply_scale)): Menerapkan fungsi apply_scale untuk mengubah nilai DN menjadi reflektansi permukaan.

  5. Penambahan Indeks (map(add_indices)): Menerapkan fungsi add_indices untuk menghitung band ENDBSI dan AWEI_sh ke setiap citra.

  6. Komposit Median (median()): Menggabungkan seluruh citra yang tersisa dalam koleksi untuk tahun tersebut menjadi satu citra komposit median. Ini membantu mengurangi noise dan variabilitas temporal.

  7. Clipping (clip(roi)): Memotong citra komposit agar sesuai dengan batas Area of Interest (AOI).

  8. Set Properti (set('year', year)): Menambahkan properti ‘year’ ke citra komposit untuk identifikasi tahun.

Loading...

Pembangunan Koleksi Citra Tahunan (2019–2026)

Bagian ini adalah inti dari alur kerja temporal kita. Kami akan menggunakan fungsi get_annual_composite yang telah didefinisikan sebelumnya untuk membangun sebuah koleksi citra tahunan (ee.ImageCollection).

  1. Definisi Rentang Tahun (years): Pertama, sebuah daftar tahun dari 2019 hingga 2026 dibuat menggunakan ee.List.sequence(2019, 2026). Objek ee.List diperlukan karena GEE beroperasi di server, dan operasi pada daftar Python biasa tidak dapat langsung diterapkan pada objek GEE.

  2. Pemetaan Fungsi (years.map(get_annual_composite)): Fungsi get_annual_composite kemudian dipetakan ke setiap tahun dalam daftar years. Ini berarti get_annual_composite akan dijalankan untuk setiap tahun secara berurutan (misalnya, untuk 2019, lalu 2020, dan seterusnya), menghasilkan sebuah citra komposit median untuk setiap tahunnya.

  3. Pembentukan ImageCollection (ee.ImageCollection(...)): Hasil dari pemetaan (yaitu, daftar citra komposit tahunan) kemudian digabungkan menjadi satu ee.ImageCollection. Koleksi ini akan menjadi dasar untuk analisis spasial-temporal selanjutnya, seperti visualisasi GIF dan plotting tren.

Loading...

Warna dan Palet (Colormap)

Loading...

Render Bingkai GIF dan Ekspor Animasi Temporal

Bagian kode ini adalah inti dari visualisasi temporal, yang bertujuan untuk membuat serangkaian bingkai gambar (.png) dari citra satelit tahunan, lalu merangkainya menjadi sebuah animasi GIF. Setiap bingkai akan menampilkan peta ENDBSI dan masking air AWEI untuk tahun tertentu, lengkap dengan elemen kartografi standar seperti judul, skala warna, dan legenda.

Loading...

Looping untuk Setiap Tahun: Pemrosesan Citra, Statistik, dan Rendering Peta

Untuk setiap tahun dalam rentang python_years, kode ini melakukan serangkaian langkah:

  1. Filter dan Seleksi Band: Mengambil citra komposit tahunan yang sesuai dan memilih band ENDBSI serta AWEI_sh.

  2. Masking Daratan dan Air: Membuat mask daratan (di mana AWEI_sh <= 0) dan layer air (di mana AWEI_sh > 0). Masking ini memastikan ENDBSI hanya dihitung di daratan dan air ditampilkan secara terpisah.

  3. Perhitungan Statistik ENDBSI: Menghitung persentil ke-2 dan ke-98 dari nilai ENDBSI di wilayah daratan. Ini digunakan untuk menentukan rentang visualisasi (min dan max) yang dinamis untuk setiap tahun, sehingga warna peta terkalibrasi dengan baik.

  4. Definisi Visualisasi: Menyiapkan parameter visualisasi (vis_land dan vis_water) termasuk palet warna dan rentang nilai.

  5. Setup Plotting Matplotlib: Membuat objek figure dan axes menggunakan matplotlib dan cartopy untuk menggambar peta. Proyeksi ccrs.PlateCarree() digunakan untuk menampilkan peta geografis.

  6. Penambahan Layer ke Peta: Menggunakan cartoee.add_layer untuk menambahkan layer ENDBSI daratan dan layer air ke peta.

  7. Gridlines dan Label: Menambahkan garis lintang/bujur (gridlines) dan label pada peta. Judul peta, sumber data, dan tahun juga ditambahkan.

  8. Colorbar: Membuat colorbar horizontal untuk ENDBSI dengan rentang nilai yang disesuaikan secara dinamis.

  9. Legenda Air: Menambahkan legenda khusus untuk badan air.

  10. Penyimpanan Bingkai: Setiap peta yang sudah jadi disimpan sebagai file .png dengan nama frame_endbsi_{year}.png dan ditambahkan ke daftar frames.

Loading...
Frame 2019 done  |  ENDBSI land range: [-0.080, 0.318]
Frame 2020 done  |  ENDBSI land range: [-0.080, 0.334]
Frame 2021 done  |  ENDBSI land range: [-0.084, 0.346]
Frame 2022 done  |  ENDBSI land range: [-0.107, 0.322]
Frame 2023 done  |  ENDBSI land range: [-0.100, 0.342]
Frame 2024 done  |  ENDBSI land range: [-0.092, 0.357]
Frame 2025 done  |  ENDBSI land range: [-0.100, 0.361]
Frame 2026 done  |  ENDBSI land range: [-0.107, 0.342]

Pembuatan GIF dan Pembersihan File Sementara

Setelah semua bingkai gambar (.png) untuk setiap tahun selesai dibuat, bagian kode ini bertanggung jawab untuk:

  1. Membuat File GIF: Menggunakan pustaka imageio, semua bingkai .png yang telah dikumpulkan dalam daftar frames digabungkan menjadi satu file animasi GIF (ENDBSI_AWEI_Temporal_2019_2026.gif). Durasi dan pengaturan looping GIF juga ditentukan di sini.

  2. Pembersihan File Sementara: Setelah GIF berhasil dibuat, semua file .png bingkai individual yang bersifat sementara dihapus dari sistem menggunakan os.remove. Ini penting untuk menghemat ruang penyimpanan, terutama jika ada banyak bingkai.

Loading...
Warning: Frame file not found: frame_endbsi_2019.png. Skipping this frame.
Warning: Frame file not found: frame_endbsi_2020.png. Skipping this frame.
Warning: Frame file not found: frame_endbsi_2021.png. Skipping this frame.
Warning: Frame file not found: frame_endbsi_2022.png. Skipping this frame.
Warning: Frame file not found: frame_endbsi_2023.png. Skipping this frame.
Warning: Frame file not found: frame_endbsi_2024.png. Skipping this frame.
Warning: Frame file not found: frame_endbsi_2025.png. Skipping this frame.
Warning: Frame file not found: frame_endbsi_2026.png. Skipping this frame.
Error: No frames found to create GIF. Please ensure the PNG frames were generated successfully by the previous step.
Loading...
<IPython.core.display.Image object>
Loading...
Loading...
Loading...

4. Animasi Komposit True Color dan False Color

Bagian ini akan membuat animasi temporal dari komposit True Color (Warna Asli) dan False Color (Warna Palsu) menggunakan citra satelit Sentinel-2. Animasi ini memberikan perspektif visual yang berbeda terhadap perubahan tutupan lahan di wilayah studi dari tahun 2019 hingga 2026.

A. Animasi Komposit True Color (Warna Asli)

Komposit True Color menampilkan citra satelit mendekati apa yang dilihat mata manusia, dengan band Merah, Hijau, dan Biru (B4, B3, B2) yang dipetakan langsung ke saluran warna Merah, Hijau, dan Biru pada tampilan. Ini sangat berguna untuk identifikasi visual fitur-fitur permukaan bumi seperti vegetasi hijau, air, dan area perkotaan dengan warna aslinya. Tujuan dari animasi ini adalah untuk menunjukkan perubahan visual lahan dari tahun ke tahun secara langsung.

Loading...
TRUE COLOR FRAME 2019 DONE
TRUE COLOR FRAME 2020 DONE
TRUE COLOR FRAME 2021 DONE
TRUE COLOR FRAME 2022 DONE
TRUE COLOR FRAME 2023 DONE
TRUE COLOR FRAME 2024 DONE
TRUE COLOR FRAME 2025 DONE
TRUE COLOR FRAME 2026 DONE
SAVED: True_Color_Temporal_2019_2026.gif
Loading...
<IPython.core.display.Image object>
Loading...
Loading...

B. Animasi Komposit False Color (Warna Palsu)

Komposit False Color mengalokasikan band spektral ke saluran warna Merah, Hijau, dan Biru dengan cara yang berbeda dari True Color, seringkali untuk menonjolkan fitur tertentu yang tidak terlihat jelas oleh mata manusia. Untuk Sentinel-2, komposit False Color yang umum digunakan adalah dengan memetakan band NIR (B8), Merah (B4), dan Hijau (B3) ke saluran RGB. Ini sangat efektif untuk membedakan jenis vegetasi, kesehatan tanaman, dan batas antara daratan dan air.

Tujuan dari animasi ini adalah untuk memberikan visualisasi yang lebih baik terhadap perubahan vegetasi dan batas air/daratan selama periode 2019–2026.

Loading...
FALSE COLOR FRAME 2019 DONE
FALSE COLOR FRAME 2020 DONE
FALSE COLOR FRAME 2021 DONE
FALSE COLOR FRAME 2022 DONE
FALSE COLOR FRAME 2023 DONE
FALSE COLOR FRAME 2024 DONE
FALSE COLOR FRAME 2025 DONE
FALSE COLOR FRAME 2026 DONE
SAVED: False_Color_Temporal_2019_2026.gif
Loading...
<IPython.core.display.Image object>
Loading...
Loading...
Loading...
<Figure size 1200x600 with 1 Axes>

Daftar Pustaka

  • Chen, J., Zhong, Y., Tang, B.-H., Huang, L., Fu, Z., Fan, D., Zhao, T., & Yang, C. (2026). ENDBSI: an Enhanced Normalized Difference Bare Soil Index for identifying the bare soil of urban and rural regions in China. GIScience & Remote Sensing, 63(1), 2626630. Chen et al. (2026)

  • Feyisa, G. L., Meilby, H., Fensholt, R., & Proud, S. R. (2014). Automated Water Extraction Index: A new technique for surface water mapping using Landsat imagery. Remote Sensing of Environment, 140, 23–35. Feyisa et al. (2014)

  • Hunter, J. D. (2007). Matplotlib: A 2D graphics environment. Computing in Science & Engineering, 9(3), 90–95.

  • Markert, K. N. (2019). cartoee: Publication quality maps using Earth Engine. Journal of Open Source Software, 4(33), 1207. Markert (2019)

  • Met Office. (2013). Cartopy: A cartographic Python library with matplotlib support. Exeter, Devon. http://scitools.org.uk/cartopy

  • Wu, Q. (2020). geemap: A Python package for interactive mapping with Google Earth Engine. Journal of Open Source Software, 5(51), 2305. Wu (2020)

Dokumentasi Pustaka (Package Documentation)

References
  1. Chen, J., Zhong, Y., Tang, B.-H., Huang, L., Fu, Z., Fan, D., Zhao, T., & Yang, C. (2026). ENDBSI: an Enhanced Normalized Difference Bare Soil Index for identifying the bare soil of urban and rural regions in China. GIScience & Remote Sensing, 63(1). 10.1080/15481603.2026.2626630
  2. Feyisa, G. L., Meilby, H., Fensholt, R., & Proud, S. R. (2014). Automated Water Extraction Index: A new technique for surface water mapping using Landsat imagery. Remote Sensing of Environment, 140, 23–35. 10.1016/j.rse.2013.08.029
  3. Markert, K. (2019). cartoee: Publication quality maps using Earth Engine. Journal of Open Source Software, 4(33), 1207. 10.21105/joss.01207
  4. Wu, Q. (2020). geemap: A Python package for interactive mapping with Google Earth Engine. Journal of Open Source Software, 5(51), 2305. 10.21105/joss.02305