On Sat, 7 Apr 2018 08:26:46 -0700 (MST), pigreco wrote:
select l.ogc_fid||p.ogc_fid as rowid,
CastToMultiLinestring(st_intersection(l.geometry,p.geometry)) as the_geom
from linee l,poligoni p
where st_intersects(l.geometry,p.geometry)=1;


regola inviolabile:

la geometria presente in una Spatial View di SpatiaLite
per poter essere visualizzata dal data-provider QGIS deve
sempre coincidere esattamente con una colonna-geometria
presente in una della Tables utilizzate per costruire
la View.

in altri termini, la View non deve mai chiamare nessuna
funzione SQL che possa modificare in qualsiasi modo le
geometrie originali presenti nella Spatial Table su cui
si basa la Spatial View.

rispettare questo vincolo puo' essere sicuramente
considerato come pesantemente restrittivo, ma e'
assolutamente indispensabile perche' altrimenti tutta
quanta la logica degli Spatial Index (cosi' come sono
implementati su SQLite/SpatiaLite) finisce letteralmente
massacrata a pezzi ed iniziano a fioccare "risultati
assolutamente pazzi".

nella tua View ci sono ben due funzioni in cascata
che manipolano la geometria, e quindi e' del tutto
naturale che non potra' mai funzionare come ti aspetti.

ciao Sandro
_______________________________________________
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni 
dell'Associazione GFOSS.it.
796 iscritti al 28/12/2017

Rispondere a