Контурирование с помощью cartopy: ValueError: недопустимое преобразование: сферическое контурирование не поддерживается

Я хотел бы нанести контуры на карту, созданную с помощью cartopy. Если я запускаю пример по адресу:

http://scitools.org.uk/cartopy/docs/latest/matplotlib/introductory_examples/03.contours.html

используя проверку последнего кода из github, я получаю:

ValueError: invalid transform: Spherical contouring is not supported -  
consider using PlateCarree/RotatedPole.

Как это сделать?

(задано в ответ на исходное объявление http://matplotlib.1069221.n5.nabble.com/ANN-Cartopy-A-new-mapping-library-using-matplotlib-td39886.html)


person pelson    schedule 01.12.2012    source источник


Ответы (1)


Примеры, представленные в документах cartopy под http://scitools.org.uk/cartopy/docs/latest/matplotlib/introductory_examples, устарели по сравнению с кодовой базой. Существует билет разработки для обновления всех примеров (https://github.com/SciTools/cartopy/issues/128).

В этом случае просто замените строку

plt.contourf(lons, lats, data, transform=ccrs.Geodetic())

с

plt.contourf(lons, lats, data, transform=ccrs.PlateCarree())

и пример должен снова работать.

вводный раздел matplotlib/cartopy документации по cartopy содержит пример контура, который может представлять интерес http://scitools.org.uk/cartopy/docs/latest/matplotlib/advanced_plotting.html#contour-plots Полученное изображение:

вывод из связанного примера

ХТХ,

person pelson    schedule 01.12.2012