Search...>>

10.28.2017

Vector based geoprocessing in R

Mengolah data vektor menggunakan software R

Mengolah data vector seperti membuat buffer, intersect dan clip merupakan teknik-teknik dasar yang dibutuhkan dalam analisis GIS (Sistem Informasi Geografis) khususnya di bidang ekologi dan konservasi. Berbagai aplikasi GIS sudah banyak dikembangkan untuk tujuan konservasi seperti penentuan sistem zonasi, habitat preferensi, daerah rawan perburuan, dan lainnya. 

Pada tutorial kali ini, kita akan mencoba menentukan kategori “zona aman” untuk kawasan TNGP secara praktis menggunakan program R. Inti dari pertanyaan yang akan kita jawab disini adalah bagian mana di kawasan TNGP yang cukup jauh dari gangguan manusia dan pastinya aman bagi hidupan liar untuk hidup dan berkembangbiak. Dari hasil analisis GIS menggunakan R ini, kita akan menghasilkan sebuah peta seperti yang terlihat pada Gambar 1.

Data yang digunakan dalam tutorial ini dapat diunduh disini.
 

Gambar 1. "Zona Aman" (warna hijau) di kawasan TNGP

Sebagai pendahuluan, Taman Nasional Gunung Gede Pangrango (TNGP) merupakan salah satu kawasan konservasi tertua di Indonesia yang terletak di Provinsi Jawa Barat. Kawasan TNGP dikelilingi oleh kota-kota besar dengan populasi manusia yang cukup tinggi. Dengan demikian, kawasan ini menjadi destinasi pariwisata alam yang paling diminati. Lebih dari puluhan ribu pengunjung datang untuk menikmati panorama alam di kawasan ini setiap tahunnya. Baik untuk sekedar menikmati keanekaragaman tumbuhan di Kebun Raya Cibodas, merasakan dinginnya air terjun Cibereum, berkemah di kandang badak atau mendaki ke puncak Gede dan Pangrango.

Selain memiliki fungsi pemanfaatan, kawasan konservasi pada umumnya memiliki fungsi lainnya seperti fungsi perlindungan dan pengawetan. Kedua fungsi tersebut diperlukan untuk melestarikan berbagai organisme yang hidup di TNGP. Oleh karena itu, perlunya menentukan “Zona aman” bagi hidupan liar yang akan menjamin kelestarian setiap spesies yang hidup. Bagian yang “aman” dari gangguan manusia tentunya bagian yang cukup jauh dari jalur pendakian atau dari pos-pos tempat pengunjung berkemah. Selain itu, cukup jauh dari perbatan TNGP yang dikelilingi oleh pemukiman. Berbekal dengan pengetahuan tersebut, kita akan mencoba menentukan daerah aman tersebut. Walaupun tentunya tidak akan sesederhana itu, perlu kajian yang lebih dalam untuk memastikan hal tersebut, tentunya tidak akan dibahas disini.



Sebagai langkah awal, kita akan menggunakan dan memanggil kembali data yang pernah digunakan pada tutorial sebelumnya, khususnya untuk data vektor saja.


# Mengaktifkan folder kerja
setwd("D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/Result")

# Membaca data vektor dalam format shapefile
# Memanggil pustaka RGDAL
library(rgdal)

# Memanggil data point
lokasi <- readOGR(dsn = "D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT /Vector",layer="TNGP_sites")

# Memanggil data garis
jalur <- readOGR(dsn = "D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/Vector",
layer="Hiking_trail")


# Memanggil data poligon/area
tngp <- readOGR(dsn = "D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/Vector",
layer="TNGP_boundary")


Selanjutnya kita akan memeriksa sistem proyeksi atau kordinat dari data tersebut. Karena kita akan melakukan pembuatan buffer atau jarak dari titik/garis/poligon yang tentunya dalam satuan metrik (m). Jika proyeksinya masih dalam sistem Geografis, cara mengubah proyeksi dapat dilihat pada tutorial sebelumnya.

# Memeriksa proyeksi data, pastikan dalam meter (UTM)
projection(lokasi)
projection(jalur)
projection(tngp)


#Kemudian kita akan membuat buffer dari data vektor titik, garis maupun poligon
# Membuat buffer 500m dari data titik
lokasi_buf500 <- gBuffer(lokasi, width = 500, byid = FALSE)

# Membuat buffer 500 m dari jalur
jalur_buf500 <- gBuffer(jalur, width = 500, byid = TRUE)

# Membuat buffer 1km dari batas TNGP ke dalamkawasan
tngp_bufin1000 <- gBuffer(tngp, width =-1000, byid = TRUE)

Tanda negatif (-) pada angka 1000 menginformasikan bahwa buffer yang diinginkan adalah 1 km dari batas kawasan ke bagian dalam kawasan. Sebaliknya, jika ingin membuat buffer di luar batas, maka tanda negatif dihilangkan saja.

Langkah selanjutnya adalah memotong daerah yang memiliki intensitas gangguan yang tinggi seperti pinggir kawasan, sepanjang jalur pendakian, dan sekitar titik objek wisata yang sudah di buffer.

# Memotong daerah sekitar objek wisata (lokasi wisata + buffer 500 m)
lokasi_in_tngp <- gDifference(tngp, lokasi_buf500)
# Memotong daerah sekitar jalur pendakian (Jalur pendakian + buffer 500 m)
lokasi_in_tngp_clip_jalurbuf <- gDifference(lokasi_in_tngp, jalur_buf500)

# Memotong daerah sekitar batas kawasan TNGP (batas TNGP - buffer 1000 m)
lokasi_in_tngp_clip_jalurbuf_clip_tngpbufin <-
gIntersection(lokasi_in_tngp_clip_jalurbuf, tngp_bufin1000)


# Plot hasil analisis seperti yang terlihat pada Gambar 1
plot(tngp, border = "black")
plot(lokasi_in_tngp_clip_jalurbuf_clip_tngpbufin, col="green", add=TRUE)
plot(jalur, col = "red", lwd=3, add=TRUE)
plot(lokasi, pch=15, col = "blue", add=TRUE)


# Membuat legenda sederhana
legend(701000, 9244000,
legend=c("Batas TNGP", "Zona AMAN", "Jalur pendakian","Pos"),
col=c("black", "green", "red", "blue"),
lty=1, cex=1)



SELAMAT MENCOBA !!!




No comments:

Post a Comment