Crostalk ve Leaflet Paketleriyle Türkiye Depremlerinin Analizi: Analysis of Turkey Earthquakes Using Crostalk and Leaflet Packages

Çalışma kapsamında Türkiye’de son 1 yıl içerisinde gerçekleşen depremlerin keşifsel veri analizi yapılmıştır. Bu çalışmada rmdformats paketinde bulunan downcute teması kullanılarak R Markdown üzerinde html uzantılı raporlama yapılmıştır.Dolayısıyla bu formatta bir R Markdown raporu üretilmek isteniyorsa öncelikle rmdformats paketinin kurulumun yapılması gerektiği unutulmamalıdır.

Yüklenen Kütüphaneler

Aşağıdaki R kod bloğunun çalıştırılmasından sonra kütüphanelerin yüklenip yüklenmediğine dair aşağıdaki gibi mantıksal vektör sonuçları gelecektir. Eğer mantıksal vektör sonuçlarının hepsi TRUE ise kütüphanelerin tamamı yüklenmiştir. Kolaylık sağlaması açısından aşağıdaki kütüphanelerin yüklenmesini gösterir tabloyu da elde etmek ve daha kolay okumanız için aşağıdaki kod bloğu içerisinde kısa bir kod yazdım. Bu kod çalıştırıldığında aşağıdaki tabloda görüleceği üzere bütün kütüphaneler yüklenmiştir. Eğer ilgili kütüphane yüklenmemiş olursa Paket Kurulumu Gerekli ifadesi tablo satırında yazacaktır. Satırda yazan bu uyarı metnine göre paketi ya kurar yada yüklersiniz. Bir paketin kurulması ile yüklenmesinin aynı şey olmadığını burada ifade etmek gerekir konuyu yabancı olanlar için. Paket kurulumu ilk defa yapılan bir işlem iken, paketin yüklenmesi zaten kurulan bir paketin yüklenmesi yani çalışır duruma getirilmesidir. İlk defa bir paket kurulumu gerçekleştiriliyorsa install.packages() fonksiyonunu, zaten bir paket kurulumu gerçekleştirilmiş ise ilgili paketin veya kütüphanenin yüklenmesi veya okunması için library() veya require() fonksiyonlarını kullanıyoruz. Fonksiyonlardaki parantez () içerisine yüklenecek paket veya kütüphane adını yazıyoruz.

kütüphane<-c("dplyr","tibble","tidyr","ggplot2","readr","RColorBrewer","crosstalk","leaflet","DT", "htmlwidgets","kableExtra","readr", "leaflet.extras", "sf", "plotly", "leafpop", "downloadthis", "tidygeocoder")
yükle<-sapply(kütüphane, require, character.only = TRUE, warn.conflicts = FALSE)
Kütüphane Yüklenme Bilgisi
sıra	kütüphane	yuklenme_durumu
1	dplyr	Yuklendi
2	tibble	Yuklendi
3	tidyr	Yuklendi
4	ggplot2	Yuklendi
5	readr	Yuklendi
6	RColorBrewer	Yuklendi
7	crosstalk	Yuklendi
8	leaflet	Yuklendi
9	DT	Yuklendi
10	htmlwidgets	Yuklendi
11	kableExtra	Yuklendi
12	readr	Yuklendi
13	leaflet.extras	Yuklendi
14	sf	Yuklendi
15	plotly	Yuklendi
16	leafpop	Yuklendi
17	downloadthis	Yuklendi
18	tidygeocoder	Yuklendi

Verinin okunması

deprem <- read_table("deprem.txt")%>% rename(Enlem="Enlem(N)",Boylam="Boylam(E)", "Buyukluk"=ML, Derinlik="Derinlik(km)"
)
# deprem veri seti
deprem<- deprem[, c(-6,-8,-10)]
deprem

Veri Setinin Yapısı

glimpse(deprem)

Kaydırma Eksenine Bağlı Harita, Grafik Kombinasyonu

deprem <- read_table("deprem.txt")%>% rename(Enlem="Enlem(N)",Boylam="Boylam(E)", "Buyukluk"=ML, Derinlik="Derinlik(km)"
)

deprem<- deprem[, c(-6,-8,-10)]


d1 <- highlight_key(deprem)

kaydirma <- filter_slider("Büyüklük", "Depremin Büyüklüğü", d1,~Buyukluk)

p <- plot_ly(d1, x = ~Derinlik, y = ~Buyukluk) %>% 
  add_markers(alpha = 0.5) %>% 
  highlight("plotly_selected")

harita <- leaflet(d1) %>% 
  addTiles() %>% 
  addCircleMarkers(
    label=deprem$Buyukluk,lng = ~Enlem, lat = ~Boylam,
    labelOptions = labelOptions(noHide = T, direction = 'top'))%>% addSearchOSM() %>% addReverseSearchOSM() %>% addResetMapButton()

bscols(
  widths = c(12, 12, 12), 
 kaydirma,  p, harita)

Örnek Veri Tablosu ve Harita Oluşturma

deneme <- data.frame(
  ticker = c("Ulusoy", "Metro", "Süzer", "Kanberoğlu"),
  address = c("Ankara","İstanbul","Artvin","Rize")
) %>%
  tidygeocoder::geocode(address = address,
                        method = "osm") %>%
  sf::st_as_sf(coords = c("long", "lat"), crs = 4326)
  
leaflet(deneme) %>%
  addMarkers(label = ~ address) %>%
  addProviderTiles("CartoDB.Positron")

İkon ve Harita Temalarının Haritaya Eklenmesi 1

deneme <- data.frame(
  Firma = c("Ulusoy", "Metro", "Süzer", "Kanberoğlu", "Pamukkale","Kamil Koç", "Anadolu", "Dadaş"),
  Adres = c("Ankara","İstanbul","Artvin","Rize", "Kayseri", "Antalya", "İzmir", "Sivas"),
  Ciro =c(1000, 12500,3000,4000, 6000,8000,9000,1800))%>%
  tidygeocoder::geocode(address = Adres,
                        method = "osm") %>%
  sf::st_as_sf(coords = c("long", "lat"), crs = 4326)


awesome <- makeAwesomeIcon(
  icon = "fire",
  iconColor = "red",
  markerColor = "blue",
  library = "fa"
)

leaflet(deneme) %>%
  addAwesomeMarkers(icon = awesome,
                    label = ~ Ciro) %>%
  addProviderTiles("CartoDB.Positron")

İkon ve Harita Temalarının Haritaya Eklenmesi 2

deneme <- data.frame(
  Firma = c("Ulusoy", "Metro", "Süzer", "Kanberoğlu", "Pamukkale","Kamil Koç", "Anadolu", "Dadaş"),
  Adres = c("Ankara","İstanbul","Artvin","Rize", "Kayseri", "Antalya", "İzmir", "Sivas"),
  Ciro =c(1000, 12500,3000,4000, 6000,8000,9000,1800))%>%
  tidygeocoder::geocode(address = Adres,
                        method = "osm") %>%
  sf::st_as_sf(coords = c("long", "lat"), crs = 4326)


awesome <- makeAwesomeIcon(
  icon = "automobile",
  iconColor = "red",
  markerColor = "blue",
  library = "fa"
)

leaflet(deneme) %>%
  addAwesomeMarkers(icon = awesome,
                    label = ~ Ciro) %>%
  addProviderTiles("Esri.NatGeoWorldMap")

Haritaya Açılan Tablo Ekleme 1

deneme <- data.frame(
  Firma = c("Ulusoy", "Metro", "Süzer", "Kanberoğlu", "Pamukkale","Kamil Koç", "Anadolu", "Dadaş"),
  Adres = c("Ankara","İstanbul","Artvin","Rize", "Kayseri", "Antalya", "İzmir", "Sivas"),
  Ciro =c(1000, 12500,3000,4000, 6000,8000,9000,1800))%>%
  tidygeocoder::geocode(address = Adres,
                        method = "osm") %>%
  sf::st_as_sf(coords = c("long", "lat"), crs = 4326)

leaflet() %>%
  addTiles() %>%
  addCircleMarkers(data = deneme,
                   popup = popupTable(deneme))

Spesifik Yer İşaretleme

Bu kısımda Sanayi ve Teknoloji Bakanlığı’nın adresi, web sitesi etiketlenmiştir.

etiket=content <- paste(sep = "<br/>",
  "<b><a href='https://www.sanayi.gov.tr/anasayfa'>T.C. Sanayi ve Teknoloji Bakanlığı</a></b>",
  "Mustafa Kemal Mahallesi Dumlupınar Bulvarı (Eskişehir Yolu 7.km) 2151. Cadde No:154/A",
  "Çankaya/ANKARA, 06530"
)
leaflet() %>% addTiles() %>% setView(32.78216614147982,39.911152425885824, zoom = 15) %>% addPopups(32.78216614147982,39.911152425885824,etiket, options = popupOptions(closeButton = TRUE))

Buraya kadar yapılan çalışmaların tamamını ve daha fazlasını RPubs üzerinde yayınladığım Crostalk ve Leaflet Paketleriyle Türkiye Depremlerinin Analizi adlı çalışma içerisinde bulabilirsiniz.

Verinin harita üzerinde görselleştirilmesine yönelik yaptığım bu R Markdown çalışmasının özellikle veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına bir katkı sunacağı düşünülmektedir.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

1.https://rstudio.github.io/crosstalk/ 

2.https://emilyriederer.github.io/demo-crosstalk/tutorial/tutorial-rmd.html 

3.https://www.jla-data.net/eng/leaflet-markers-in-r/ 

4.https://rstudio.github.io/leaflet/popups.html 

5.https://rstudio.github.io/crosstalk/using.html 

6.https://emilyriederer.github.io/demo-crosstalk/tutorial/tutorial-rmd.html 

7.https://plotly-r.com/client-side-linking.html 

8.https://nicar.r-journalism.com/docs/crosstalk-flexdashboard-leaflet-datatable/ 

9.https://rstudio-pubs-static.s3.amazonaws.com/367074_7396dc3734544b0f94e04b8801b24664.html 

10.https://rstudio.github.io/crosstalk/using.html 

11.https://rpubs.com/tevfik1461/deprem 

12.https://cran.r-project.org/web/packages/crosstalk/crosstalk.pdf 

13.https://cran.r-project.org/web/packages/leaflet.extras2/leaflet.extras2.pdf 

14.https://mrjoh3.github.io/2018/07/25/filtering-spatial-data/ 

15.https://rdrr.io/cran/leaflet/man/makeAwesomeIcon.html 

16.https://rstudio.github.io/leaflet/popups.html 

17.https://github.com/r-spatial/leafpop

18. Crostalk ve Leaflet Paketleriyle Türkiye Depremlerinin Analizi, https://rpubs.com/tevfik1461/harita

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s