[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