Computer >> Máy Tính >  >> Lập trình >> Python

Theo dõi sự di cư của chim bằng Python-3

Trong một số công trình Nghiên cứu, Các nhà nghiên cứu sử dụng mô-đun GPS để theo dõi hành vi của động vật. Họ có thể theo dõi cách họ đi đến những nơi khác nhau vào những thời điểm khác nhau trong năm, v.v.

Trong ví dụ này, chúng tôi sử dụng loại tập dữ liệu đó để có ý tưởng về cách các loài Chim di chuyển ở những nơi khác nhau. Trong tập dữ liệu này có các chi tiết vị trí từ mô-đun GPS được lưu trữ. Tập dữ liệu hoàn chỉnh ở dạng CSV. Trong tệp đó, có các trường khác nhau. Đầu tiên là Id Bird, sau đó là date_time, Latitude, kinh độ và tốc độ.

Đối với Nhiệm vụ này, chúng tôi cần một số mô-đun có thể được sử dụng trong mã Python.

Chúng tôi đang sử dụng các mô-đun matplotlib, gấu trúc và cartopy. Để cài đặt chúng vào Anaconda, vui lòng làm theo các lệnh sau. Chúng sẽ cài đặt một số mô-đun quan trọng khác khi nó cần.

conda install -c conda-forge matplotlib
conda install -c anaconda pandas
conda install -c scitools/label/archive cartopy

Đầu tiên, chúng tôi sẽ vẽ biểu đồ vị trí bằng cách sử dụng các giá trị kinh độ và vĩ độ. Có hai con chim trong tập dữ liệu, do đó, sử dụng hai màu khác nhau, chúng tôi có thể hình dung các vị trí theo dõi

Mã mẫu

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()

Đầu ra

Theo dõi sự di cư của chim bằng Python-3

Giờ đây, chúng tôi có thể vẽ biểu đồ kết quả theo dõi này trên Bản đồ địa lý thực tế để hình dung cách thức chính xác được những loài chim đó sử dụng.

Mã mẫu

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()

Đầu ra

Theo dõi sự di cư của chim bằng Python-3