কিছু গবেষণা কাজে, গবেষকরা GPS মডিউল ব্যবহার করে প্রাণীদের আচরণ ট্র্যাক করে। তারা ট্র্যাক করতে পারে কিভাবে তারা বছরের বিভিন্ন সময়ে বিভিন্ন জায়গায় ভ্রমণ করে।
এই উদাহরণে আমরা সেই ধরণের ডেটাসেট ব্যবহার করছি যাতে পাখিদের ভিন্ন জায়গায় কীভাবে ঘুরে বেড়াচ্ছে সেটা বোঝা যায়। এই ডেটাসেটে GPS মডিউল থেকে লোকেশন ডিটেইলস সংরক্ষিত আছে। সম্পূর্ণ ডেটাসেট CSV ফর্মে রয়েছে। সেটাতে বিভিন্ন ফিল্ড রয়েছে। প্রথমটি Bird ID, তারপর date_time, Latitude, longitude এবং speed।
এই টাস্কের জন্য, পাইথন কোডে ব্যবহার করা যেতে পারে এমন কিছু মডিউল দরকার।
আমরা matplotlib, pandas, এবং cartopy মডিউল ব্যবহার করছি। Anaconda-তে সেগুলো ইনস্টল করতে নিচের কমান্ডগুলো ফলো করুন। প্রয়োজনে এটি কিছু অন্যান্য গুরুত্বপূর্ণ মডিউলও ইনস্টল করবে।
conda install -c conda-forge matplotlib conda install -c anaconda pandas conda install -c scitools/label/archive cartopy
প্রথমে আমরা ল্যাটিটিউড এবং লองিটিউড ভ্যালু ব্যবহার করে লোকেশন প্লট করব। ডেটাসেটে দুটি পাখি রয়েছে, তাই দুটি ভিন্ন রঙ ব্যবহার করে আমরা ট্র্যাকিং লোকেশন ভিজ্যুয়ালাইজ করতে পারি।
উদাহরণ কোড
import pandas as pd
from matplotlib import pyplot as plt
df = pd.read_csv('bird_tracking.csv')
cr = df.groupby('bird_id').groups
cr_groups = df.groupby('bird_id')
group_list = []
for group in cr:
group_list.append(group)
plt.figure(figsize=(7, 7))
# ডেটাসেট ব্যবহার করে গ্রাফ তৈরি করুন প্রথম গ্রুপের ক্রেনের জন্য
for group in group_list:
x, y = cr_groups.get_group(group).longitude, cr_groups.get_group(group).latitude
plt.plot(x, y, marker='o', markersize=2)
plt.show()
আউটপুট

এখন আমরা এই ট্র্যাকিং ফলাফলগুলো একচুটি ভৌগোলিক মানচিত্রে প্লট করব যাতে সেই সঠিক পথটি ভিজ্যুয়ালাইজ করা যায় যা পাখিদের দ্বারা ব্যবহার করা হয়েছে।
উদাহরণ কোড
import pandas as pd
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt
df = pd.read_csv("bird_tracking.csv")
bird_id = pd.unique(birddata.bird_id) # নোট: birddata ভেরিয়েবলটি df হওয়া উচিত
# ম্যাপে ডিটেইলস ডিসপ্লে করার জন্য প্রজেকশন সেটআপ
projection = ccrs.Mercator()
plt.figure(figsize=(7, 7))
axes = plt.axes(projection=projection)
axes.set_extent((-30.0, 25.0, 50.0, 10.0))
axes.add_feature(cfeature.LAND)
axes.add_feature(cfeature.OCEAN)
axes.add_feature(cfeature.COASTLINE)
axes.add_feature(cfeature.BORDERS, linestyle=':')
for id in bird_id:
index = df['bird_id'] == id
x = df.longitude[index]
y = df.latitude[index]
axes.plot(x, y, '.', transform=ccrs.Geodetic(), label=id)
plt.legend(loc="lower left")
plt.show()
আউটপুট
