কম্পিউটার টিউটোরিয়াল

পাইথনে gmplot প্যাকেজ ব্যবহার করে গুগল ম্যাপ প্লট করা


গুগল ম্যাপসে জিওগ্রাফিক্যাল কোঅর্ডিনেট আঁকার অনেক উপায় রয়েছে। যাইহোক, যদি আপনি এটিকে একটি লোকাল ফাইলে সংরক্ষণ করতে চান, তবে gmplot নামের একটি পাইথন মডিউল ব্যবহার করে এটি করা ভালো উপায়।

পাইথন লাইব্রেরি gmplot আমাদের গুগল ম্যাপসে ডেটা প্লট করতে দেয়। gmplot-এ matplotlib-লাইক ইন্টারফেস রয়েছে যা HTML এবং জাভাস্ক্রিপ্ট জেনারেট করে গুগল ম্যাপের উপরে সকল অ্যাডিশনাল ডেটা ডেলিভার করতে।

ইনস্টলেশন

gmplot ইزیলি pip ব্যবহার করে ইনস্টল করা যায় যদি gmplot ইতিমধ্যে ইনস্টল করা না থাকে -

pip install gmplot

উপরোক্ত কমান্ড রান করলে আউটপুট কিছু এইরকম দেখাবে -

পাইথনে gmplot প্যাকেজ ব্যবহার করে গুগল ম্যাপ প্লট করা

উপরে থেকে আমরা দেখতে পাচ্ছি gmplot-1.2.0 লেটেস্ট ভার্সন আপনার কম্পিউটারে ইনস্টল হয়েছে।

gmplot লাইব্রেরিতে এক্সপ্লোরেটরি ম্যাপ ভিউ তৈরি করার জন্য বেশ কিছু প্লটিং মেথড রয়েছে। gmplot গুগল ম্যাপ তৈরি করার জন্য খুব ফ্লেক্সিবল কারণ আমরা এটিকে ব্যবহার করে সরাসরি HTML জেনারেট করতে পারি।

নিচে এটাকে অর্জন করার বিভিন্ন উপায় দেওয়া হলো -

কেস ১ - gmplot ব্যবহার করে বেস ম্যাপ তৈরি করা

আপনি যদি ম্যাপটিকে একটি নির্দিষ্ট লোকেশনে রাখতে চান, তবে আপনাকে সেই লোকেশনের ল্যাটিটিউড-লংগিটিউড ভ্যালু এবং জুম রেজোলিউশন লিখতে হবে।

# gmplot লাইব্রেরি ইম্পোর্ট করুন
from gmplot import *

# ম্যাপ প্লেস করুন
# প্রথম দুটি আর্গুমেন্ট হলো জিওগ্রাফিক্যাল কোঅর্ডিনেট .i.e. Latitude এবং Longitude
# এবং জুম রেজোলিউশন
gmap = gmplot.GoogleMapPlotter(17.438139, 78.39583, 18)

# আপনি যেখানে ফাইল সংরক্ষণ করতে চান
gmap.draw("C:\\Users\\rajesh\\Desktop\\map11.html")

আউটপুট ১

পাইথনে gmplot প্যাকেজ ব্যবহার করে গুগল ম্যাপ প্লট করা

নোট - উপরের স্ক্রিন ডিসপ্লে আমরা দেখছি কারণ গুগল ম্যাপস সার্ভিস এখন ফ্রি নয় যদি আপনি API-এর মাধ্যমে অ্যাক্সেস করেন। আপনাকে আপনার API_KEY যোগ করতে হবে একটি ভালো গুগল ম্যাপ ভিউ পাওয়ার জন্য। নিচে কোড দেওয়া হলো -

কেস ১ (GOOGLE_API_KEY যোগ করে)

gmplot ব্যবহার করে বেস ম্যাপ তৈরি করা

# gmplot লাইব্রেরি ইম্পোর্ট করুন
from gmplot import *

# ম্যাপ প্লেস করুন
# প্রথম দুটি আর্গুমেন্ট হলো জিওগ্রাফিক্যাল কোঅর্ডিনেট .i.e. Latitude এবং Longitude
# এবং জুম রেজোলিউশন
gmap = gmplot.GoogleMapPlotter(17.438139, 78.3936413, 11)

# কারণ গুগল ম্যাপস এখন ফ্রি সার্ভিস নয়, আপনাকে একটি api key প্রয়োজন। নিচের লাইন কমেন্ট করলে আপনি স্ক্রিনে "For Development Purpose Only" লিখা দেখবেন এবং ম্যাপ লো রেজোলিউশনে থাকবে।
# gmap.apikey = "Your_API_KEY"
gmap.apikey = "AIzaSyDeRNMnZ__VnQDiATiuz4kPjF_c9r1kWe8"

# আপনি যেখানে ফাইল সংরক্ষণ করতে চান
gmap.draw("C:\\Users\\rajesh\\Desktop\\map11.html")

নোট - আপনাকে গুগল ম্যাপস API key ('Your_API_KEY') যোগ করতে হবে এবং gmap.apikey-এর সমান সেট করতে হবে। নিচের আউটপুট আসছে কারণ আমি আমার নিজের key ব্যবহার করেছি, যা আপনিও নিচের লিংক থেকে পেতে পারেন -

https://developers.google.com/maps/documentation/embed/get-api-key

আউটপুট ১

পাইথনে gmplot প্যাকেজ ব্যবহার করে গুগল ম্যাপ প্লট করা

কেস ২ - গুগল ম্যাপে পলিগন আঁকা

# gmplot প্যাকেজ ইম্পোর্ট করুন
import gmplot

latitude_list = [17.4567417, 17.5587901, 17.6245545]
longitude_list = [78.2913637, 78.007699, 77.9266135]

gmap = gmplot.GoogleMapPlotter(17.438139, 78.3936413, 11)
gmap.scatter(latitude_list, longitude_list, '#FF0000', size=40, marker=False)

# polygon মেথড
# কোঅর্ডিনেটের সাহায্যে একটি পলিগন আঁকুন
gmap.polygon(latitude_list, longitude_list, color='cornflowerblue')

gmap.apikey = "Your_API_KEY"
gmap.draw("C:\\Users\\rajesh\\Desktop\\map3.html")

আউটপুট ২

পাইথনে gmplot প্যাকেজ ব্যবহার করে গুগল ম্যাপ প্লট করা

কেস ৩ - গুগল ম্যাপে স্ক্যাটার পয়েন্ট এবং দिये गये কোঅর্ডিনেটের মাঝপথে লাইন আঁকা

# gmplot প্যাকেজ ইম্পোর্ট করুন
import gmplot

# ভিন্ন ল্যাটিটিউড এবং লংগিটিউড পয়েন্ট সেট করুন
Charminar_top_attraction_lats, Charminar_top_attraction_lons = zip(*[
    (17.3833, 78.4011), (17.4239, 78.4738), (17.3713, 78.4804), (17.3616, 78.4747),
    (17.3578, 78.4717), (17.3604, 78.4736), (17.2543, 78.6808), (17.4062, 78.4691),
    (17.3950, 78.3968), (17.3587, 78.2988), (17.4156, 78.4750)])

# ম্যাপের সেন্টার ডিক্লোর করুন, এবং কতটুকু জুম ইন করব
gmap3 = gmplot.GoogleMapPlotter(17.3616, 78.4747, 13)

# Scatter map
gmap3.scatter(Charminar_top_attraction_lats, Charminar_top_attraction_lons, '#FF0000', size=50, marker=False)

# Plot মেথড
# দিয়ে गये কোঅর্ডিনেটের মাঝপথে লাইন আঁকুন
gmap3.plot(Charminar_top_attraction_lats, Charminar_top_attraction_lons, 'cornflowerblue', edge_width=3.0)

# আপনার Google_API_Key
gmap.apikey = "API_Key"

# html-এ সংরক্ষণ করুন
gmap3.draw(r"c:\users\rajesh\desktop\maps\scatter.html")

আউটপুট ৩

পাইথনে gmplot প্যাকেজ ব্যবহার করে গুগল ম্যাপ প্লট করা

কেস ৪: একটি গ্রাফে হিটম্যাপ এবং স্ক্যাটার ব্যবহার করে भूকম্প রিপ্রেজেন্ট করা

# গুরুত্বপূর্ণ লাইব্রেরি ইম্পোর্ট করুন
import gmplot
import numpy as np

# ৭০০টি র‍্যান্ডম ল্যাট এবং লন জেনারেট করুন
latitude = (np.random.random_sample(size=700) - 0.5) * 180
longitude = (np.random.random_sample(size=700) - 0.5) * 360

# ম্যাপের সেন্টার ডিক্লোর করুন, এবং কতটুকু জুম ইন করব
gmap = gmplot.GoogleMapPlotter(0, 0, 2)

# হিটম্যাপ প্লট করুন
gmap.heatmap(latitude, longitude)
gmap.scatter(latitude, longitude, c='r', marker=True)

# আপনার Google_API_Key
gmap.apikey = "Your_Google_API_Key"

# html-এ সংরক্ষণ করুন
gmap.draw(r"c:\users\rajesh\desktop\maps\country_heatmap.html")

আউটপুট

পাইথনে gmplot প্যাকেজ ব্যবহার করে গুগল ম্যাপ প্লট করা


  1. পাইথন কোড ব্যবহার করে গুগল সার্চ করা

  2. পাইথন Plotly ব্যবহার করে জিওগ্রাফিক্যাল প্লটিং (Geographical Plotting)

  3. পাইথনে cx_Freeze ব্যবহার করে এক্সিকিউটেবল বানানো

  4. পাইথনে SunPy ব্যবহার করে সৌর ছবি প্লট করা