Analisis Landscape Metrics: DAS Ciwulan 2022

Penulis
Afiliasi

Dr. Arif K Wijayanto

Laboratory of Environmental Analysis and Geospatial Modeling, Dept of Forest Resources Conservation and Ecotourism, IPB University

Diterbitkan

8 Juni 2026

1 Pendahuluan

Analisis ini menghitung berbagai landscape metrics pada kawasan DAS Ciwulan tahun 2022 menggunakan paket landscapemetrics di R. Landscape metrics digunakan untuk mengukur struktur, komposisi, dan konfigurasi lanskap — khususnya tutupan hutan alam yang tidak termasuk lahan pertanian.

Analisis dibagi menjadi dua bagian utama:

  1. Kalkulasi metrik pada seluruh lanskap (landscape level & class level)
  2. Kalkulasi metrik dalam grid 1 km² (sampling berbasis grid spasial)

2 Instalasi Paket

Jalankan perintah berikut satu kali sebelum memulai analisis (tidak perlu diulang setiap sesi):

install.packages("landscapemetrics")
install.packages("sf")
install.packages("tidyr")
install.packages("terra")
install.packages("raster")

3 Kalkulasi Metrik untuk Seluruh Lanskap

3.1 Load Library dan Data

library(landscapemetrics)
library(terra)
# Sesuaikan direktori kerja dengan lokasi file Anda
setwd("D:/1_Lecture/ARL/ARL604/ciwulan/LM")

# Import raster tutupan hutan alam (tanpa lahan pertanian)
forest <- rast('Refined_Forest_NoAgriculture_ciwulan_2022_noData_utm.tif')

3.2 Visualisasi Raster

plot(forest)

3.3 Pemeriksaan Data Raster

check_landscape(forest)

Fungsi check_landscape() memverifikasi bahwa raster memenuhi syarat untuk kalkulasi landscape metrics: proyeksi, tipe data, dan nilai piksel yang valid.


3.4 Kalkulasi Landscape Metrics

3.4.1 Number of Patches (NP)

Jumlah patch per kelas tutupan lahan:

x <- lsm_c_np(forest)
x

3.4.2 Patch Area

Luas masing-masing patch (dalam hektar):

y <- lsm_p_area(forest)
y

# Ekspor ke CSV
write.csv(y, "area.csv")

3.4.3 Kalkulasi Multi-Metrik

Menghitung beberapa metrik sekaligus dan mengekspornya:

a <- calculate_lsm(forest,
                   what = c("lsm_l_frac_mn",   # Mean fractal dimension index
                            "lsm_l_shape_mn",  # Mean shape index
                            "lsm_c_np",        # Number of patches
                            "lsm_p_frac"))     # Fractal dimension per patch
a

# Ekspor ke CSV
write.csv(a, "example.csv")

3.5 Ringkasan Metrik Lanskap

Tabel berikut merangkum semua metrik yang dihitung beserta fungsi, level, dan satuannya:

Tabel 1: Landscape Metrics yang Dihitung
Metrik Fungsi R Level Satuan
Class Area (CA) lsm_c_ca() Class Hektar
Number of Patches (NP) lsm_c_np() Class / Landscape Jumlah
Patch Density (PD) lsm_c_pd() Class / Landscape Patch / 100 ha
Largest Patch Index (LPI) lsm_c_lpi() Class Persen
Total Edge (TE) lsm_c_te() Landscape Meter
Edge Density (ED) lsm_c_ed() Class / Landscape m / ha
Mean Patch Area (AREA_MN) lsm_c_area_mn() Patch / Class / Landscape Hektar
Landscape Shape Index (LSI) lsm_c_lsi() Class / Landscape Tanpa satuan

3.6 Eksekusi Metrik Individual

# Class Area (CA)
lsm_c_ca(forest, directions = 8)

# Number of Patches (NP)
lsm_c_np(forest)

# Patch Density (PD)
lsm_c_pd(forest, directions = 8)

# Largest Patch Index (LPI)
lsm_c_lpi(forest, directions = 8)

# Total Edge (TE)
lsm_c_te(forest, count_boundary = FALSE)

# Edge Density (ED)
lsm_c_ed(forest, count_boundary = FALSE, directions = 8)

# Mean Patch Area (AREA_MN)
lsm_c_area_mn(forest, directions = 8)

# Landscape Shape Index (LSI)
lsm_c_lsi(forest)

4 Kalkulasi Metrik dalam Grid 1 km²

Bagian ini menghitung landscape metrics pada setiap sel grid 1 km² yang melingkupi kawasan studi.

4.1 Load Library dan Data Grid

library(sf)
library(tidyr)
library(raster)
library(landscapemetrics)
r <- forest

# Load shapefile grid 1 km²
grid <- shapefile('grid_1km_ciwulan_clip.shp')

4.2 Kalkulasi Metrik per Grid

grid_lsm_class <- sample_lsm(
  r,
  y     = grid,
  shape = 'square',
  what  = c(
    "lsm_l_ai",        # Aggregation Index     — kecenderungan patch berkumpul
    "lsm_l_area_mn",   # Mean Patch Area       — rata-rata luas patch
    "lsm_l_area_sd",   # SD Patch Area         — keragaman ukuran patch
    "lsm_l_area_cv",   # CV Patch Area         — koefisien variasi luas patch
    "lsm_l_division",  # Division Index        — tingkat keterpecahan lanskap
    "lsm_l_lpi",       # Largest Patch Index   — dominansi patch terbesar
    "lsm_l_mesh",      # Effective Mesh Size   — ukuran kerapatan fragmen
    "lsm_l_np",        # Number of Patches     — jumlah patch
    "lsm_l_pd",        # Patch Density         — kerapatan patch per 100 ha
    "lsm_l_split",     # Splitting Index       — indeks pemisahan lanskap
    "lsm_l_ta"         # Total Landscape Area  — total luas lanskap
  ),
  return_raster = TRUE
)

4.3 Deskripsi Metrik Grid

4.3.1 Agregasi & Konektivitas

Metrik Deskripsi
lsm_l_ai Aggregation Index: Mengukur seberapa teragregasi (berkelompok) patch dalam lanskap. Nilai 100 = sangat teragregasi.
lsm_l_np Number of Patches: Total jumlah patch dalam setiap sel grid.
lsm_l_pd Patch Density: Jumlah patch per 100 hektar.

4.3.2 Ukuran & Distribusi

Metrik Deskripsi
lsm_l_area_mn Mean Patch Area: Rata-rata luas patch (hektar).
lsm_l_area_sd SD Patch Area: Standar deviasi luas patch.
lsm_l_area_cv CV Patch Area: Koefisien variasi luas patch (%).
lsm_l_lpi Largest Patch Index: Proporsi area yang ditempati patch terbesar (%).
lsm_l_mesh Effective Mesh Size: Ukuran efektif kerapatan fragmen (hektar).
lsm_l_ta Total Area: Total luas lanskap (hektar).

4.3.3 Fragmentasi

Metrik Deskripsi
lsm_l_division Division Index: Probabilitas dua titik acak berada di patch berbeda (0–1).
lsm_l_split Splitting Index: Jumlah patch berukuran sama yang mengisi total area lanskap.

4.4 Restrukturisasi dan Ekspor Data

# Ubah format long → wide (setiap metrik menjadi kolom tersendiri)
grid_lsm_w <- pivot_wider(
  grid_lsm_class,
  id_cols     = plot_id,
  names_from  = metric,
  values_from = value
)

# Gabungkan tabel atribut dengan shapefile grid
connect <- cbind(grid, grid_lsm_w)

# Simpan sebagai shapefile baru
shapefile(x        = connect,
          file     = "lsm_grid_1km_2022.shp",
          overwrite = TRUE)

Output: File lsm_grid_1km_2022.shp siap divisualisasikan di QGIS atau ArcGIS untuk analisis spasial lanjutan.


5 Informasi Sesi

sessionInfo()
R version 4.5.2 (2025-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows 11 x64 (build 26200)

Matrix products: default
  LAPACK version 3.12.1

locale:
[1] LC_COLLATE=English_United States.utf8 
[2] LC_CTYPE=English_United States.utf8   
[3] LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.utf8    

time zone: Asia/Jakarta
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] htmlwidgets_1.6.4 compiler_4.5.2    fastmap_1.2.0     cli_3.6.5        
 [5] tools_4.5.2       htmltools_0.5.9   rstudioapi_0.18.0 yaml_2.3.11      
 [9] rmarkdown_2.30    knitr_1.50        jsonlite_2.0.0    xfun_0.54        
[13] digest_0.6.39     rlang_1.1.6       evaluate_1.0.5   

Dokumen ini dibuat dengan Quarto dan dapat direproduksi dengan menjalankan ulang seluruh chunk menggunakan data yang sesuai.