SpatiaLite 2.4.0 ReleaseCandidate-4 [2010-11-14] work in progress

back to main page

SQLite 3.7.3 and Geometry Callback functions

This latest SQLite version is now supporting Geometry Callback functions. SQLite custom R*Tree queries

And this allows SpatiaLite to support an easier approach for Spatial Index handling.
  • Previous approach:
    SELECT * FROM GeoNames WHERE ROWID IN
    (SELECT pkid FROM idx_GeoNames_geometry
    WHERE
    xmax >= 11.9 AND ymax >= 43.0 AND xmin <= 12.4 AND ymin <= 43.5);

  • Current approach (based on geometry callbacks):
    SELECT * FROM GeoNames WHERE ROWID IN
    (SELECT pkid FROM idx_GeoNames_geometry
    WHERE
    pkid MATCH RTreeIntersects(11.9, 43.0, 12.4, 43.5));

  • Here is the complete list of callback functions you can now use to inspect the R*Tree:
    • RTreeWithin()
    • RTreeContain()
    • RTreeIntersects()
    • RTreeDistWithin()
Build system

Please note well: the build system has been heavily updated.
You can find any relevant detail on a separate document.
Pre-built binaries

Windows pre-built binaries: Windows is a messy and cahotic platform.
Accordingly to this, pre-built binaries still continue to adopt static linkage (amalgamation based).
[no DLLs are required, thus widely simplifying installation, exactely as before].


MacOsX pre-built binaries: the same as for Windows.
static linkage (amalgamation based), as in any previous version.


Linux pre-built binaries: learning from previous releases.
Achieving a fully static linkage on this platform seems to be not possible at all. Too much distros, too much versions.

On the other side, it's true that building executables from scratch (i.e. starting from sources)
always is a really plain and easy task on any Linux distro at your choice.
Accordingly to the above considerations, the pre-built Linux binaries works for sure on Debian Lenny.

On different distros they may work, ok may not.
If they don't work, for one reason or another ... I'm sorry, you must perform a build by yourself


back to main page