ساخت یک نقشه ساده با فولیوم و پایتون

شکل ۱. نقشه
شکل ۱. نقشه
منتشر‌شده در: towardsdatascience به تاریخ ۱۵ ژوئن ۲۰۲۱
لینک منبع Creating a Simple Map with Folium and Python

اغلب هنگام کار با داده‌ها شما به ویژگی‌های مکانی مانند مختصات عرض جغرافیایی و طول جغرافیایی دسترسی خواهید داشت. نقشه این موارد می‌تواند جالب باشد تا ایده‌ای از چگونگی گسترش نمونه‌های یک مجموعه داده در مکان‌های مختلف به دست آید.

در این مقاله کوتاه، مراحلی را که برای جمع‌آوری داده‌های مکان اجاره دوچرخه برداشته‌ام و مکان‌ها را بر روی نقشه نشان می‌دهم، طی می‌کنم. من از داده‌های دوچرخه دوبلین(https://data.smartdublin.ie/dataset/dublinbikes-api) و کتابخانه فولیوم( https://python-visualization.github.io/folium/) استفاده می‌کنم، که همانطور که در اسناد آمده است، "بر اساس درگیری‌های موجود در داده‌ها از اکوسیستم پایتون و نقاط قوت نگاشت کتابخانه leaflet.js ساخته شده است". اطلاعات بیشتر در مورد Leaflet را می‌توانید در اسناد موجود در اینجا پیدا کنید.

الزامات

من از پایتون ۳.۷، فولیوم ۰.۱۲.۱ و پانداس ۱.۲.۴ استفاده کردم. من همچنین از نوت بوک‌هایJupyter در Anaconda Navigator استفاده می‌کنم.

داده‌ها

داده‌هایی که من با آن‌ها کار می‌کنم از API بایکس دوبلین است، به طور خاص محل ایستگاه‌های اجاره دوچرخه:

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

داده‌های جالب دیگری نیز در رابطه با داده‌های علاقمند به دوبلین وجود دارد، از جمله داده‌های مربوط به استفاده از دوچرخه. چیزی که می‌خواهم در آینده کشف کنم.

مرحله ۱-وارد کردن پانداس و فونیوم

اولین قدم، مثل همیشه، وارد کردن کتابخانه‌ها است:

import pandas as pd
import folium

مرحله ۲-به دست آوردن محل ایستگاه دوچرخه و صرفه‌جویی در چارچوب داده Pandas

من با استفاده ازPandas مستقیما به مکان فایل CSV که می‌خواهم می‌روم:

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)

حالا من محل ایستگاه دوچرخه را در اختیار دارم.

مرحله ۳-تنها نگه داشتن ستون‌هایی که نیاز دارم

می‌خواهم عرض جغرافیایی، طول جغرافیایی و نام محل را حفظ کنم. دو ستون اول به من این امکان را می‌دهند تا مکان‌ها را نقشه‌برداری کنم و ستون دوم از آن برای دادن یک نام به هر مکان استفاده خواهم کرد:

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

مرحله ۴-ایجاد نقشه

برای این نقشه، اولین قدم ایجاد یک نقشه از مکانی است که من می‌خواهم. با استفاده از پارامتر مکان، من از میانگین مختصات طول و عرض جغرافیایی عبور می‌کنم و باید نقشه را در آنجا قرار دهم.

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

این کار یک نقشه خالی را در مرکز مکانی که قبلا داده شده‌بود و به ۱۴ بزرگنمایی شده بود، می‌دهد.

مرحله ۵-افزودن نقاط به نقشه

حالا من نقاط هر ایستگاه دوچرخه را به نقشه اضافه می‌کنم. با تکرار در هر ردیف از کادر داده، من عرض جغرافیایی محل و طول جغرافیایی را به عنوان یک لیست به folium.Marker منتقل کرده و نام را به پارامتر نمایه منتقل می‌کنم. و برای هر مکان به نقشه اضافه می‌کنم:

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

سپس نقشه را نشان می‌دهم:

نکته: نقشه‌ها به طور پیش‌فرض از یک تایل OpenStreetMap استفاده می‌کنند، اگرچه گزینه‌های دیگر را می توان با اضافه کردن پارامتر و مقدار در هنگام ایجاد نقشه استفاده کرد. مثال‌هایی در این زمینه وجود دارد.

اطلاعات بیشتر دربارهOpenStreetMap را می توان در اینجا یافت.

نتیجه‌گیری

استفاده از فولوم با پایتون یک راه عالی برای شروع با نقشه‌برداری داده‌های مکانی است. با چند خط کد می توان نقشه‌های پایه را کنار هم قرار داد. گزینه‌های بسیار دیگری نیز در دسترس هستند و مستندات ارزش بررسی دارند. Jupyter Notebook در اینجا موجود است.

این متن با استفاده از ربات مترجم مقالات دیتاساینس ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.
مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.