نقشه تعاملی Choropleth برای تصویرسازی داده‌های مکانی

شکل ۱. نقشه کره زمین
شکل ۱. نقشه کره زمین
منتشر‌شده در towardsdatascience به تاریخ ۲۲ ژوئن ۲۰۲۱
لینک منبع Interactive Choropleth Map for Geospatial Data Visualization

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

من برای این کار از یک محیط نوت بوک Jupyter استفاده کردم. اگر از یک نوت بوکJupyter استفاده می‌کنید، باید با استفاده از دستور زیر موسیر را نصب کنید:

conda install -c conda-forge folium=0.5.0 — yes

یا درخواست شما این است که این مستندساز را بررسی کنید. من از پنجره استفاده کردم.

حالا ما می‌توانیم فولیوم را در دفترچه یادداشت وارد کنیم. فولیوم نقشه جهان را دارد که در آن ساخته شده‌است.

import folium
folium.Map()

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

folium.Map(location = [27.664827, -81.516], zoom_start = 4)

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

florida = folium.Map(location = [27.664827, -81.516], zoom_start = 7)

بیایید چند سبک مختلف را ببینیم. یک نقشه سیاه و سفید با کنتراست بالا ایجاد کنید. شما می‌توانید با استفاده از تایل‌های پارامتری به آن دست یابید. برای یک تصویر سیاه و سفید با کنتراست بالا، تایل‌ها «Stamen Toner» خواهند بود.

folium.Map(location= [27.665, -81.516], zoom_start = 8, tiles = 'Stamen Toner')

چه خوب! این نوع نقشه برای منطقه ساحلی عالی است. همچنین برای مش‌بندی داده‌ها خوب است.

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

folium.Map(location= [27.665, -81.516], zoom_start = 4, tiles = 'Stamen Terrain')

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

rashida048/Datasets

وارد کردن مجموعه داده به دفترچه یادداشت.

import pandas as pd
florida_incidents = pd.read_csv('Florida_Subsidence_Incident_Reports.csv')

مجموعه داده بسیار بزرگ است. بنابراین من تصویر را در اینجا نشان نمی‌دهم. اما مجموعه داده دارای ستون X و Y است که طول جغرافیایی و عرض جغرافیایی مکان‌های مختلف فلوریدا هستند. ما می‌توانیم این مکان‌ها را روی نقشه قرار دهیم و یک گروه ویژگی ایجاد کنیم. ما موقعیت‌ها و سبک‌های این نکات را در نظر خواهیم گرفت. برای وضوح تصویر من تنها ۱۰۰ نقطه داده قرار می‌دهم.

florida_incidents = florida_incidents.iloc[0:100, :]
florida = folium.Map(location= [27.665, -81.516], zoom_start = 7)
incidents = folium.map.FeatureGroup()
for lat, lng, in zip(florida_incidents.Y, florida_incidents.X):
incidents.add_child(
folium.features.CircleMarker(
[lat, lng],
radius=5,
color='yellow',
fill=True,
fill_color='blue',
fill_opacity=0.6))florida.add_child(incidents)

می‌توانیم فراتر برویم و نشانه‌ها را به آن نقاط اضافه کنیم.

latitudes = list(florida_incidents.Y)
longitudes = list(florida_incidents.X)for lat, lng in zip(latitudes, longitudes):
folium.Marker([lat, lng]).add_to(florida)
florida.add_child(incidents)

به راحتی می‌توانید زوم کنید و با یک شهر یا شهرستان خاص، وقایع را مشاهده کنید.

نتیجه‌گیری

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

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