Добавьте точки и метки, используя CartoPy add_geometries - PullRequest
0 голосов
/ 25 января 2020

Я пытаюсь отобразить регион и аэропорты в этом регионе. Я смог использовать файлы естественной земли и увеличил масштаб области, успешно рисуя объекты многоугольника:

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

enter image description here

Однако я не могу кажется, что точки, представляющие аэропорты и связанные с ними названия в виде меток:

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, то он скажет, что это не поддерживаемый аргумент.

Где я ошибаюсь при добавлении точек и связанных с ними меток?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...