Я пытаюсь отобразить регион и аэропорты в этом регионе. Я смог использовать файлы естественной земли и увеличил масштаб области, успешно рисуя объекты многоугольника:
import pandas as pd
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt
from IPython.display import Image
import cartopy.io.shapereader as shpreader
crs = ccrs.PlateCarree()
fig, ax = plt.subplots(
1, 1, figsize=(20, 10),
subplot_kw=dict(projection=crs))
#Draw States
shapename = 'admin_1_states_provinces_lakes_shp'
states_shp = shpreader.natural_earth(resolution='10m', category='cultural', name=shapename)
for state in shpreader.Reader(states_shp).geometries():
edgecolor = 'black'
facecolor = 'grey'
ax.add_geometries([state], ccrs.PlateCarree(), facecolor=facecolor, edgecolor=edgecolor, alpha=0.5)
#Draw Lakes
shapename = 'lakes'
lakes_hires = shpreader.natural_earth(resolution='10m', category='physical', name=shapename)
for lake in shpreader.Reader(lakes_hires).geometries():
edgecolor = 'black'
facecolor = 'blue'
ax.add_geometries([lake], ccrs.PlateCarree(), facecolor=facecolor, edgecolor=edgecolor, alpha=0.25)
ax.set_extent([-90, -85, 40, 43])
plt.show()
Однако я не могу кажется, что точки, представляющие аэропорты и связанные с ними названия в виде меток:
shapename = 'airports'
airports= shpreader.natural_earth(resolution='10m', category='cultural', name=shapename)
for place in shpreader.Reader(airports).geometries():
edgecolor = 'black'
facecolor = 'blue'
ax.add_geometries([place], ccrs.PlateCarree(), alpha=0.25)
Код для добавления точек аэропорта ничего не делает и не выдает ошибку. Однако, если я добавлю аргумент labels
, то он скажет, что это не поддерживаемый аргумент.
Где я ошибаюсь при добавлении точек и связанных с ними меток?