Cartopy вызывает сбой Google Codelab

Я использую Cartopy и Metpy для создания новой графики. Когда я использую Google codelab, когда я пытаюсь установить экстент на своих картах с помощью:

track_line_gdf = geopandas.read_file('/content/al112017-020_5day_lin.shp')
cone_gdf = geopandas.read_file('/content/al112017-020_5day_lin.shp')
points_gdf = geopandas.read_file('/content/al112017-020_5day_pts.shp')

map_crs = ccrs.LambertConformal(central_latitude=35, central_longitude=100, 
standard_parallels=(30, 60))

data_crs = ccrs.PlateCarree()

fig = plt.figure(figsize=(14 , 12))

ax = plt.subplot(1, 1, 1, projection=map_crs)

ax.set_extent([-90,-72, 20, 55]) #Problem line

Я получаю предупреждение: «Геометрия должна быть Point или LineString», тогда мой блокнот вылетает. Я попытался изменить значения в ax.set_extent (). У меня все еще возникает та же проблема: «Геометрия должна быть точкой или строкой», а затем мой ноутбук вылетает по «неизвестной» причине. Также данные, которые я использую, представляют собой шейп-файлы для урагана Ирма. Кто-нибудь видел эту проблему раньше? Спасибо вам за помощь!

P.S. В настоящее время я живу на Гуаме, поэтому могу ответить в странное время по сравнению с материковой частью США. Еще раз спасибо за вашу помощь!


person Nick Slaughter    schedule 02.03.2020    source источник
comment
Предоставьте минимальный воспроизводимый пример.   -  person AMC    schedule 03.03.2020
comment
@AMC Я предоставил больше своего кода. Дайте мне знать, достаточно ли этого или вам нужно больше / меньше. Спасибо вам за помощь!   -  person Nick Slaughter    schedule 03.03.2020
comment
В локальной среде conda я не получаю никаких ошибок с этим кодом и данными. Я предполагаю, что это проблема со средой Google Colaboratory или с тем, как вы установили cartopy / geopandas в эту среду. Вам нужно быть очень осторожным, чтобы убедиться, что shapely и CartoPy используют одну и ту же версию geos, если вы устанавливаете с помощью pip, а не Conda.   -  person DopplerShift    schedule 18.03.2020


Ответы (1)


Это происходило и со мной в Google Colab, с той же ошибкой, оканчивающейся на Point или Linestring. Это сообщение казалось ключевым. Я заметил, что обычный apt-get to install cartopy, похоже, ничего не делает - поскольку он уже был установлен, поэтому я удалил и переустановил его. Но я подозреваю, что единственным необходимым шагом было то, что было найдено в предыдущем сообщении: Геометрия должна быть ошибкой Point или LineString при использовании Cartopy

То есть: перед использованием Cartopy используйте:

! apt-get -V -y -qq установить python-cartopy python3-cartopy

! pip удалить shapely -y

! pip install shapely - no-binary shapely

person BrianJ    schedule 27.03.2020