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.

#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:
- Selisih:
dNDVI = komposit Sesudah - komposit Sebelumdengan Raster Calculator. - Ambang: piksel yang tadinya berhutan (NDVI sebelum minimal 0,7) dan turun lebih dari 0,25.
- Saring derau: alat Sieve (GDAL) membuang gumpalan lebih kecil dari 5 piksel (0,05 ha).
- Buang hutan tanaman: ubah
Kawasan_HTI.gpkgmenjadi raster dengan Rasterize, lalu keluarkan area itu. - Hitung luas per KPH.
# 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:
| Ukuran | Nilai |
|---|---|
| Terdeteksi | 130 piksel = 1,30 ha |
| Acuan | 130 piksel = 1,30 ha |
| Presisi dan kepekaan | 1,00 dan 1,00 |
| KPH Gamma | 1,00 ha terdeteksi, 1,00 ha acuan |
| KPH Alpha | 0,30 ha terdeteksi, 0,30 ha acuan |
| KPH Beta | 0,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 selisih | Dengan peta hutan tanaman | Tanpa peta hutan tanaman |
|---|---|---|
| -0,15 | 130 / 13 / 0 | 130 / 133 / 0 |
| -0,25 | 130 / 1 / 0 | 130 / 24 / 0 |
| -0,35 | 118 / 1 / 12 | 118 / 1 / 12 |
| -0,45 | 26 / 0 / 104 | 26 / 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:
- Dasar: median enam pengamatan bersih pertama. Piksel yang dasarnya di bawah 0,7 (bukan hutan) dilewati.
- Aturan: NDVI turun lebih dari 0,25 dari dasar pada K pengamatan bersih berturut-turut.
- Tanggal: pengamatan pertama dalam rangkaian itu.
# 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
Mengapa K dan mask awan penting. Tabel berikut menghitung piksel (tepat, salah tambah di luar kawasan hutan tanaman, terlewat) pada aturan yang sama.
| K | Memakai mask SCL | Tepat | Salah tambah | Terlewat |
|---|---|---|---|---|
| 1 | tidak | 128 | 873 | 2 |
| 2 | tidak | 128 | 593 | 2 |
| 3 | tidak | 128 | 156 | 2 |
| 1 | ya | 130 | 92 | 0 |
| 2 | ya | 130 | 8 | 0 |
| 3 | ya | 130 | 0 | 0 |
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.
| Bukaan | Tanggal sebenarnya | Terdeteksi paling awal | Rata-rata tunda |
|---|---|---|---|
| 1 (Gamma, 100 piksel) | 28 Okt 2024 | 15 Nov 2024 | 24 hari |
| 2 (Alpha, 30 piksel) | 5 Jun 2025 | 18 Jun 2025 | 13 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
- 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]
- 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.
- Alat pendampingnya, Detect Change Using Change Analysis Raster, mengolah hasil CCDC menjadi informasi perubahan per piksel.
- 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).
- Dua waktu: Raster Calculator untuk selisih, Con untuk ambang, lalu Region Group atau Majority Filter untuk menyaring derau. [CEK]
- Titik patah: tulis skrip ArcPy dengan NumPy, mengikuti Skrip 4.2. [CEK]
#Cek paham
- Mengapa deteksi dua waktu tidak bisa menyebut tanggal perubahan?
- Apa gunanya syarat K pengamatan berturut-turut?
- Mengapa peta kawasan hutan tanaman diperlukan?
Jawaban:
- Ia hanya membandingkan dua potret. Tanggal kejadian ada di antara keduanya, tanpa petunjuk kapan.
- Awan yang lolos dari mask biasanya hanya menurunkan satu atau dua tanggal. Perubahan sungguhan bertahan. Syarat berturut-turut membedakan keduanya.
- 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:
- Ubah AMBANG di Skrip 4.1 menjadi -0,30. Berapa ha yang terdeteksi? Mengapa berbeda dari -0,25?
- Ubah K di Skrip 4.2 menjadi 2. Berapa piksel salah tambah muncul bila mask SCL dipakai?
- Pilih satu piksel bukaan 2, lalu gambar profilnya. Kapan pengamatan bersih terakhir sebelum bukaan?
#Tabel perbandingan: deteksi deforestasi
| Langkah | QGIS | ArcGIS Pro | ArcMap 10.8 | Status |
|---|---|---|---|---|
| Selisih dan ambang | Raster Calculator | Raster Calculator, Con | Raster Calculator, Con | QGIS terbukti; lainnya [CEK] |
| Buang gumpalan kecil | gdal:sieve | Region Group, Majority Filter [CEK] | Region Group, Majority Filter [CEK] | QGIS terbukti |
| Titik patah | Skrip NumPy | Analyze Changes Using CCDC | Tidak ada padanan | Pro: dokumentasi dibaca |
| Kawasan hutan tanaman sebagai mask | gdal:rasterize | Polygon to Raster [CEK] | Polygon to Raster [CEK] | QGIS terbukti |