哪个C ++库可供ESRI shapefile选择?

时间:2010-01-26 12:34:25

标签: c++ shapefile gdal

有没有人有从C ++处理(阅读)ESRI shapefile(http://en.wikipedia.org/wiki/Shapefile)的经验?

我找到了至少2个开源库:ShapeLib C库(http://shapelib.maptools.org/)和OGR(http://www.gdal.org/ogr/)。哪一个更好?有人用过其中一个吗?经历怎么样?

2 个答案:

答案 0 :(得分:23)

来自OGR ShapefileGDAL/OGR驱动程序直接使用Shapelib的实现,因此实际上没有区别。如果您检查OGR源树,您将找到像shpopen.c and dbfopen.c这样的Shapelib文件。

此外,Frank Warmerdam是Sha​​pelib和OGR的作者,我可以确认自己Frank保持shpel和cf之间的shpopen.c和dbfopen.c同步。

总结一下,Shapelib和OGR在Shapefile格式规范的实现方面没有区别。

答案 1 :(得分:8)

我发现它们都没问题,但是我选择了ShapeLib库,因为它的目的有点重/奇怪。

shapefile格式非常简单;如果你只需要访问一组特定/简单的shapefile,你可以考虑重新发明轮子并编写代码来自己访问它们。我已经在嵌入式应用程序中完成了这项工作,并且使用这些库并没有花费太多时间。