Полярная стереографическая проекция карты мира геопанд - PullRequest
1 голос
/ 12 апреля 2019

Я хочу использовать географическую карту мира с низким разрешением (см. здесь ) в качестве фона для моих данных.Это работает нормально, пока я использую, например, проекцию «PlateCarree».

Если я теперь хочу использовать полярную стереографическую проекцию

ccrs.NorthPolarStereo()

или

ccrs.SouthPolarStereo()

Itне работает.

Мой код выглядит следующим образом (с использованием Python 3)

import geopandas as gpd
import cartopy.crs as ccrs

crs = ccrs.NorthPolarStereo()
crs_proj4 = crs.proj4_init
world = gpd.read_file(gpd.datasets.get_path("naturalearth_lowres"))
w = world.to_crs(crs_proj4)
w.plot(facecolor='sandybrown', edgecolor='black',)

Любая идея, если полярные стереографические проекции просто не работают для этой карты (если так, почему?) или яЯ что-то не так делаю?

1 Ответ

1 голос
/ 12 апреля 2019

При построении с определенной картографической проекцией лучше всего фактически создать фигуру и оси matplotlib, используя картопию, чтобы убедиться, что она знает о проекции (в технических терминах: чтобы убедиться, что это GeoAxes, см. https://scitools.org.uk/cartopy/docs/latest/matplotlib/intro.html):

crs = ccrs.SouthPolarStereo()
crs_proj4 = crs.proj4_init
w = world.to_crs(crs_proj4)

fig, ax = plt.subplots(subplot_kw=dict(projection=crs))
w.plot(ax=ax, facecolor='sandybrown', edgecolor='black')

Тем не менее, это все еще похоже на график форм, которые выходят за пределы экстента. Используя метод cartopy add_geometries, это лучше учитывает степень:

fig, ax = plt.subplots(subplot_kw=dict(projection=crs))
ax.add_geometries(w['geometry'], crs=crs, facecolor='sandybrown', edgecolor='black')

enter image description here

Это выглядит немного странно на первый взгляд (Антарктида посередине очень мала), но это, кажется, ожидаемо (см. https://scitools.org.uk/cartopy/docs/latest/crs/projections.html#southpolarstereo).

В целом, см. Пример по объединению геопанд и картопий в документах: https://geopandas.readthedocs.io/en/latest/gallery/cartopy_convert.html

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