Analisis Spasial

Analisis spasial adalah sekumpulan teknik yang dapat digunakan dalam pengolahan data Sistem Informasi Geografis (SIG). Pada kesempatan kali ini, dilakukan pengolahan data menggunakan metode krigging. Kriging merupakan suatu metode analisis data geostatistika yang digunakan untuk menduga besarnya nilai yang mewakili suatu titik yang tidak tersampel berdasarkan titik tersampel yang berada di sekitarnya dengan menggunakan model struktural semivariogram.

#Mengaktifkan library yang digunakan
library(sp)
library(gstat)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(maptools)
## Checking rgeos availability: FALSE
## Please note that 'maptools' will be retired by the end of 2023,
## plan transition at your earliest convenience;
## some functionality will be moved to 'sp'.
##      Note: when rgeos is not available, polygon geometry     computations in maptools depend on gpclib,
##      which has a restricted licence. It is disabled by default;
##      to enable gpclib, type gpclibPermit()
library(readxl)
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v tibble  3.1.4     v purrr   0.3.4
## v tidyr   1.1.3     v stringr 1.4.0
## v readr   2.0.1     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

Informasi Data

Digunakan hasil forecast data penderita DBD di Provinsi DKI Jakarta untuk setiap kecamatan di Provinsi DKI Jakarta menggunakan hasil analisis space time sebelumnya (Part 1) dengan model GSTAR(1;1)

#Input Data
data <- read_excel("D:/SEMESTER 7/Kapseltat/Tubes Space Time/forecast.xlsx")
data <- data.frame(data)

Kemudian “data frame” diubah menjadi “spatial point data frame” dengan x dany adalah nama kolom yang menyatakan koordinat data.

# Merubah class "data frame" menjadi "Spatial Point Data Frame (SPDF)" 
coordinates(data) = ~X+Y

Selanjutnya dihitung nilai variogram eksperimental kemudian plot secara otomatis. Variogram eksperimental adalah variogram yang diperoleh dari datayang diamati atau data hasil pengukuran. Plot variogram untuk menentukan nilai parameter-parameter variogram yang kemudian dijadikan nilai taksiran awal dalam pencocokan variogram eksperimental dengan model teoritis.

# Mengitung Variogram eksperimental kemudian plot secara otomatis
(vgm1 <- variogram(DBD ~ 1, data))
##    np       dist      gamma dir.hor dir.ver   id
## 1   2 0.01276591  0.1711539       0       0 var1
## 2   8 0.01791233  1.0748122       0       0 var1
## 3  30 0.02509561  3.8339576       0       0 var1
## 4  17 0.03233583  2.2030637       0       0 var1
## 5  37 0.03964236  4.6694896       0       0 var1
## 6  31 0.04663963  6.0299741       0       0 var1
## 7  45 0.05346264  5.5534871       0       0 var1
## 8  37 0.06061563  5.8893721       0       0 var1
## 9  39 0.06770244  6.9819056       0       0 var1
## 10 57 0.07497537  7.7887713       0       0 var1
## 11 28 0.08277507 10.4516626       0       0 var1
## 12 48 0.08955604 10.8768842       0       0 var1
## 13 46 0.09635805  7.9250916       0       0 var1
## 14 41 0.10348354 10.9914722       0       0 var1
plot(vgm1, cex = 1)

Memodifikasi interval jarak dengan memodifikasidengantransformasi (misalkandenganlogaritmanatural dan menambahkan width pada fungsi variogram untuk memperlebar interval kelas agar pasangan data di setiap kelas jarak ℎ lebih banyak.

(vgm2 <- variogram(DBD ~ 1, data, width = 0.01))
##    np       dist      gamma dir.hor dir.ver   id
## 1   7 0.01529774  0.8609265       0       0 var1
## 2  35 0.02496217  3.4418839       0       0 var1
## 3  35 0.03579518  3.2068528       0       0 var1
## 4  48 0.04480026  5.8829096       0       0 var1
## 5  65 0.05510434  5.8870972       0       0 var1
## 6  46 0.06523733  4.4652470       0       0 var1
## 7  69 0.07447164  8.8757541       0       0 var1
## 8  53 0.08565483 11.1483099       0       0 var1
## 9  66 0.09470294  8.6475523       0       0 var1
## 10 42 0.10340318 10.7600226       0       0 var1
plot(vgm2, cex = 1)

Model Variogram

Menampilkan model variogram terbaik antara Eksponensial, Sperikal, dan Gaussian.

# Menampilkan model variogram eksperimental terbaik diantara model (Exp", "Sph", "Gau")
# Fitting variogram
(fit <- fit.variogram(vgm2, model = vgm(model = c("Exp", "Sph", "Gau"))))
##   model    psill     range
## 1   Exp 48.88477 0.4189914
plot(vgm2,fit)

Jadi diperoleh model semi variogram untuk data sumur Jatibarang adalah Model Exponensial. ##Krigging Kriging adalah metode geostatistik yang digunakan untuk mengestimasi nilai dari sebuah titik. Untuk menaksir nilai observasi menggunakan kriging, praktikan memerlukan titik-titik lokasi tak terobservasi. Titik-titik tersebut akan dibuat ke dalam bentuk grid data.

# Membuat grid untuk melihat peta kontur sebaran data untuk lokasi 
# tidak terobservasi dengan metode ordinary kriging # n: ukuran grid, 
# sesuaikan dengan koordinat data
n <- 0.01
kolom <- seq(data@bbox[1,1]-n,data@bbox[1,2]+n,by = n)
baris <- seq(data@bbox[2,1]-n,data@bbox[2,2]+n,by = n)
the.grid <- expand.grid(X = kolom, Y = baris)
coordinates(the.grid) <- ~X+Y
gridded(the.grid) <-T

# Plot grid dan titik observasi
par(mar=c(1,1,1,1))
plot(the.grid, cex=0.5, col="grey")
points(data, pch=1, col='red', cex=1)

Setiap “kotak” (pixel) pada grid (sebelumnya) ditaksir nilainya dengan metode Ordinary Kriging.Kemudian seluruh taksiran tersebut dapat diplot dan menghasilkan peta kontur yang menunjukan taksiran nilai-nilai observasi pada setiap titik di wilayah tersebut.

# Melakukan penaksiran untuk membentuk peta kontur dengan ordinary kriging
kriging <- krige(DBD~1,data, the.grid, model=fit)
## [using ordinary kriging]
# Plot kontur sebagai hasil taksiran oleh kriging
titik <- SpatialPoints(data@coords)
LayoutPoints <- list('sp.points', titik, pch = 19, cex =  0.8, col = 'red')

# Sesuaikan kolom data yang digunakan pada DataSumurJTB[[n]]
LayoutLabels <- list('sp.pointLabel', titik, label = as.character(data[[1]]), cex = 0.5, col = 'white')
spplot(kriging["var1.pred"], main = "Kontur dan Data", sp.layout=list(LayoutPoints,LayoutLabels))

Kesimpulan

Prediksi jumlah penderita Demam Berdarah Dengue pada minggu ke 53 diperoleh pada peta kontur yang menunjukkan nilai estimasi pengamatan pada setiap titik di wilayah tersebut. Sehingga dapat digunakan untuk memperkirakan jumlah penderita Demam Berdarah Dengue pada unobservable point di Provinsi DKI Jakarta. Terlihat bahwa selama prediksi satu minggu ke depan jumlah penderita DBD tertinggi berada di wilayah utara DKI Jakarta dan terendah di wilayah timur tengah.