Working under CentOS (Linux), we have run up against the 4GB shapefile (dbf) limitation in our Monte Carlo model. We've decided to switch to GeoPackage to output our point attributes. I cannot find a reference on what GDAL/OGR driver to ask for under C++.
If I specify"GKPG" as a driver name, I get a null value returned from GetGDALDriverManager()->GetDriverByName
. I am linking with GDAL 2.3.2.
Using the command:
$ ogrinfo --formats |grep GPKG
I get:
GPKG -raster,vector- (rw+vs): GeoPackage.
I assume this means that we linked with GEOPKG (and sqllite3) when we installed the package, but I am checking with IT to try to find out more. Apologies that I don't know how to make my code show with line feeds below:
My stripped down code below:
#include <ogr_feature.h>
#include "ogrsf_frmts.h"
GDALDriver *Driver;
int main()
{
const char *Seed_drv = "ESRI Shapefile"; //Results in valid Driver below.
OGRRegisterAll(); // Register Drivers
Driver = GetGDALDriverManager()->GetDriverByName(Seed_drv); //Driver:Valid
}
However:...
const char *Seed_drv = "GPKG"; // Results in NULL myDriver below.
OGRRegisterAll(); // Register Drivers
myDriver = GetGDALDriverManager()->GetDriverByName(Seed_drv); // Driver:NULL