Membaca data spasial dengan program R
Program R merupakan sebuah program yang awalnya dikembangkan untuk analisis data statistik, sama halnya dengan program SPSS, Matlab, dan lainnya. Seiring perkembangan zaman, saat ini program R juga dapat membaca dan menganalisis berbagai macam data termasuk data spasial atau data yang memiliki informasi geografi. Hal yang paling penting adalah program ini GRATIS dengan pustaka yang jumlahnya banyak yang telah dikembangkan untuk tujuan-tujuan yang berbeda.Tutorial ini akan membahas bagaimana cara membaca data spasial di program gratisan ini. Ada beberapa pustaka atau yang dikenal dengan istilah package di R yang berfungsi untuk membaca dan mengolah data spasial, beberapa diantaranya akan digunakan pada tutorial ini. Hasil tutorial ini akan
tampak seperti Gambar 1 di bawah.
Data yang digunakan dalam tutorial ini dapat diunduh disini.
Gambar 1. Peta yang menunjukkan lokasi Taman Nasional Gunung Gede Pangrango (TNGP) |
# Mengaktifkan folder kerja, silahkan disesuaikan dengan folder kerja Anda
setwd("D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/04_Hasil")
Membaca data vektor seperti titik (points), garis (lines/polylines), dan area (polygon) bisa dilakukan dengan beberapa pustaka (package) yang sudah tersedia di R (https://cran.r-project.org). Dalam tutorial ini kita akan menggunakan pustaka rgdal untuk membaca data vektor, dan pustaka raster untuk membaca data raster.
# Memanggil pustaka rgdal
require(rgdal)
Kita akan memanggil beberapa jenis data vektor seperti jalan, desa, dan batas kawasan Taman Nasional Gunung Gede Pangrango. Data ini diperoleh dari website Badan Informasi geospasial (BIG) di http://tanahair.indonesia.go.id. Anda bisa menggunakan data apa saja yang Anda punya, dalam bentuk shp (shapefile).
# Memanggil data batas wilayah studi (polygone)
aoi <- readOGR(dsn = "D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/02_Data_mentah/01_Data_vektor", layer="Batas_wilayah_kajian")
Informasi (dsn= "..../....") berisikan path atau folder lokasi dimana Anda menyimpan data. Misalnya data ini saya simpan di drive D:LUBIS_....../..../. Sementara (layer=".....") berisikan nama shapefile yang akan dipanggil dalam folder tersebut. Kemudian panggil data lainnya.
# Memanggil data titik desa di sekitar wilayah studi (point)
desa <- readOGR(dsn = "D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/02_Data_mentah/01_Data_vektor", layer="Desa_geo")
# Memanggil data jalan di sekitar wilayah studi (polyline)
jalan <- readOGR(dsn = "D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/02_Data_mentah/01_Data_vektor", layer="Jalan_geo")
# Memanggil data tbatas kawasan TNGP
tngp <- readOGR(dsn = "D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/02_Data_mentah/01_Data_vektor", layer="Batas TNGP")
Data yang sudah dipanggil akan tersimpan dalam memory komputer, sekarang kita coba plot data yang sudah dipanggil tersebut.
Berikutnya kita coba memanggil data dalam bentuk raster. Sebagai contoh kita akan coba membuka data topografi dalam bentuk DEM (Digital Elevation Model) yang diperoleh dari website USGS. Silahkan baca tutorial (KLIK DISINI) yang menunjukkan bagaimana cara mendapatkan data topografi secara gratis.
Untuk raster yang hanya berisikan satu layer (informasi/nilai) bisa menggunakan fungsi raster (“path/file.tif”) yang tersedia pada pustaka raster. Jika file raster memiliki lebih dari satu layer (beberapa lapis informasi) seperti data pada citra satelit landsat yang terdiri dari beberapa layer yang disebut band, bisa menggunakan perintah brick (“path/file.tif”) dari pustaka yang sama.
# Membaca data raster
# Memanggil pustaka raster
require(raster)
# Memanggil data ketinggian (digital elevation model)
dem <- raster("D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/02_Data_mentah/02_Data_raster/Dem_TNGP.tif")
Setelah semua data dipanggil, kita akan plotkan pada satu peta yang sama yang menyajikan berbagai informasi, sama halnya ketika Anda akan melayout peta pada program lainnya seperti ArcGis atau QGis.
# Memeriksa hasil skaligus plot peta
# lines ==> menambahkan garis pada plot
# points ==> menambahkan data titik pada plot
# add=TRUE ==> menambahkan data poligone pada plot
# lwd = 0.5 ==> lebar garis
# col = "white" ==> tampilan warna putih keseluruhan
# border = "red" ==> tampilan warna merah pada batas data
plot(dem)
lines(jalan, col = "white", lwd = 0.5)
plot(tngp, border = "red", lwd=3, add=TRUE)
points(desa, pch=20, col = "blue")
Hasil dari plot peta diatas dapat dilihat pada Gambar 1.
Selamat mencoba
No comments:
Post a Comment