Какую библиотеку C ++ для шейп-файлов ESRI выбрать? - PullRequest
14 голосов
/ 26 января 2010

У кого-нибудь есть опыт обработки (чтения) шейп-файлов ESRI из C ++?

Я нашел по крайней мере 2 библиотеки с открытым исходным кодом: Библиотека ShapeLib C и OGR . Какой из них лучше? Кто-нибудь использовал один из них? Как насчет опыта?

Ответы [ 2 ]

23 голосов
/ 26 января 2010

Драйвер OGR Shapefile из GDAL / OGR напрямую использует реализацию Shapelib, поэтому на самом деле нет никакой разницы.Если вы проверите дерево исходного кода OGR, вы найдете файлы Shapelib, такие как shpopen.c и dbfopen.c .

Кроме того, Фрэнк Вармердам является автором Shapelib и OGR, и я могу подтвердить, что Фрэнк синхронизирует shpopen.c и dbfopen.c между Shapelib и OGR.

Подводя итог, можно сказать, что между Shapelib и OGR нет различий в реализации спецификации формата Shapefile.

9 голосов
/ 26 января 2010

Я нашел, что они оба в порядке, но я бы выбрал библиотеку ShapeLib, поскольку ogr немного тяжел / странен для своей цели.

Формат шейп-файла очень прост; если вам нужен только конкретный / простой набор шейп-файлов, вы можете подумать об изобретении колеса и написать код, чтобы получить к ним доступ самостоятельно. Я сделал это во встроенном приложении, и это не заняло намного больше времени, чем использование этих библиотек.

...