[fdo-internals] FDO RFC 16 - FDO Provider for SQLite
Jason.Birch at nanaimo.ca
Tue Mar 18 17:20:16 EDT 2008
I don't think that it needs to be either/or.
As Frank proposed, I would prefer to see a solution that allows the user
to specify the following in geometry_columns table:
And then allow storage of any one of these in the database as the
"native" format for any given table.
The overhead is that all implementations of this SQLite geo-database
would have to support these formats, but this would allow optimisation
for FDO/MapGuide with FGF, for standardisation with WKB (I would suggest
only supporting SFS 1.2 WKB), or for ease of access with WKT.
I am hesitant about any solution that requires special dlls for
accessing the SQLite database at this point...
From: Mateusz Loskot
Subject: Re: [fdo-internals] FDO RFC 16 - FDO Provider for SQLite
My positions are:
1. If we focus only on implementation of the FDO Provider for SQLite,
then I think that FGF is a better choice than WKT/WKB because it will
not require FGF<->WKB translations. Format translations are potential
2. If we came to the conclusion that it's better to implement more
universal solution, then WKB format is reasonable choice.
Potentially, there is a chance for development of universal solution
without loosing max of performance. The option is to follow OGC SFS and
common implementations like PostGIS or MySQL. Simply, we should be able
to extend SQLite with OGC SFS functions: AsBinary and AsText
Then, following schemes would be possible:
1. Return FGF as native format, equivalent to PostGIS EWKB
SELECT the_geom FROM table:
2. Request WKB
SELECT AsBinary(the_geom) FROM table;
3. Request WKT
SELECT AsText(the_geom) FROM table;
Following this concept, it could be even possible to implement AsEWKT
and AsEWKB to gain some level of compatibility with PostGIS.
Why I'm saying such option is possible?
From version 3.3.6, SQLite supports loadable extension modules
providing additional SQL functions:
"Additional functions may be written in C and added to the database
engine using the sqlite3_create_function() API."
Short example about creating custom functions:
fdo-internals mailing list
fdo-internals at lists.osgeo.org
More information about the fdo-internals