Hi all,

I'm planning to switch from using a standard file format of Shapefiles to 
Spatialite for internal storage of spatial data.

When importing from other formats, the app attempts to convert these to SQLite 
(Spatialite) using 'OGR_DS_CopyLayer' to copy each layer from the source data 
set to a new layer in the new SQLite dataset.

However, when converting Shapefiles to SQLite, it only copies across about a 
third of the features for many of the layers and therefore the new data set is 
of no use.

The relevant code and output is below.

I'm at a loss to figure out what is going wrong here and I'd be grateful is 
somebody could assist in getting this to work as expected (or am I doing the 
wrong thing completely?).

NB:  This is using Spatialite on iOS (simulator).

When I use ogr2ogr on Mac OS X with SQLite (without Spatialite) it works fine 
and doesn't miss any features.

Cheers,
Nik.


CODE:

        OGRLayerH sourceLayer = OGR_DS_GetLayer(ds, i);
        int sourceFeatureCount = OGR_L_GetFeatureCount(sourceLayer, YES);

        OGR_DS_CopyLayer(destDS, sourceLayer, OGR_L_GetName(sourceLayer), NULL);

        OGRLayerH destLayer = OGR_DS_GetLayerByName(destDS, 
OGR_L_GetName(sourceLayer));
        printf("sourceFeatureCount:  %d\n", sourceFeatureCount);
        printf("  destFeatureCount:  %d\n", OGR_L_GetFeatureCount(destLayer, 
YES));

OUTPUT:

        sourceFeatureCount:  3882
          destFeatureCount:  1200
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to