Я хотел бы построить траекторию на базовой карте и обозначить ярлыки (имена) страны как наложения.Ярлыки стран на базовой карте
Вот текущий код и карта производит:
import pandas as pd
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
path = "path\\to\\data"
animal_data = pd.DataFrame.from_csv(path, header=None)
animal_data.columns = ["date", "time", "gps_lat", "gps_long"]
# data cleaning omitted for clarity
params = {
'projection':'merc',
'lat_0':animal_data.gps_lat.mean(),
'lon_0':animal_data.gps_long.mean(),
'resolution':'h',
'area_thresh':0.1,
'llcrnrlon':animal_data.gps_long.min()-10,
'llcrnrlat':animal_data.gps_lat.min()-10,
'urcrnrlon':animal_data.gps_long.max()+10,
'urcrnrlat':animal_data.gps_lat.max()+10
}
map = Basemap(**params)
map.drawcoastlines()
map.drawcountries()
map.fillcontinents(color = 'coral')
map.drawmapboundary()
x, y = map(animal_data.gps_long.values, animal_data.gps_lat.values)
map.plot(x, y, 'b-', linewidth=1)
plt.show()
Это приводит к карте:
Это отображение траектории мигрирующей птицы. Хотя это очень хорошая карта (!), Мне нужны ярлыки с названиями стран, поэтому легко определить страны, в которых летает птица.
Есть ли прямой способ добавления названий стран?
Ничего себе, эта птица путешествует довольно далеко! Если вам нужны названия стран и координаты, посмотрите [этот вопрос] (http://stackoverflow.com/questions/2702309/need-a-list-of-all-countries-in-the-world-with-a -longitude-и-широта-coordin). Чтобы распечатать текст на карте, посмотрите на пример построения давления на [этой странице] (http://matplotlib.org/basemap/users/examples.html), кажется, что вы можете просто сделать 'plt.text (x, y, text) '. –
Спасибо! Это было очень полезно. Я скоро опубликую полное решение ниже. –