我正在使用.gdb文件中包含来自ArcGIS的GIS数据的项目。我想为此使用fiona / geopandas并将数据与一些机器学习库一起使用。某些图层包含不受支持的类型,此处https://github.com/Toblerity/Fiona/blob/master/fiona/_geometry.pyx中提到。
更具体地讲,在打开图层并对其进行索引之后,出现UnsupportedGeometryTypeError:11。有些索引具有有效的类型,而有些则没有。
示例:
with fiona.open('path.gdb', layer='layername') as layer:
print(layer[4]) # works
print(layer[5]) # don't work, UnsupportedGeometryTypeError: 11
当前,我正在Mac上工作,但如果可以解决问题,则可以切换到Linux发行版。我更喜欢使用免费库并避免arcpy,因为我需要一个许可证,例如ArcGIS Server。
有什么想法可以使用这些格式吗?也许其他驱动程序或另一个库?谢谢。
答案 0 :(得分:1)
您可以尝试使用GDAL/OGR python库。它很有可能支持fgdb中的所有几何类型。
如果不是这种情况,则最好的选择是将专有格式(Esri)的FileGeodatabase(fgdb)转换为PostGreSQL / PostGIS等开放格式。
您可以使用命令行工具ogr2ogr进行转换。