首页 > 解决方案 > 在 python3.x 中使用 geopandas 从文件 GDB 导入地理数据时出现问题

问题描述

我正在编写一些代码来基于边界框选择和导出地理数据。我要选择的数据来自覆盖整个荷兰的巨大文件 GDB (16GB) 中的 2 个单独层。我使用边界框来避免在进行选择之前读取整个数据集。

此方法在应用于 gpkg 数据库时效果很好,但对于文件地理数据库,处理时间要长得多(对于 200x200 米的选择,处理时间为 0.2 秒与 300 秒)。我正在使用的文件 GDB 为我正在阅读的图层设置了空间索引。我正在使用 geopandas 来阅读和选择。您将在下面找到“Adres”层的示例:

import geopandas as gpd

def ImportGeodata(FilePath, BoundingBox):
    importBag=gpd.read_file(FilePath, layer='Adres', bbox=BoundingBox)
    importBag['mergeid']=importBag['identificatie']
    return importBag

我在监督什么吗?或者这是从巨大的文件 GDB 导入时的限制?我在这里找不到明显的错误。目前,解决方法是另一个脚本,它可以在 gpkg 中导入和转储我需要的层。问题是这运行了 3 到 4 个小时(gpkg 结果几乎是 6 GB)。我不想继续这样做,为了处理这个数据集的新版本,有必要每个月左右做一次。

好奇你们想出什么办法。

标签: python-3.xgeopandasfionageopackage

解决方案


推荐阅读