[gdal-dev] Re: Slow writing into Spatialite with -skipfailures

Jukka Rahkonen jukka.rahkonen at mmmtike.fi
Thu Apr 5 02:17:24 EDT 2012


Even Rouault <even.rouault <at> mines-paris.org> writes:

> 
> Le mercredi 04 avril 2012 19:16:34, Rahkonen Jukka a écrit :
> > Even Rouault wrote:
> > >Selon Jukka Rahkonen <jukka.rahkonen <at> mmmtike.fi>:
> > >> Hi,
> > >> 
> > >> I had to write a million polygon shapefile into Spatialite with
> > >> -skipfailures and I noticed that it was very many times slower that
> > >> without -skipfailures. Is
> > >> there some logical reason for that or could it be due to a bug or
> > >> something? Only thing that comes into my mind is that if the -gt
> > >> parameter is taken into account or not.
> > > 
> > > This is expected. When you use -skipfailures, the -gt parameter is
> > > ignored and virtually set to 1 so that transactions only take into
> > > account one single feature at a time.
> > 
> > Well, doing 1.1 million transactions for Spatialite db is too slow. Any
> > suggestions about how to clean the shapefile fast and effectively
> > beforehand? The shapefile is created by ogr2ogr, from Oracle table into
> > shapefile. I have used -nlt multipolygon in both runs (Oracle ->
> > shapefile, shape ->Spatialite).
> 
> What is the error reported when inserting features into the Spatialite DB that 
> makes the use of -skipfailures necessary ?


The error is this one:
ERROR 1: sqlite3_step() failed:
  parcel.GEOMETRY violates Geometry constraint [geom-type or SRID not allowed] (
19)


Ogr2ogr managed to insert only 273886 polygons in 13 hours into spatialite db so
I canceled the job instead of letting it run the remaining 40 hours.  I will try
the effect of OGR_SQLITE_SYNCHRONOUS=OFF.

-Jukka Rahkonen-





More information about the gdal-dev mailing list