有没有人有从 C++处理(读取)ESRI shapefile的经验?
我找到了至少 2 个开源库:ShapeLib C 库和OGR。哪一个更好?有人用过其中一种吗?体验如何?
有没有人有从 C++处理(读取)ESRI shapefile的经验?
我找到了至少 2 个开源库:ShapeLib C 库和OGR。哪一个更好?有人用过其中一种吗?体验如何?
GDAL/OGR的OGR Shapefile驱动直接使用Shapelib的实现,所以实际上没有区别。如果你检查 OGR 源代码树,你会发现像shpopen.c 和 dbfopen.c这样的 Shapelib 文件。
此外,Frank Warmerdam是 Shapelib 和 OGR 的作者,我可以确认 Frank 使 shpopen.c 和 dbfopen.c 在 Shapelib 和 OGR 之间保持同步。
综上所述,Shapelib 和 OGR 在实现 Shapefile 格式规范方面没有区别。
我发现它们都很好,但我会选择 ShapeLib 库,因为 ogr 的目的有点沉重/奇怪。
shapefile 格式非常简单;如果您只需要访问一组特定/简单的 shapefile,您可以考虑重新发明轮子并编写代码来自己访问它们。我已经在嵌入式应用程序中完成了这项工作,并且使用这些库并没有花费太多时间。