Re: [gdal-dev] Re: OGR/Spatialite patches

Ivan Lucena ivan.lucena at pmldnet.com
Tue Apr 12 13:41:13 EDT 2011


Hi there.

Since Berkeley DB is SQLite API compatible, does anybody has experience with using Berkeley DB + Spatialite ? Would that be possible to work?

Thanks,

Ivan


>  -------Original Message-------
>  From: Even Rouault <even.rouault at mines-paris.org>
>  To: Alessandro Furieri <a.furieri at lqt.it>, Frank Warmerdam <warmerdam at pobox.com>
>  Cc: Andrea Peri <andrea.peri at regione.toscana.it>, gdal-dev at lists.osgeo.org, Paolo Cavallini <cavallini at faunalia.it>, Sandro Santilli <strk at keybit.net>, Maurizio Napolitano <napo at fbk.eu>, Alex Mandel <tech_dev at wildintellect.com>
>  Subject: [gdal-dev] Re: OGR/Spatialite patches
>  Sent: Mar 30 '11 15:07
>  
>  Hi Alessandro,
>  
>  (CC'ing gdal-dev)
>  
>  Impressive work !
>  
>  My remarks and questions:
>  
>  1) Could you confirm that all this work might be included under the usual GDAL
>  X/MIT licence ? Due to the significant code addition for the 3D geometry
>  support, you might want to add your copyright in the header of
>  ogrsqlitelayer.cpp.
>  
>  2) It would be really convenient to have different patches for the different
>  issues that could be applied sequentially. Applying all this stuff in a single
>  gulp will make bisection and analysis of the changes quite painfull. I've
>  skimmed quickly through the whole diff and your README and I can see several
>  patches, preferably in the following order (if possible) :
>  1) 3D geometry support
>  2) use the spatialite SQL functions and drop the manual workarounds to
>  avoid using spatialite functions
>  3) general cleanup to remove the use of ancient sqlite API (that seem not
>  to be directly related to spatialite support)
>  
>  I'd be in favor of dropping the stuff related to #ifdef SPATIALITE_AMALGAMATION
>  for now. Or it might be traced under a different ticket
>  
>  3) From your patch I can see that my efforts to produce a spatialite database
>  without linking to spatialite were vain. I'm not that surprised however.... So
>  the question is : is there really an interest in allowing the user to create a
>  spatialite database without linking to spatialite if that database cannot be
>  directly used by other spatialite-enabled software ant that the user must
>  "repair" it afterwards with the procedure at the end of your README.txt. This
>  really sounds to be compatible with only super power users... We might also
>  want to be sure that no write/update/delete operations can happen to a
>  spatialite database if it is opened with a driver not linked against
>  libspatialite to avoid corrupting it.
>  However I think it is still desirable to be able to read a spatialite database
>  without requiring linking to spatialite.
>  
>  4) We must be aware that using the ALTER TABLE ... ADD COLUMN ... stuff will
>  produce databases (even regular SQLite ones) that will not be compatible with
>  the latest FWTools for Windows that uses an ancient sqlite versions. Might not
>  be a big deal however because I somehow remember that dropping a new version
>  of sqlite3.dll in the bin directory make it work again.
>  
>  5) Would you be willing to update/extend the autotest/ogr/ogr_sqlite.py test
>  to ensure that it still passes and add some tests for all the new stuff,
>  particularly the 3D geometry support.
>  
>  6) From your README.TXT, can I assume that your changes have been tested
>  against regular libsqlite3 (without linking to spatialite) with a spatialite
>  database (and also a regular sqlite database not using spatialite geometries),
>  and against libspatialite 2.3.1 and libspatialite 2.4.0 for spatialite
>  databases ?
>  
>  7) A minor code note : it could be interesting to replace the magic values for
>  the geometry types by appropriate #define with symbolic names.
>  
>  8) I've seen you have removed the tests to detect int overflows, for example
>  "if( nPointCount < 0 || nPointCount > INT_MAX / (2 * 8))" has become "if(
>  nPointCount < 0)". Could you justify it ? I still think that they are
>  necessary to avoid issues in lines below if the nPointCount value is huge
>  enough.
>  
>  9) About your [3c] patch. Yes indeed this is a painfull issue with shapefiles
>  (the format I mean, not the driver) where we cannot know in advance if it only
>  contains LINESTRING or MULTILINESTRING. Currently the shapefile driver chooses
>  to report the layer as having LINESTRING geometry type. Maybe Frank can
>  comment about this. I imagine this was decided because some application
>  software wouldn't know to deal with multi-geometry. But I can confirm that
>  inserting such shapefiles with mixed linestring/multilinestring geometries into
>  Postgis requires a -nlt flag to the ogr2ogr command line. To get back to your
>  patch, I'm wondering what will happen if we try to insert a feature with a
>  LINESTRING geometry into a layer created with the LINESTRING geometry type,
>  that has been "promoted" to MULTILINESTRING by the driver ?
>  
>  Best regards,
>  
>  Even
>  
>  Le mercredi 30 mars 2011 12:37:05, Alessandro Furieri a écrit :
>  > Hi All,
>  >
>  > I know for sure that all you are strongly
>  > interested in both SpatiaLite and GDAL/OGR:
>  > so I'm glad to submit to your attention a
>  > patch-set intended to enhance the OGR/spatialite
>  > driver.
>  >
>  > - correcting several issues found into the current
>  >    implementation
>  > - supporting the most recent features introduced
>  >     by v.2.4.0 [3D Geometries and so on]
>  >
>  > You'll find everything within the attached zipfile:
>  > - source code
>  > - svn diff
>  > - detailed explanations on README.txt
>  >
>  > Please note: the current patch-set (although quite
>  > thoroughly tested and debugged by myself) simply
>  > represents a preliminary interim version.
>  > I suppose some further (small) optimization would
>  > be required before actually committing into the
>  > SVN trunk.
>  > Any suggestion, useful hint, criticism and testing
>  > coming from you surely will be warmly welcome and
>  > highly appreciated.
>  >
>  > bye
>  > Sando
>  _______________________________________________
>  gdal-dev mailing list
>  gdal-dev at lists.osgeo.org
>  http://lists.osgeo.org/mailman/listinfo/gdal-dev
>  


More information about the gdal-dev mailing list