Bu Hafta Trend

İlginizi Çekebilir

Python’da Folium Harita Görselleştirme — 1 Temel Bilgiler

Merhabalar, bu yazımda python ile folium kullanarak harita görselleştirmesi nasıl yapılır anlatmaya çalışacağım. Verilerinizi harita üzerinde görselleştirmek verileri gerçek dünya ile daha kolay ilişkilendirmenizi ve daha kolay anlamlandırmanızı sağlar. Konumsal veriler söz konusu olduğunda en ideal görselleştirme yöntemi harita kullanılmaktır.

Kodlara erişebileceğiniz Colab Notebook:

https://colab.research.google.com/drive/1k-7-L4ZjJdebCRZ_gIVfSzabdJgiVhrX?usp=sharing

İçerik

  1. Folium Temel Bilgiler
  2. Harita Üzerinde İşaretleyici(Marker) ve Yol Gösterimleri
  3. Katman Mantığı

Folium Temel Bilgiler

Folium Python da interaktif haritalar görselleştirmeyi sağlayan bir kütüphanedir. Arka planda JavaScript leaflet.js kütüphanesini kullanır. Kullanımı oldukça basittir ve güzel görselleştirmeler yapmanıza olanak sağlar.

Öncelikle folium kütüphanesini içe aktaracağız. Ardından tek bir satır kod ile boş bir harita oluşturarak işe başlayacağız.

import folium
harita = folium.Map(location=[41.01,29.015], zoom_start=11,width=550, height=550,)
harita

location: Haritanın odak noktasının koordinatları

zoom_start: Yakınlık seviyesi (seviye arttıkça yakınlaştırmaktadır.)

width: Haritanın genişliği

height: Haritanın yüksekliği

Farklı Zoom Seviyeleri

Bu kod bloğunu çalıştırarak ilk haritamızı oluşturmuş bulunuyoruz.

Farklı Haritalama Yöntemleri

Haritamızı oluşturduğumuzda varsayımsal olarak openstreetmap görselleştirmesi gelmektedir. Fakat bunu dilediğimiz gibi değiştirebiliriz.

Her bir görselleştirme tekniği farklı amaçlara hizmet etmektedir. Sizin için ideal olan haritalama yöntemini seçebilirsiniz. Görsel olarak örneklerini gösterdiğim harita türlerinden istediğinizi seçip aşağıdaki kod bloğuna yazmanız yeterli olacaktır.

folium.TileLayer istediğiniz görselleştirmeyi oluştururken sonuna add_to() fonksiyonu ekleyerek oluşturduğunuz haritaya eklemeniz gerekmektedir.

folium.TileLayer('Stamen Terrain').add_to(harita)

Harita Üzerinde İşaretleyici(Marker) ve Yol Gösterimleri

Haritamızı oluşturduğumuza göre artık dilediğimiz gibi görselleştirmeye başlayabiliriz. Öncelikle harita üzerine işaretleyici nasıl konulur bunu göreceğiz.

folium.Marker fonksiyonu harita üzerinde işaretleyici yaratmamızı sağlar. Koordinatlarını ve işaretleyicinin özelliklerini dilediğimiz gibi ayarlayabiliriz. add_to() fonksiyonu ile her bir işaretleyiciyi haritamıza ekliyoruz.

location: İşaretleyicinin koordinatlarının girildiği alan

popup: Üzerine tıklandığında gösterilecek olan açıklama

tooltip: Üzerine gelindiğinde gösterilecek olan açıklama

icon: İşaretleyicimizi temsil edecek ikon

  • color: İkonun rengi
  • icon: İkonun sahip olduğu simge

Not: İşaretleyicinizin üzerine çeşitli simgeler koyabilirsiniz. Aşağıdaki site üzerinden farklı simgeleri görüntüleyebilirsiniz. (prefix=’fa’ kodu ile birlikte kullanmalısınız)

fontawesome.com

Aşağıda farklı renklerde ve simgelerde 3 adet işaretleyici oluşturuyoruz.

folium.Marker(location=[41.010302, 29.051585],popup='Acıbadem',tooltip='<strong>Detaylar için tıklayın</strong>',icon=folium.Icon(color='red',icon='home')).add_to(harita)

folium.Marker(location=[41.048759, 29.007041],popup='Beşiktaş',tooltip='<strong>Detaylar için tıklayın</strong>',icon=folium.Icon(color='blue',prefix='fa',icon='car')).add_to(harita)

folium.Marker(location=[41.057841, 29.007653],popup='Beşiktaş',tooltip='<strong>Detaylar için tıklayın</strong>',icon=folium.Icon(color='purple',prefix='fa',icon='globe')).add_to(harita)

İşaretleyicinin üzerinde geldiğinizde tooltip parametresine girdiğiniz açıklamayı görürsünüz. Bizim örneğimizde “Detaylar için tıklayın” yazısını görüyoruz. İşaretleyicinin üzerine tıkladığımız da ise popup parametresine yazdığımız açıklamayı görmekteyiz.

Noktalarımızı eklediğimize göre sıra noktalar arasında yol çizmeye geldi. folium.vector_layers.PolyLine fonksiyonu dilediğiniz koordinatlar ile yol çizmenize olanak sağlayacaktır.

  • weight: Yolun kalınlığı
  • color: Yolun rengi
folium.vector_layers.PolyLine([[41.010302, 29.051585],[41.057841, 29.007653]],popup='<b>30dk</b>',tooltip='Ev -> İş',color='green',weight=10).add_to(harita)

Katman Mantığı

Bu yazımızda son olarak eklediğimiz bütün nesneleri katman mantığında düzenlemeyi öğreneceğiz.

Foliumda istediğiniz herhangi bri yolu, işaretleyiciyi vs. katmanlara atayıp açıp kapama imkanına sahipsiniz. Örnek olarak 3 farklı katman oluşturuyorum. Bunlar Yolculuk 1 / 2 / 3 isimleri verdim.

f1=folium.FeatureGroup("Yolculuk 1")
f2=folium.FeatureGroup("Yolculuk 2")
f3=folium.FeatureGroup("Yolculuk 3")

Önceki örneğe ek olarak 3 farklı yol oluşturuyorum ve bunları add_to() fonksiyonu ile ana haritama atamak yerine oluşturduğum katmanlara ekliyorum.

folium.vector_layers.PolyLine([[41.010302, 29.051585],[41.057841, 29.007653]],popup='<b>30dk</b>',tooltip='Ev -> İş',color='green',weight=10).add_to(f1)folium.vector_layers.PolyLine([[41.048759, 29.007041],[41.057841, 29.007653]],popup='<b>5dk</b>',tooltip='Araba -> İş',color='green',weight=10).add_to(f2)folium.vector_layers.PolyLine([[41.048759, 29.007041],[41.010302, 29.051585]],popup='<b>40dk</b>',tooltip='Araba -> Ev',color='green',weight=10).add_to(f3)

Ardından oluşturduğum 3 katmanı ana haritama ekliyorum. folium.LayetControl() fonksiyonu ile istediğim katmanları açıp kapama şansına sahip oluyorum.

f1.add_to(harita)
f2.add_to(harita)
f3.add_to(harita)
folium.LayerControl().add_to(harita)

Sonraki yazılarımda veri ile görselleştirmeyi ve ekstra eklenebilecek özellikleri açıklayacağım.

Popüler kategoriler

Bizi Takip Et !