有时调用
GeoPandas
会遇到以下错误:
NotImplementedError: A polygon does not itself provide the array interface. Its rings do.
错误原因1
这个错误通常是由于输入的GeoJSON
文件中有不支持的多边形类型导致的。GeoPandas
仅支持简单的多边形类型(即没有孔或内部环)。
可以尝试使用GeoJSON
编辑器(如QGIS)来检查输入文件中是否存在多边形类型错误。如果有,可以尝试将其转换为简单的多边形类型。
错误原因2
Shapely
的版本太老,需要升级,首先查看Shapely的版本信息,可以使用以下代码:
import shapely
print(shapely.__version__)
运行这段代码后,控制台将打印出Shapely的版本信息,我的显示是1.7.1
。
pip install --upgrade shapely==1.8.4
升级Shapely库到1.8.4
版本后再运行代码错误消失。