কিছু গবেষণামূলক কাজে, গবেষকরা প্রাণীর আচরণ ট্র্যাক করতে জিপিএস মডিউল ব্যবহার করেন। তারা ট্র্যাক করতে পারে কিভাবে তারা বছরের বিভিন্ন সময়ে বিভিন্ন জায়গায় ভ্রমণ করছে ইত্যাদি।
এই উদাহরণে আমরা সেই ধরনের ডেটাসেট ব্যবহার করি একটা ধারণা পেতে, কিভাবে পাখি বিভিন্ন জায়গায় চলে। এই ডেটাসেটে জিপিএস মডিউল থেকে অবস্থানের বিবরণ সংরক্ষিত আছে। সম্পূর্ণ ডেটাসেটটি CSV আকারে রয়েছে। যে ফাইলে, বিভিন্ন ক্ষেত্র আছে. প্রথমটি হল Bird Id, তারপর date_time, অক্ষাংশ, দ্রাঘিমাংশ এবং গতি৷
৷এই কাজের জন্য, আমাদের কিছু মডিউল দরকার যা পাইথন কোডে ব্যবহার করা যেতে পারে।
আমরা matplotlib, pandas, এবং cartopy মডিউল ব্যবহার করছি। এনাকোন্ডায় এগুলি ইনস্টল করতে, অনুগ্রহ করে এই কমান্ডগুলি অনুসরণ করুন। যখন এটি প্রয়োজন তখন এগুলি আরও কিছু গুরুত্বপূর্ণ মডিউল ইনস্টল করবে৷
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)) #Create graph from dataset using the first group of cranes 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) # Setup the projection to display the details into map 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()