spatialite: spatial view non visibile in QGIS

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

spatialite: spatial view non visibile in QGIS

pigreco
Salve a tutti,
ho il seguente problema che non riesco a risolvere, cioè non riesco a
visualizzare correttamente in QGIS una spatial view:

ho realizzato un database sqlite [0] con due geotabelle:
1. tabella poligonale (multipolygon)
2. tabella lineare (multilinestring)

effettuo una query per ottenere l'intersezione tra la linea e i poligoni
ottenendo il risultato atteso in spatialite_gui;
dalla query realizzo una spatial view correttamente registrata; passo a qgis
per visualizzare la view e NON vedo nulla anche se la tabella attributi è
visibile e corretta.

questa è la query utilizzata:

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;

ottenendo #6 righe;

creo spatial view:

create view v_linee as
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;

INSERT INTO views_geometry_columns
(view_name, view_geometry, view_rowid, f_table_name, f_geometry_column,
read_only)
VALUES ('v_linee', 'the_geom', 'rowid', 'linee', 'geometry',1);

grazie per l'aiuto

[0]  https://mega.nz/#!VVJigICT!UsTGb4VIsdbJInIS8cwGaREZPzm-rD1Lu4xeMnQ9OfY

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/
_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: spatialite: spatial view non visibile in QGIS

a.furieri
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
_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: spatialite: spatial view non visibile in QGIS

pigreco
a.furieri wrote
> 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

Grazie per la rapida risposta, chiara e dettagliata.

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/
_______________________________________________
[hidden email]
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