#20283: Geodjango - Spatialite spatial index is not updated when the table is
modifed
-------------------------------------+-------------------------------------
Reporter: burton449geo@… | Owner: nobody
Type: | Status: closed
Cleanup/optimization | Version: 1.5
Component: GIS | Resolution: needsinfo
Severity: Normal | Triage Stage:
Keywords: geodjango, | Unreviewed
spatialite, spatial index | Needs documentation: 0
Has patch: 0 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Comment (by burton449geo@…):
I am not sure, but it seems GeoDjango is not using the intern spatial
index capability of Spatialite because:
From this source: http://www.gaia-gis.it/spatialite-3.0.0-BETA
/SpatialIndex-Update.pdf
"any SQLite R*Tree simply is a distinct table [actually: a Virtual Table]"
So, in Spatialite, R-Tree are stored in a virtual table inside the
database. When using Spatialite with GeoDjango, GeoDjango (or something
else) creates a new file in the directory of the database which is named
like this: '''sql3.db.index'''. When deleted, this file is recreated again
when the spatial table is queried. But once it's built, it seems it's not
updated when the geometry of features inside the table is modified. See
this post for an issue that prooves this:
http://gis.stackexchange.com/questions/58349/mapnik-weird-tiles-rendering-
when-used-with-spatialite
I am not a specialist of Spatialite, but this is what I have investigate
so far. Please tell me, if I am wrong.
--
Ticket URL: <https://code.djangoproject.com/ticket/20283#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.