Lewati ke isi
Profil penulisSeri Buku GIS Kehutanan dan Pertanian/ M3
Tampilkan bagian untuk:

BAB 4: Menangkap Hutan yang Hilang: Deteksi Deforestasi

#Studi kasus: "Ada laporan pembukaan di Gamma"

Sebuah laporan masuk: ada pembukaan hutan di KPH Gamma. Kepala Seksi minta tiga hal: di mana, seberapa luas, dan kapan mulainya. Ia juga berpesan, "Jangan campur dengan panen hutan tanaman. Itu tebangan terencana." Anda punya dua cara untuk menjawab: membandingkan dua potret, atau menonton seluruh film.

#Konsep: deteksi perubahan dalam tiga kalimat

Deteksi perubahan dua waktu itu seperti permainan "temukan perbedaan" antara foto sebelum dan sesudah: cepat dan mudah, tetapi hanya tahu bahwa sesuatu berubah, bukan kapan. Deteksi titik patah menonton seluruh film piksel dan mencatat saat nilainya jatuh dan tidak kembali, sehingga bisa menyebut tanggal. Keduanya memerlukan aturan penolak awan dan aturan pembeda perubahan terencana.

Istilah baru bab ini:

  • Selisih (differencing): citra sesudah dikurangi citra sebelum.
  • Ambang (threshold): batas angka untuk menyebut sesuatu "berubah".
  • Luas minimum: gumpalan lebih kecil dari ini dibuang sebagai derau.
  • Titik patah (break): saat deret berubah nilai secara menetap.
  • Pengamatan berturut-turut: syarat bahwa jatuhnya nilai harus bertahan beberapa tanggal, supaya awan tidak menipu.
Ilustrasi 4.1: Dua waktu
Skema: komposit sebelum, komposit sesudah, selisih NDVI, dan hasil deteksi deforestasi

#Bagian A: QGIS

#Bagian A: Deteksi deforestasi di QGIS

#Cara 1: dua waktu (Skrip 4.1)

Langkahnya, dengan komposit median dari Bab 2 sebagai bahan:

  1. Selisih: dNDVI = komposit Sesudah - komposit Sebelum dengan Raster Calculator.
  2. Ambang: piksel yang tadinya berhutan (NDVI sebelum minimal 0,7) dan turun lebih dari 0,25.
  3. Saring derau: alat Sieve (GDAL) membuang gumpalan lebih kecil dari 5 piksel (0,05 ha).
  4. Buang hutan tanaman: ubah Kawasan_HTI.gpkg menjadi raster dengan Rasterize, lalu keluarkan area itu.
  5. Hitung luas per KPH.
PYTHON
# SKRIP 4.1 (cuplikan; berkas lengkap: skrip/4_1_deforestasi_dua_waktu.py)
processing.run("native:rastercalc", {"LAYERS": [sebelum, sesudah],
    "EXPRESSION": '(("sebelum@1" >= 0.7) AND (("sesudah@1" - "sebelum@1") < -0.25)) * 1', "OUTPUT": kand})
processing.run("gdal:sieve", {"INPUT": kand, "THRESHOLD": 5, "EIGHT_CONNECTEDNESS": True,
                              "NO_MASK": True, "OUTPUT": saring})
processing.run("gdal:rasterize", {"INPUT": hti_gpkg, "BURN": 1, "UNITS": 1, "WIDTH": 10, "HEIGHT": 10,
    "EXTENT": "312000,312400,9996000,9996400 [EPSG:32749]", "INIT": 0, "NODATA": 255, "DATA_TYPE": 0, "OUTPUT": hti})

Hasil uji terhadap peta acuan:

UkuranNilai
Terdeteksi130 piksel = 1,30 ha
Acuan130 piksel = 1,30 ha
Presisi dan kepekaan1,00 dan 1,00
KPH Gamma1,00 ha terdeteksi, 1,00 ha acuan
KPH Alpha0,30 ha terdeteksi, 0,30 ha acuan
KPH Beta0,00 ha

[terbukti: dihitung dari data sintetis]

Uji kepekaan: ambang dan peta kawasan hutan tanaman

Berikut hitungan pada piksel (tepat, salah tambah, terlewat), tanpa saringan luas minimum.

Ambang selisihDengan peta hutan tanamanTanpa peta hutan tanaman
-0,15130 / 13 / 0130 / 133 / 0
-0,25130 / 1 / 0130 / 24 / 0
-0,35118 / 1 / 12118 / 1 / 12
-0,4526 / 0 / 10426 / 0 / 104

Pelajaran dari tabel: ambang terlalu longgar menangkap panen hutan tanaman dan derau (133 salah tambah). Ambang terlalu ketat melewatkan deforestasi, karena hutan yang dibuka sudah mulai ditumbuhi semak pada komposit akhir. Peta kawasan hutan tanaman memangkas salah tambah dari 24 menjadi 1 pada ambang -0,25. [terbukti]

#Cara 2: titik patah (Skrip 4.2)

Cara dua waktu tidak bisa menyebut tanggal. Skrip 4.2 menonton tiap piksel:

  1. Dasar: median enam pengamatan bersih pertama. Piksel yang dasarnya di bawah 0,7 (bukan hutan) dilewati.
  2. Aturan: NDVI turun lebih dari 0,25 dari dasar pada K pengamatan bersih berturut-turut.
  3. Tanggal: pengamatan pertama dalam rangkaian itu.
PYTHON
# SKRIP 4.2 (cuplikan; berkas lengkap: skrip/4_2_titik_patah.py)
dasar = np.median(ndvi[idx[:N_DASAR], i, j])          # idx = tanggal bersih piksel ini
turun = ndvi[idx[N_DASAR:], i, j] < dasar - AMBANG
for n in range(len(turun) - K + 1):
    if turun[n:n + K].all():
        hasil[i, j] = idx[N_DASAR + n]               # tanggal awal perubahan
        break
Ilustrasi 4.2: Titik patah
Satu piksel bukaan di Gamma: NDVI jatuh di bawah ambang dan bertahan, tanggal pertama dicatat

Mengapa K dan mask awan penting. Tabel berikut menghitung piksel (tepat, salah tambah di luar kawasan hutan tanaman, terlewat) pada aturan yang sama.

KMemakai mask SCLTepatSalah tambahTerlewat
1tidak1288732
2tidak1285932
3tidak1281562
1ya130920
2ya13080
3ya13000

Tanpa mask awan, ratusan piksel salah ditandai. Dengan mask saja (K=1), masih ada 92 salah tambah: 48 piksel di bekas terbakar yang NDVI-nya sempat turun, dan 44 piksel hutan stabil yang tertipu kabut awan tipis lolos SCL. Dengan K=2, tersisa 8 piksel, semuanya bekas terbakar. Dengan K=3, semuanya hilang. Tetapi K besar punya harga: kejadian di akhir deret tidak bisa dipastikan karena belum cukup pengamatan sesudahnya. [terbukti]

Ketepatan tanggal. Tanggal sebenarnya diketahui karena data ini sintetis.

BukaanTanggal sebenarnyaTerdeteksi paling awalRata-rata tunda
1 (Gamma, 100 piksel)28 Okt 202415 Nov 202424 hari
2 (Alpha, 30 piksel)5 Jun 202518 Jun 202513 hari

Tunda ini wajar: tanggal terdeteksi paling awal adalah pengamatan bersih pertama sesudah kejadian. Selisih tanggal sebenarnya dengan citra tidak bisa lebih rapat dari jarak antar-citra. Pada bukaan 1, sebagian piksel baru terdeteksi sampai 14 Januari 2025 karena awan menutupi citra bersih pertama. Laporkan tanggal sebagai rentang ("antara 16 Oktober dan 15 November 2024"), bukan satu hari. [terbukti]

Hasilnya: Anda bisa menjawab Kepala Seksi. Di mana: bukaan 1 di utara Gamma dan bukaan 2 kecil di Alpha. Luas: 1,30 ha total (1,00 ha Gamma, 0,30 ha Alpha). Kapan: antara 16 Oktober dan 15 November 2024 untuk bukaan 1, dan antara 19 Mei dan 18 Juni 2025 untuk bukaan 2.

#Bagian B: ArcGIS Pro

#Bagian B: ArcGIS Pro

  1. Dua waktu: hitung selisih dan ambang dengan Raster Calculator atau Minus dan Con. Hapus gumpalan kecil dengan Region Group dan seleksi luas, atau dengan Majority Filter. [CEK]
  2. Titik patah: Pro punya Analyze Changes Using CCDC (Image Analyst Tools, perlu ekstensi Image Analyst). Alat ini memakai algoritma Continuous Change Detection and Classification pada raster multidimensi. Menurut dokumentasi Esri, masukannya minimal 12 irisan yang mencakup setidaknya satu tahun, sebaiknya sudah ternormalisasi dan bebas awan. Hasilnya CRF berisi koefisien model, RMSE, dan perubahan teramati.
  3. Alat pendampingnya, Detect Change Using Change Analysis Raster, mengolah hasil CCDC menjadi informasi perubahan per piksel.
  4. Data latihan ini (24 irisan, dua tahun) memenuhi syarat jumlah. Cocokkan dengan versi Anda. [CEK]

#Bagian C: ArcMap 10.8

#Bagian C: ArcMap 10.8

ArcMap tidak punya padanan untuk deteksi titik patah (CCDC).

  1. Dua waktu: Raster Calculator untuk selisih, Con untuk ambang, lalu Region Group atau Majority Filter untuk menyaring derau. [CEK]
  2. Titik patah: tulis skrip ArcPy dengan NumPy, mengikuti Skrip 4.2. [CEK]

#Cek paham

  1. Mengapa deteksi dua waktu tidak bisa menyebut tanggal perubahan?
  2. Apa gunanya syarat K pengamatan berturut-turut?
  3. Mengapa peta kawasan hutan tanaman diperlukan?

Jawaban:

  1. Ia hanya membandingkan dua potret. Tanggal kejadian ada di antara keduanya, tanpa petunjuk kapan.
  2. Awan yang lolos dari mask biasanya hanya menurunkan satu atau dua tanggal. Perubahan sungguhan bertahan. Syarat berturut-turut membedakan keduanya.
  3. Panen hutan tanaman membuat NDVI turun sama dalamnya dengan deforestasi. Hanya data pendukung yang bisa membedakan penebangan terencana dari pembukaan.

#Kesalahan umum

  • Memilih ambang setelah melihat jawaban. Pakai data pelatihan atau wilayah contoh terpisah.
  • Memakai komposit akhir yang terlalu jauh dari kejadian. Semak yang tumbuh kembali mengecilkan selisih.
  • Menyebut satu tanggal pasti. Tanggal terdeteksi paling awal adalah pengamatan bersih pertama sesudah kejadian.
  • Mencampur deforestasi dengan perubahan terencana atau kebakaran. Gunakan data pembeda (peta hutan tanaman, indeks inframerah gelombang pendek seperti Bab 5).

#Ringkasan dan latihan

Ringkasan: dua waktu cepat untuk luas, titik patah perlu untuk tanggal. Awan, hutan tanaman, dan kebakaran adalah tiga penyebab utama salah tambah. Aturan berturut-turut dan peta pendukung mengendalikannya.

Latihan:

  1. Ubah AMBANG di Skrip 4.1 menjadi -0,30. Berapa ha yang terdeteksi? Mengapa berbeda dari -0,25?
  2. Ubah K di Skrip 4.2 menjadi 2. Berapa piksel salah tambah muncul bila mask SCL dipakai?
  3. Pilih satu piksel bukaan 2, lalu gambar profilnya. Kapan pengamatan bersih terakhir sebelum bukaan?

#Tabel perbandingan: deteksi deforestasi

LangkahQGISArcGIS ProArcMap 10.8Status
Selisih dan ambangRaster CalculatorRaster Calculator, ConRaster Calculator, ConQGIS terbukti; lainnya [CEK]
Buang gumpalan kecilgdal:sieveRegion Group, Majority Filter [CEK]Region Group, Majority Filter [CEK]QGIS terbukti
Titik patahSkrip NumPyAnalyze Changes Using CCDCTidak ada padananPro: dokumentasi dibaca
Kawasan hutan tanaman sebagai maskgdal:rasterizePolygon to Raster [CEK]Polygon to Raster [CEK]QGIS terbukti