[Gfoss] spatialite: spatial view non visibile in QGIS

a.furieri a lqt.it a.furieri a lqt.it
Sab 7 Apr 2018 17:46:43 CEST


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


Maggiori informazioni sulla lista Gfoss