Search...>>

11.18.2017

3D GIS Visualization and Application using R Program

Membuat tampilan 3 dimensi data GIS seperti ketinggian, slope, keterjalan tapak dan effek hillshade menggunakan Program R

Morfologi rupa bumi dapat digambarkan dalam bentuk digital elevation model (DEM). Data ini diperoleh dari SRTM atau Shuttle Radar Topography Mission yang merupakan salah satu produk hasil kerjasama antara NASA, the National Geospatial-Intelligence Agency, and the German and Italian Space Agencies. Dengan adanya data ketinggian ini, kita dapat menghitung atau konversi data elevasi menjadi data kontur, kemiringan lereng (slope), arah aliran sungai (flow direction), beberapa indeks keterjalan tapak seperti roughness, Terrain Ruggedness Index (TRI), hingga membuat efek tampilan hillshade untuk menggambarkan keadaan rupa bumi pada peta.
Informasi tersebut diatas sangat penting untuk berbagai aplikasi khususnya di bidang ekologi, misalnya untuk melihat hubungan antara spesies dengan lingkungannya. Ahli ekologi berpendapat bahwa sebaran organisme sangat dipengaruhi oleh suhu dan curah hujan. Sementara suhu dan curah hujan sangat dipengaruhi oleh bentuk rupa bumi dan posisinya terhadap garis khatilistiwa. Artinya sebaran spesies juga dipengaruhi oleh ketinggian, keterjalan tapak, kemiringan lereng, jarak dari sungai, dan sebagainya. Parameter-parameter ini biasanya digunakan dalam pemodelan distribusi spesies.

Pada tutorial sebelumnya, kita telah mebahas bagaimana cara mendapatkan data DEM ini baik secara langsung menggunakan program R (lihat tutorial) atau dari website USGS (lihat tutorial). Selain itu, kita juga sudah membahas bagaimana membuat peta kontur dari data DEM (lihat tutorial). Kali ini kita akan membahas bagaimana membuat peta kemiringan lahan (slope), keterjalan tapak (roughness/terrain ruggedness) dan membuat efek hillshade. Dengan menggunakan Program R, kita hanya perlu membuat satu baris perintah (script) sederhana untuk satu fungsi, jadi cukup ringkas dan cepat. Anda dapat mengunduh data yang akan digunakan pada tutorial ini (download data), atau jika terhubung dengan internet, Anda bisa langsung mengunduhnya melalui program R (lihat tutorial). Peta 3D yang akan dihasilkan dapat dilihat pada gambar berikut.
Gambar 1. Tampilan data ketinggian, slope, keterjalan, dan arah muka bumi menggunkan aplikasi R
Gambar 2. Tampilan hillshade pada data ketinggian di sekitar TNGP

## Mengaktifkan folder kerja, dimana semua hasil luaran akan disimpan
setwd("D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/04_Hasil")

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

# Memanggil data wilayah kajian TNGP
tngp <- readOGR(dsn = "D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/02_Data_mentah/01_Data_vektor", layer="Batas TNGP")


# Membaca data raster
# Memanggil pustaka raster
require(raster)

# Memanggil data ketinggian (digital elevation model)
elevasi <- raster("D:/LUBIS_PRIVATE_DATA/R_GIS_PROJECT/02_Data_mentah/02_Data_raster/Dem_TNGP.tif")

# Kalkulasi data kemiringan lahan (slope)
slope <- terrain(elevasi, opt="slope", unit="radians")

Keterjalan tapak dapat dihitung dengan beberapa pendekatan yang telah dikembangkan para ahli. Seperti roughness yang merupakan perbedaan antara nilai maksimum dan minimum antara satu piksel (cell) dengan 8 piksel sekitarnya. Sementara Terrain Ruggedness Index (TRI) adalah rata-rata perbedaan absolut antara satu piksel (cell) dengan 8 piksel sekitarnya.

# Kalkulasi data keterjalan tapak (roughness)
roughness <- terrain(elevasi, opt="roughness")

# Kalkulasi data keterjalan tapak (Terrain Ruggedness Index)
tri <- terrain(elevasi, opt="TRI")

# Kalkulasi data aspect
aspect <- terrain(elevasi, opt="aspect", unit="radians")

# Kalkulasi hilshade
hillshade <- hillShade(slope, aspect, angle=45, direction=0)


# Plot keseluruhan data menggunakan variasi warna dari pustaka RColorBrewer (Gambar 1)
library(RColorBrewer)
par(mfrow= c (2,2))
plot(elevasi, col=brewer.pal(7,"Spectral"), main="Ketinggian (DEM)")
plot(slope, col=brewer.pal(7,"Spectral"), main="Kemiringan Lahan (slope)")
plot(aspect, col=brewer.pal(7,"Spectral"), main="Arah Muka Bumi (aspect/slope direction)")
plot(roughness, col=brewer.pal(7,"Spectral"), main="Keterjalan Tapak (roughness)")
par(mfrow= c (1,1))



# Menampilkan efek hillshade pada peta ketinggian (Gambar 2)
plot(hillshade, col=grey(0:100/100), legend=FALSE, main="Tampilan 3 Dimensi Gunung Gede Pangrango")
plot(elevasi, col=rainbow(25, alpha=0.35), add=TRUE)
plot(tngp, border="red", lwd=2, add=TRUE) 


Data yang telah dihasilkan tersebut dapat disimpan dalam bentuk raster geotiff atau lainnya seperti pada tutorial sebelumnya.

Selamat mencoba. 

No comments:

Post a Comment