[Gfoss] intersezione

Andrea Peri aperi2007 a gmail.com
Gio 28 Gen 2010 01:18:19 CET


Non entro nel merito della tua necessita',
ma la differenza della quantita' dei risultati e' giusta .

nel caso false, viene selezionato ogni elemento che non si interseca
con almeno un altro elemento (non con tutti quanti) .
Nel caso true, viene selezionato ogni elemento che si interseca con
almeno 1 elemento.

Da qui la differenza del risultato.

Tieni presente che il confronto avviene sempre tra singoli elementi .

Prendi ad esempio l'archivio dei confini comunali della tua regione.
Per fare un caso emblematico: immagina di intersecarlo  con un altro
archivio che sia la copia identica del primo archivio, ovvero
una altra copia dei confini comunali, evidentemente ogni comune si
intersecherebbe sempre e con un unico elemento dell'altro archivio
ovvero quello che rappresenta il medesimo comune.

Pero' se chiedi al sistema di restituirti i records che
verificano
st_intersects(comuneA,comuneB) = false
per il primo comune dell'archivio A ti ritornera' tutti i records
dall'altro archivio salvo quello corrispondente al medesimo comune.
per tutti te li ritorna tutti meno 1.
e questo succedera' per tutti i records dell'archivio.

per cui te ne ritorna molti.

se invece gli chiedi di darti quelli che si intersecano (con risultato
true) allora ne trova 1 solo per ogni singolo confronto.

Da qui la differenza dei tempi e l'out-of-memory.

Ciao,

>Db postgres, devo selezionare due attributi degli elementi di un livello che
>non si intersecano con gli elementi di un altro; eseguo quindi la seguente
>query
>SELECT A.CAMPO1, A.CAMPO2
>FROM TAB1 A, TAB2 B
>WHERE ST_INTERSECTS(A.GEOM, B.GEOM) = FALSE
>
>dopo più di mezz'ora che gira la query mi viene restituito l'errore "out of
>memory...".
>Per prova invece di FALSE ho messo TRUE ed in due minuti ho avuto il
>risultato.
>Gli elementi che non si intersecano da un esame a vista sono pochi.
>In entrambe le tabelle ho creato l'indice sulle geometrie (vedi altro post).
>E' forse sbagliato il metodo che ho utilizzato?



-- 
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.faunalia.it/pipermail/gfoss/attachments/20100128/14786489/attachment.htm>


Maggiori informazioni sulla lista Gfoss