Leaflet Marker
Berikut merupakan mapping data gempa di Kepulauan Fiji menggunakan package sp atau Spatial Point. Data terdiri dari 1000 baris yang menunjukan lokasi gempa yang memiliki kekuatan lebih dari 4 Magnitudo dan terjadi sejak 1964. Terdapat lima variabel pada data tersebut yaitu :
lat : titik latitude
long: titik longitude
depth : kedalaman gempa
mag : magnitudo gempa
station : jumlah stasiun yang melaporkan
Load Package
Load Data
Menampilkan enam data teratas
## lat long depth mag stations
## 1 -20.42 181.62 562 4.8 41
## 2 -20.62 181.03 650 4.2 15
## 3 -26.00 184.10 42 5.4 43
## 4 -17.97 181.66 626 4.1 19
## 5 -20.42 181.96 649 4.0 11
## 6 -19.68 184.31 195 4.0 12
Melihat tipe data
## 'data.frame': 1000 obs. of 5 variables:
## $ lat : num -20.4 -20.6 -26 -18 -20.4 ...
## $ long : num 182 181 184 182 182 ...
## $ depth : int 562 650 42 626 649 195 82 194 211 622 ...
## $ mag : num 4.8 4.2 5.4 4.1 4 4 4.8 4.4 4.7 4.3 ...
## $ stations: int 41 15 43 19 11 12 43 15 35 19 ...
Melihat Plot Data
Plot Kekuatan Gempa berdasarkan titik koordinat
## Loading required package: ggplot2
Berdasarkan titik koordinat dapat diketahui bahwa gempa dengan kekuatan 4 sampai dengan 4.5 Magnitudo paling banyak terjadi pada wilayah yang memiliki titik koordinat lat(-25,-15) dan long(180,185). Sedangkan gempa dengan kekuatan 5,5 sampai dengan 6,0 Magnitudo paling banyak terjadi pada koordinat lat(-15,-10) dan long(165,167). Adapaun wilayah yang aman dari gempa yaitu wilayah dengan koordinat lat(-40,-30) dan long(165,175) karena sejak tahun 1964 tidak pernah terjadi gempa.
Melihat Mapping Gempa Berdasarkan 20 Lokasi Data Teratas
leaflet(data = quakes[1:20,]) %>% addTiles() %>%
addMarkers(~long, ~lat, popup = ~as.character(mag), label = ~as.character(mag))oceanIcons <- iconList(
ship = makeIcon("ferry-18.png", "ferry-18@2x.png", 18, 18),
pirate = makeIcon("danger-24.png", "danger-24@2x.png", 24, 24)
)
df <- sp::SpatialPointsDataFrame(
cbind(
(runif(20) - .5) * 10 - 90.620130, # lng
(runif(20) - .5) * 3.8 + 25.638077 # lat
),
data.frame(type = factor(
ifelse(runif(20) > 0.75, "pirate", "ship"),
c("ship", "pirate")
))
)
leaflet(df) %>% addTiles() %>%
addMarkers(icon = ~oceanIcons[type])df.20 <- quakes[1:20,]
getColor <- function(quakes) {
sapply(quakes$mag, function(mag) {
if(mag <= 4) {
"green"
} else if(mag <= 5) {
"orange"
} else {
"red"
} })
}
icons <- awesomeIcons(
icon = 'ios-close',
iconColor = 'black',
library = 'ion',
markerColor = getColor(df.20)
)
leaflet(df.20) %>% addTiles() %>%
addAwesomeMarkers(~long, ~lat, icon=icons, label=~as.character(mag))