Folium ve Python ile Basit Bir Harita Oluşturma

Python'da Folium kullanarak bisiklet kiralama konum verilerini almak, basit bir harita oluşturmak ve her konum için ona puan eklemek için attığım adımların üzerinden geçiyorum

Unsplash'ta Calvin Hanson'ın fotoğrafı

Genellikle verilerle çalışırken enlem ve boylam koordinatları gibi jeo-uzamsal özelliklere erişiminiz olur. Bir veri kümesinin örneklerinin farklı konumlara nasıl yayıldığı hakkında bir fikir edinmek için bunları haritalamak ilginç olabilir.

Bu kısa makalede, bisiklet kiralama konum verilerini almak ve konumları bir harita üzerinde göstermek için attığım adımların üzerinden geçiyorum. Dublin Bisiklet verilerini kullanıyorum (https://data.smartdublin.ie/dataset/dublinbikes-api) ve Folium kitaplığı (https://python-visualization.github.io/folium/), belgelerin dediği gibi, “Python ekosisteminin veri çekişme güçlü yönlerine ve leaflet.jskitaplığın haritalama güçlü yönlerine dayanır ”. Broşür hakkında daha fazla bilgiyi buradaki belgelerde bulabilirsiniz .

Gereksinimler

Python 3.7, Folium 0.12.1 ve Pandas 1.2.4 kullandım. Anaconda Navigator'da Jupyter Notebook'ları da kullanıyorum .

Veri

Çalıştığım veriler , özellikle bisiklet kiralama istasyonlarının konumu olan Dublin Bisiklet API'sinden alınmıştır :

https://data.smartdublin.ie/dataset/33ec9fe2-4957-4e9a-ab55-c5e917c7a9ab/resource/2dec86ed-76ed-47a3-ae28-646db5c5b965/download/dublin.csv

Adım 1 — Pandaları ve Foliumu İçe Aktarma

İlk adım, her zaman olduğu gibi kitaplıkları içe aktarmaktır:

import pandas as pd
import folium

Pandaları kullanarak doğrudan istediğim CSV dosyasının konumuna giderim:

location = "https://data.smartdublin.ie/dataset/33ec9fe2-4957-4e9a-ab55-c5e917c7a9ab/resource/2dec86ed-76ed-47a3-ae28-646db5c5b965/download/dublin.csv"
bike_station_locations = pd.read_csv(location)

Adım 3 — Yalnızca ihtiyacım olan sütunları tutmak

Konumun Enlem , Boylam ve Adını tutmak istiyorum . İlk iki sütun, konumları haritalamama izin verecek ve ikincisini, her bir konum pinine bir ad vermek için kullanacağım:

bike_station_locations = bike_station_locations[["Latitude", "Longitude", "Name"]]

Harita için ilk adım, istediğim konumun haritasını oluşturmak. Location parametresini kullanarak, haritayı oraya ortalamak zorunda olduğum enlem ve boylam koordinatlarının ortalamasını geçiyorum.

map = folium.Map(location=[bike_station_locations.Latitude.mean(), bike_station_locations.Longitude.mean()], zoom_start=14, control_scale=True

Adım 5 — Haritaya noktalar ekleme

Şimdi haritaya her bisiklet istasyonu konumu için puan ekliyorum. Veri çerçevesinin her satırını yineleyerek, konum enlem ve boylamlarını bir liste olarak folium.Marker'a iletiyorum ve adı açılır parametreye iletiyorum. Ve haritaya eklediğim her konum için:

for index, location_info in bike_station_locations.iterrows():
    folium.Marker([location_info["Latitude"], location_info["Longitude"]], popup=location_info["Name"]).add_to(map)

Not: Haritalar varsayılan olarak bir OpenStreetMap döşemesi kullanır, ancak harita oluşturulurken parametre döşemeleri parametresi ve değeri eklenerek diğer seçenekler kullanılabilir . Buradaki belgelerde örnekler var .

OpenStreetMap hakkında daha fazla bilgiyi burada bulabilirsiniz .

Sonuç

Folium'u Python ile kullanmak, jeo-uzamsal verileri haritalamaya başlamanın harika bir yoludur. Birkaç satır kod ile temel haritaları bir araya getirmek mümkündür. Mevcut birçok başka seçenek var ve belgeler keşfetmeye değer.

Jupyter Notebook burada mevcuttur .

Tüm ekran görüntüleri yazar tarafından alınmıştır. Tarafından Tanıtım görüntü Calvin Hanson üzerinde Unsplash .

Suggested posts

Langchain kullanarak ChatGPT eklentilerini ücretsiz çalıştırma

Langchain kullanarak ChatGPT eklentilerini ücretsiz çalıştırma

Tarayıcı, Kod Tercüman vb. tüm yeni güçlü ChatGPT eklentilerini duymuş olmalısınız. Ancak bir sorun var, eklentilere erişim bir bekleme listesiyle sınırlıdır ve bu nedenle birçoğunun buna erişimi yoktur.

En çok kullandığım kodlama kaynaklarım

En çok kullandığım kodlama kaynaklarım

Bu hafta, günlük e-posta listesinin bir üyesinden bir e-posta aldım. Bilmek istediler: Günlük, haftalık ve aylık olarak hangi kaynakları ziyaret ediyorsunuz? Harika soru! İş akışım ve kullandığım en önemli kaynaklar hakkında bazı bilgileri paylaşmaya çalışmaktan mutluluk duyuyorum.

Related posts

Neden bazı serbest çalışanlar hayatlarını taklit ediyorlar?

Neden bazı serbest çalışanlar hayatlarını taklit ediyorlar?

Geçenlerde dünyanın en büyük profesyonel sosyal ağı olan Linkedin'deydim ve dikkatimi çeken, takip ettiğim serbest tasarımcıların gönderilerini buldum. Hepsi uçaklardan, dizüstü bilgisayarlarıyla sahilden, yüzme havuzlarından ve muhteşem manzaralı ofislerden fotoğraflar yayınladılar.

Alan Adları Hakkında Bilgi Bulma

Brian P. Hogan'ın Küçük, Keskin Yazılım Araçları'ndan bir alıntı

Alan Adları Hakkında Bilgi Bulma

facebook.com'a bir talepte bulunduğunuzda, bilgisayarınız o bağlantıyı kurabilmesi için bu alan adını bir IP adresine çevirmek üzere alan adını arar.

Hristiyanlara Yönelik Zulüm: Bahsetmediğimiz Nefret Suçu

İslamofobiyi unutun: Hristiyanlar (ve Yahudiler) dini nefret suçlarının başlıca kurbanlarıdır.

Hristiyanlara Yönelik Zulüm: Bahsetmediğimiz Nefret Suçu

Her rasyonel akıl, siyaset ve medya çevrelerinde solun, hatta aşırı solun hakim olduğunu bilir, bu durum siyasi söylemde bir dengesizlik yaratır. Din alanında, bu dengesizlik açıkça görülüyor: solcu gazeteler ve ağlar, Hıristiyan inancını savunmak için acele etmiyorlar.

O Tehdit Arşivi: Cilt 7 Black Basta

O Tehdit Arşivi: Cilt 7 Black Basta

Günümüzün birbirine bağlı dünyasında, siber saldırı tehdidi her zamankinden daha yaygın. Siber suçlular ve ulus-devlet aktörleri sürekli olarak güvenlik açıklarından yararlanmaya ve değerli verileri çalmaya çalışarak her büyüklükteki kuruluş için önemli bir risk oluşturuyor.