Günümüz dünyasında veri analizi artık bir disiplinlerarası ihtiyaç olarak kendini hissettiyor. Çeşitli adımlardan meydana gelen bu sürecin en önemli noktalarından biri de elbette veri görselleştirme. Özellikle coğrafi veri analizleri ile ilgilenen uzmanlar için haritalama oldukça önemli bir ihtiyaç. Bu yazıda sizlere R’da oceanmap
paketi kullanılarak dünya üzerindeki herhangi bir deniz ya da okyanus gibi su kütlesinin grafiğinin nasıl çizdirilebileceğini kısaca anlatmaya çalışacağım. Bu paket özellikle coğrafik ve oşinografik verilerin görselleştirilmesinde büyük avantaj sağlıyor.
Bauer tarafından geliştirilen bu paketin detaylı tutorial dosyasına bu adresten ulaşabilirsiniz.
oceanmap
paketi 4 temel fonksiyona dayanıyor. Bunlar
plotmap
set.colorbar
figure
v
Biz bu fonksiyonlardan plotmap’e odaklanacağız çünkü amacımız sadece basit bir haritalandırma işlemi. Ancak özellikle deniz sıcaklığı gibi konularla alakalı görselleştirme yapmak isteyenler v
fonksiyonuna göz atmalı. Öte yandan figure komutu sadece elde edilen haritanın kaydedimesi ya da boyutunun ayarlanması ile ilgili bir işleve sahip ancak R Studio’daki Plots ekranında da bununla alakalı işlemleri gerçekleştirmek mümkün.
plotmap
komutu
plotmap
fonksiyonu ile coğrafik ya da oşinografik verileri fazla bir uğraş harcamadan kolaylıkla görselleştirebiliyoruz. Bu komut yardımı ile 5 farklı yol kullanarak harita çizdirebiliriz.
Koordinatları girerek
Su kütlelerine özel anahtar kelimeler kullanarak; örneğin Akdeniz için "med4
Raster nesneleri kullanarak
Kapsam nesneleri kullanarak
Mevcut grafiğin üzerine ek bir katman olarak
Bu yazıda ben koordinatlar girilerek harita çiziminden ve o harita üzerinde yapılacak bazı basit manipülasyonlardan bahsedeceğim. Ancak bonus olarak ikinci sıradaki anahtar kelimeye de örnek vereceğim.
Diyelim ki amacımız Marmara Denizi’ni çizdirmek olsun. Marmara Denizi için ihtiyacımız olan koordinat değerleri 25-30 Kuzey Boylamı, 40-42 Doğu Enlemi. Şimdi paketimizi çağırıp koordinatlarımızı belirleyelim.
## Warning: package 'oceanmap' was built under R version 3.6.3
## Warning: package 'maps' was built under R version 3.6.3
## Warning: package 'mapdata' was built under R version 3.6.3
## Warning: package 'raster' was built under R version 3.6.3
## Warning: package 'sp' was built under R version 3.6.3
## Warning: package 'extrafont' was built under R version 3.6.2
Not: Batı boylam ve Güney enlem değerleri girerken - işaretini kullanacağız.
Koordinatlarımızı belirledikten sonra plotmap
komutuyla haritamızı çizdirebiliriz.
İşte Marmara Denizi!
Şimdi gelin üzerinde biraz oynama yapalım. Orta seviye bir R kullancısıysanız eğer grafiğin temasından bu haritaların base R plot teması ile oluşturulduğunu, o yüzden manipülasyonlar için base R komutlarını kullanmamız gerektiğini tahmin edebilirsiniz ki BİNGO! Doğru tahmin.
İlk olarak haritamıza bir başlık ekleyelim. Bunun için plot komutundan aşina olduğumuz main
argümanını kullanacağız.
Mesela Marmara Denizi’nde bir noktada bir doğal olay gerçekleşti ve onu bir nokta ile göstermek istiyoruz. Bunun için plotmap komutumuzun hemen sonrasında points
komutunu kullanarak istediğimiz bir bölgeyi nokta işareti ile niteleyebiliriz.
plotmap ( lon=lon , lat=lat,main="Marmara Denizi")
points(x = 28.5,y=40.6,col="red") #Belirli bir bölgeye nokta koyalım
Eğer bir alanı belirtmek istersek plotmapten hemen sonra rect
komutunu kullanmamız yeterli.
plotmap (lon=lon , lat=lat,main="Marmara Denizi")
rect(xleft = 28, ybottom = 40.632, xright =28.7, ytop=40.7,col="red")
Eğer haritamızdaki su kütlesi bölümünü renklendirmek istersek plotmap komutu içindeki col.bg
argümanını kullanabiliriz.
Haritamızdaki eksen isimleri ve değerleri kaldırmak istersek eğer
plotmap ( lon=lon , lat=lat , main ="Marmara Denizi",col.bg="blue",axeslabels =F) #axeslabels =F : lattitude ve longitude adlarını siliyor.
Arkadaki grid çizgilerini silmek istersek eğer;
plotmap ( lon=lon , lat=lat , main ="Marmara Denizi",col.bg="blue",axeslabels =F,ticklabels = F,grid = F)
Son olarak haritamız üzerinde bir bölgeye yazı eklemek istersek, text
komutu ve ilgili argümanları işimize yarayacaktır.
plotmap ( lon=lon , lat=lat , main =" ",col.bg="blue",ticklabels = F,axeslabels =F,grid=F)
text(x = 28.3, y=40.8, "Marmara Denizi",font =2,col ="white",cex=0.75)
Koordinatlar kullanarak plotmap’in kullanımından sonra şimdi paket içinde yer alan anahtar kelimeler yardımıyla haritalamayı gösterelim. Örneğin Akdeniz’i çizdirmek istiyoruz.
Ya da Cebelitarık Boğazı’nı çizdirmek istiyoruz.
Aşağıdaki tabloda yer alan anahtar kelimelerle karşılık gelen bölgelerin haritalandırmasını yapabilirsiniz. Umarım faydalı olacak bir öğretici olmuştur.
$$
med4 -> Akdeniz
medw4 -> Batı Akdeniz
lion -> Aslan Golfü
survey -> hava araştırması
medm9 -> Akdeniz
gib -> Cebelitarık Boğazı
bal -> balear adaları
CANARY -> Kanarya
med-nw1 -> KB Akdeniz
can4 -> Kanarya
med025 -> Akdeniz
mednw4 -> KB Akdeniz
med9 -> Akdeniz
golts -> aslanların ifremer-osis körfezi survey2 -> havadan orkinos araştırmaları
tp -> Tropikal Pasifik
survey3 -> hava araştırması
wio -> batı hint okyanusu
WIO -> batı Hint Okyanusu
WAO -> Batı Atlantik Okyanusu
WCPO -> Batı Pasifik
NEAO -> kuzeydoğu atlantik
NEAO2 -> Kuzeydoğu Atlantik Okyanusu
NEAO3 -> kuzeydoğu atlantik
WIO1 -> Batı Hint
alion -> Aslanlar Körfezi
WIO2 -> Batı Hint
hic -> Hawaii Adası zinciri
mhi -> Ana Hawaii adaları
$$
Soru ve görüşleriniz için : ozancan@metu.edu.tr