loading...

آموزش برنامه نویسی وب و اپلیکیشن , آموزش طراحی سایت

بازدید : 539
يکشنبه 26 ارديبهشت 1400 زمان : 13:19

چگونه می توان با استفاده از Python و Folium داده های خود را بر روی نقشه ترسیم کرد

Folium یک بسته پایتون است که تمام طیف ابزاری را پیشنهاد می دهد که پایتون برای دستکاری داده ها با کتابچه javascript برای ایجاد نقشه های غنی و تعاملی ارائه می دهد.

طبق معمول برای مقالات من ، من یک دفترچه یادداشت Google colab با تمام کد و نتایج ارائه شده در اینجا ارائه می دهم.

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

pipenv پانداهای فولیوم را نصب کنید

یا

! pip پانداهای فولیوم را نصب کنید
پس از نصب کتابخانه ها ، ایجاد نقشه به سادگی 1 خط کد است:

واردات فولیوم
فولیوم. نقشه (مکان = [48.130518 ، 11.5364172] ، بزرگنمایی_ شروع = 12)
با این کار یک نقشه تعاملی تولید می شود و آن را به دفترچه یادداشت jupyter منتقل می کنید ، جایی که می توانید با آن تعامل داشته باشید. تابع Map چند آرگومان اختیاری را در بر می گیرد ، در مورد ما ما مکان (مختصات) و یک سطح بزرگنمایی پیش فرض را ارسال می کنیم.

اگر همه چیز خوب پیش رفت ، باید یک نقشه مانند این را ببینید:


نقشه اولیه

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

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

همانطور که در ادامه نشان می دهیم ، این به راحتی می تواند با عملکرد نشانگر از فولیوم انجام شود:

m = فولیوم. نقشه (مکان = [48.218871184761596 ، 11.624819877497147] ، بزرگنمایی_استارت = 15)

tooltip = "برای اطلاعات بیشتر اینجا را کلیک کنید"

نشانگر = فولیوم. نشانگر (
مکان = [48.218871184761596 ، 11.624819877497147] ،
popup = " Allianz Arena " ،
راهنمای ابزار = راهنمای ابزار)
نشانگر. اضافه کردن (متر)

متر
مشابه مثال اول ، ابتدا یک شی map نقشه ایجاد می کنیم ، اما سپس یک شی mark مارکر نیز ایجاد می کنیم. شی object نشانگر با عبور مختصات به نقطه ایجاد می شود ، چیزی که می خواهیم هنگام باز کردن کادر کلیک بر روی نشانگر و راهنمای نشانگر در میان گزینه های دیگر ، در پنجره بازشو نشان دهیم.


نقشه با نشانگر

نشانگرها گزینه های مختلفی برای پیکربندی دارند و از آنجا که پنجره بازشو انتظار HTML دارد ، امکانات زیادی وجود دارد. اما اگر بخواهیم نمودارها را در پنجره های بازشو نشان دهیم چه می کنیم؟ آیا راه ساده ای هست؟

پنجره های بازشو برای نشانگرها
Folium پشتیبانی داخلی برای تجسم برای هر نوع نشانگر را فراهم می کند. تجسم توسط کتابخانه های Vincent و Altair فعال می شود.

برای ارائه برخی از تجسم ها ، به برخی از داده ها نیاز داریم ، بنابراین ابتدا این مورد را دریافت می کنیم:

واردات json

درخواست واردات

url = (
"https://raw.githubusercontent.com/python-visualization/folium/master/examples/data"
)
data = json.loads (درخواست.گت (f "{url} /vis1.json"). متن)
بعد ، بیایید داده ها را در یک نشانگر ترسیم کنیم:

m = folium.Map (مکان = [48.218871184761596 ، 11.624819877497147] ، zoom_start = 15 ، کاشی = "زمین Stamen")

نشانگر = فولیوم. نشانگر (
مکان = [48.218871184761596 ، 11.624819877497147] ،
popup = folium. Popup (max_width = 450) .add_child (
فولیوم وگا (داده ، عرض = 450 ، ارتفاع = 250)
) ،
)

نشانگر. اضافه کردن (متر)

متر

نقشه با نشانگر و طرح

عالی است ، اما آیا واقعاً می توانیم نشانگر را تغییر دهیم و نه تنها پنجره بازشو را تغییر دهیم؟ پاسخ کوتاه بله ، و تقریباً با هر چیزی است.

سفارشی کردن نشانگر
تابع Marker پارامترهای مختلفی را فراهم می کند ، از تغییر نماد نشانگر از کتابخانه ای از آیکون های از پیش تعریف شده ، اشکال گرفته تا ساخت نشانگر خود با استفاده از HTML ، و در این مقاله با استفاده از آیکون های از پیش تعریف شده نمونه هایی از 3 را مشاهده خواهیم کرد:

m = فولیوم. نقشه (مکان = [48.218871184761596 ، 11.624819877497147] ، بزرگنمایی_استارت = 15)

tooltip = "برای اطلاعات بیشتر اینجا را کلیک کنید"

نشانگر = فولیوم. نشانگر (
مکان = [48.218871184761596 ، 11.624819877497147] ،
icon = folium.Icon (icon = "ابر") ،
popup = " Allianz Arena " ،
راهنمای ابزار = راهنمای ابزار)
نشانگر. اضافه کردن (متر)

متر

نقشه با نشانگر نماد

با بازگشت به مثال ساده آلیانز آرنا ، ما اکنون نماد را برای یک نشانگر با ابر تغییر داده ایم ، اما این نمادها از کجا آمده اند؟ چه گزینه هایی موجود است؟

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

در مرحله بعدی بیایید از اشکال مانند حلقه ها برای ساخت مارکرهای خود استفاده کنیم:

m = فولیوم. نقشه (مکان = [48.218871184761596 ، 11.624819877497147] ، بزرگنمایی_استارت = 15)

tooltip = "برای اطلاعات بیشتر اینجا را کلیک کنید"

مارکر = فولیوم. CircleMarker (
مکان = [48.218871184761596 ، 11.624819877497147] ،
شعاع = 50 ،
popup = " Allianz Arena " ،
راهنمای ابزار = راهنمای ابزار)
نشانگر. اضافه کردن (متر)

متر

نقشه با نشانگر دایره

آخر اینکه ، ما می توانیم از HTML برای ساختن هر نوع نشانگری که می خواهیم استفاده کنیم.

m = فولیوم. نقشه (مکان = [48.218871184761596 ، 11.624819877497147] ، بزرگنمایی_استارت = 15)

tooltip = "برای اطلاعات بیشتر اینجا را کلیک کنید"

نشانگر = فولیوم. نشانگر (
مکان = [48.218871184761596 ، 11.624819877497147] ،
popup = " Allianz Arena " ،
icon = folium.DivIcon (html = f "" ")

yle = "color: # f00؛ background: #fff؛ width: 60px؛ text-align: center؛"> نشانگر div>
"" ") ،
راهنمای ابزار = راهنمای ابزار)
نشانگر. اضافه کردن (متر)

متر

نقشه با نشانگر HTML

در این مثال آخر ، ما از HTML برای ایجاد یک عنصر DIV و قرار دادن برخی متن ها به عنوان نشانگر استفاده می کنیم ، اما می توانیم از SVG استفاده کرده و هر آنچه را که می خواهید ارائه دهیم. فقط به یاد داشته باشید که HTML خود را در مرکز قرار دهید تا نشانگر در جای مناسب قرار گیرد ، کاری که من در مثال خود انجام ندادم.

نقشه های Choropleth
نقشه های Choropleth نقشه های موضوعی محبوب هستند که برای نشان دادن داده های آماری از طریق الگوهای مختلف سایه یا نمادها در مناطق جغرافیایی از پیش تعیین شده (به عنوان مثال کشورها یا ایالات) استفاده می شوند. آنها در استفاده از داده ها مهارت خوبی دارند تا تنوع اندازه گیری مورد نظر را در مناطق مختلف نشان دهند.

برای ایجاد نقشه های choropleth ما باید با 2 نوع داده ، داده های آماری برای سایه ها یا رنگ هایی که می خواهیم نشان دهیم و داده های مکانی جغرافیایی کار کنیم.

در مثال ما قصد داریم از ایالات ایالات متحده برای تعریف مناطق و آمار بیکاری ایالات متحده استفاده کنیم (نه داده های واقعی).

برچسب ها پایتون , javascript , HTML ,
نظرات این مطلب

تعداد صفحات : 0

درباره ما
موضوعات
آمار سایت
  • کل مطالب : 2
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • بازدید امروز : 1
  • بازدید کننده امروز : 1
  • باردید دیروز : 8
  • بازدید کننده دیروز : 0
  • گوگل امروز : 0
  • گوگل دیروز : 1
  • بازدید هفته : 11
  • بازدید ماه : 64
  • بازدید سال : 486
  • بازدید کلی : 1469
  • <
    پیوندهای روزانه
    آرشیو
    اطلاعات کاربری
    نام کاربری :
    رمز عبور :
  • فراموشی رمز عبور؟
  • خبر نامه


    معرفی وبلاگ به یک دوست


    ایمیل شما :

    ایمیل دوست شما :



    کدهای اختصاصی