我有一个带有一些属性列和一个几何列(只是一个常规 GDF)的 geopandas GeoDataFrame。通常我使用以下方法将 GDF 保存为 GeoPackage giles (.gpkg):
gdf.to_file('path_to_file.gpkg', driver='GPKG')
这很好用,除非我的 GDF 有一个条目是数组的列。假设我在几何列旁边有两列,其中一列包含每个条目的 numpy 数组。如果我然后尝试另存为 gpkg 它会给我错误:
ValueError: Invalid field type <class 'numpy.ndarray'>
所以看起来 gpkg 无法处理表中的数组。我要包含的数组是简单的标志(因此值为 0 和 1)。我发现了两个工作正常但有点混乱的解决方法:
- 制作一个数组值的字符串。这可行,但我非常希望将其保留为数组...
- 为每个数组值创建一个单独的列。这也可以,但是我得到了一个包含很多列的 GDF,我觉得应该有更好的方法来做到这一点。
有人知道这个问题的更好解决方法吗?