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