Есть ли способ установить экстент фигуры за пределы проекции?
Например, при использовании проекции "Rijksdriehoek" (EPSG 28992) ограничения из Cartopy (proj4?) Неверныслишком узкий.
Этот прогноз рассчитан на все Нидерланды, но наложенные ограничения даже приводят к тому, что часть страны отрезается.Принимая во внимание, что я бы предпочел установить экстент немного шире, чем официальные границы, чтобы обеспечить некоторый дополнительный контекст.
![Rd example](https://i.stack.imgur.com/kXVFi.png)
К сожалению, метод set_extent
дает ошибку:
ValueError: Failed to determine the required bounds in projection
coordinates. Check that the values provided are within the valid range
(x_limits=[646.3608848793374, 284347.25011780026],
y_limits=[308289.55751689477, 637111.0245778429]).
Методы set_xlim
/ set_ylim
, похоже, ничего не делают, что сработало бы для обычных осей matplotlib.
Пример кода:
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature
projection = ccrs.epsg(28992)
fig, ax = plt.subplots(figsize=(5,10), subplot_kw=dict(projection=projection))
ax.coastlines(resolution='10m')
ax.add_feature(cfeature.NaturalEarthFeature('cultural', 'admin_0_boundary_lines_land', '10m', facecolor='none', edgecolor='k'))
Экстент рисунка автоматически устанавливается в пределах проекции:
print(projection.bounds)
print(ax.get_extent())
(646.3608848793374, 284347.25011780026, 308289.55751689477, 637111.0245778429)
(646.3608848793374, 284347.25011780026, 308289.55751689477, 637111.0245778429)
В соответствии с документацией о проекции фактические пределы должны составлять: (-700 300000 289000 629000)
.Но даже те, которые кажутся немного строгими для целей визуализации.
См., Например, «Раздел области действия» по адресу:
https://translate.google.com/translate?hl=en&sl=nl&u=https://nl.wikipedia.org/wiki/Rijksdriehoeksco%25C3%25B6rdinaten