Dear Developers,
I recently installed the latest Django version (github) '1.11.dev20160703135514'
To use the spatial lookup API . Specially the GeoQuery.filter(__intersects, something) function.
I've found that the method hangs while executing.
I'm using a very big dataset. If I use a small raster it works without problems.
In any case, there is a function (ST_Polygon) in between that is making a lot of troubles. Seems that everything is faster without it.
Let me show you:
t0.biomeGeometry is a Polygon Field from geodjango model base
DemMexLow is the ModelBase of a raster table.
aa = DemMexLow.objects.filter(rast__intersects=t0.biomeGeometry)
If I retrieve the data it almost never ends. Takes a lot of time.
Examining the raw query I got this:
SELECT "demmex120"."rid", "demmex120"."rast" FROM "demmex120" WHERE ST_Intersects(ST_Polygon("demmex120"."rast"), ST_GeomFromEWKB('\001\003\000\000 \346\020\000\000\001\000\000\000\005\000\000\000\000\000\000\000\000@[\300\000\000\000\000\000\000;@\000\000\000\000\0004[\300\000\000\000\000\000\000;@\000\000\000\000\0004[\300\000\000\000\000\0000;@\000\000\000\000\000@[\300\000\000\000\000\0000;@\000\000\000\000\000@[\300\000\000\000\000\000\000;@'::bytea))
where: demmex120 is the name of the table.
The substring in yellow : ST_Polygon("demmex120"."rast" is the problem.
If I run the raw sql without the ST_Polygon the query is fast.
What is the purpose of this?
Thank you very much and best wishes
Juan
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/1be483fa-a95a-4d5e-98e6-0161b9e58159%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment