我在使用 geopanda 的 read_file() 读取 geojson 时收到以下警告:
...geodataframe.py:422: RuntimeWarning: Sequential read of iterator was interrupted. Resetting iterator. This can negatively impact the performance.
for feature in features_lst:
Run Code Online (Sandbox Code Playgroud)
这是我使用的代码示例:
crime_gdf = gpd.read_file('datasets/crimes.geojson', bbox=bbox)
Run Code Online (Sandbox Code Playgroud)
crimes.geojson
是一个包含大量点的文件,每个点都有一个“犯罪类型”
bbox
定义边界
代码按预期运行,但我不明白该警告。
编辑
我将 geojson 转换为feather,并收到相同的警告。
在 Fiona 的问题跟踪器中查看我的评论:https : //github.com/Toblerity/Fiona/issues/986
GDAL(Fiona 用来访问地理数据的库)在当前读取的要素上维护一个迭代器。对于某些驱动程序,有一些操作会影响此迭代器。因此,在这些操作之后,我们必须确保将迭代器设置到正确的位置,以确保连续读取数据。这些操作包括对数据集中的所有特征进行计数,分别计算其范围。
GDAL 中有不同类型的驱动程序。有些驱动程序支持随机访问,而有些则不支持。对于不支持随机访问的驱动程序,迭代器的重置涉及再次读取所有特征直到迭代器位置。由于这可能是一项代价高昂的操作,因此会发出 RuntimeWarning,以便用户了解此行为。
我发现这个fiona
PR 引用了警告:https ://github.com/Toblerity/Fiona/pull/965
当调用最近打开的fiona
1.8.18 时,我可以重现该问题,但 1.8.17 则不行。所以我认为这是在1.8.18中引入的回归,于2020年11月17日发布。list(src)
Collection
fiona
归档时间: |
|
查看次数: |
1769 次 |
最近记录: |