[Gfoss] query postgis

francesco marucci francesco a alveo.coop
Mar 26 Gen 2010 09:56:31 CET


se fai:

SELECT *
FROM A, B
WHERE A.THE_GEOM && B.THE_GEOM

sfrutti gli indici spaziali (sempre siano correttamente creati)

francesco


Citando Andrea Peri <aperi2007 a gmail.com>:

>> SELECT *
>> FROM A, B
>> WHERE ST_INTERSECTS (A.THE_GEOM, B.THE_GEOM)
>>
>> che secondo me dovrebbe corrispondere a fare un intersezione con il plugin
>> di Geoprocessing (Qgis).
>>
>> Se la mia ipotesi ט giusta, la cosa che trovo strana ט che la query impiega
>> circa 20 minuti per restituirmi il risultato (le due tabelle sono piuttosto
>> voluminose) mentre l'intersezione fatta da qgis ci mette un paio di minuti.
>
>
> La query che esegui dice a postgis di restituire tutti e sottolineo tutti
> gli elementi che tra loro si intersecano.
>
> Se per sfortuna i tuoi due archivi sono molto sovrapponibili questo implica
> che i dati verranno restituiti quasi tutti (se non tutti),
> causando una ridondanza enorme di valori.
>
> ovvero la medesima geometria ti viene rispedita tutte le volte che si
> interseca con una qualunque delle altre.
>
> inoltre chiedendo
>
> select *
>
> te chiedi tutti gli attributi sia di tabella A che di tabella B.
>
> infine:
>
> hai creato gli indici spaziali sui campi geometrici di entrambe le tabelle ?
>
>
> --
> -----------------
> Andrea Peri
> . . . . . . . . .
> qwerty אטלעש
> -----------------
>




Maggiori informazioni sulla lista Gfoss