地理数据处理库Geopandas和Google Colab问题:空间索引需要`rtree`或`pygeos`。

6
我正在尝试使用 Google Colab 上的 gdf.overlay 函数对 2 个 GeoDataFrame 进行交集运算。请见下面的代码:
!sudo apt install libspatialindex-dev
!sudo pip3 install rtree
!pip install pygeos

overlap = gpd.overlay(gdf1,gdf2, how='intersection')
overlap.plot(figsize=(10,10), cmap='jet')

我收到以下错误信息:

ImportError: Spatial indexes require either `rtree` or `pygeos`. See installation instructions at https://geopandas.org/install.html

这里的问题是什么导致的?

你同时使用了 pippip3。它们很可能在不同的 Python 安装上运行。 - Paul H
2
使用 conda 安装 rtree 并使用 conda-forge 更新您的 Python 到 cpython - BetterCallMe
1
尝试使用 venv (python3 -mvenv your-virtual-env),然后避免(始终!)使用 sudo pip。一旦您激活了虚拟环境,通过 pip 安装软件包应该以更可靠的方式生成一个连贯的库生态系统。 - olepinto
1个回答

5

我在使用colab时遇到了同样的问题,这是由于依赖关系引起的,请按照以下建议的顺序遵循相同的顺序: https://geopandas.org/getting_started/install.html

对于我来说,在首次安装依赖项后,错误就消失了:

!pip install pandas fiona shapely pyproj rtree

然后:

!pip install geopandas

2
对我来说,这个方法没有起作用。 - zabop
1
非常感谢,这对我很有效,我先卸载我的geopandas。 - Jhonny Carvajal Perez
请注意,如geopandas.sindex.SpatialIndex.query文档中所述,如果性能是一个问题,请优先使用pygeos作为“后端”,而不是rtree - jmon12

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接