[Gfoss] Spatialite View e import in Qgis

Stef Cud stefano.cudini a gmail.com
Ven 13 Apr 2018 15:48:46 CEST


ciao,

ho un semplice database spatialite con dentro due tabelle.
la prima contiene degli id univoci e una colonna geometrica di punti.
la seconda contiene una colonna id che fa riferimento alla prima tabella e
molti altri campi di tipo diverso non geografici che voglio visualizzare
come proprieta' degli shape in qgis
nel tempo questa al secondo tabella viene riempita con nuovi dati non
geografici che fanno sempre riferimento ai punti fissi sulla prima tabella.

per mantere il db piu facilmente utilizzabile ho pensare di creare
all'interno del db spatialite una semplicissima VIEW SQL che mi collega la
colonna geometrica della prima tabella a gli altri campi della seconda
tabella:

CREATE VIEW IF NOT EXISTS tabviewgeo AS
            SELECT tab1.id, tab1.geom, tab2.timestamp, tab2.bikes,
tab2.slots
            FROM tab1, tab2
            WHERE tab2.idtab1 = tab1.id;

ovviamente geom e' la colonna delle geometrie POINT.
precedentemente nella prima tabella ho creato la colonna geometrica con:
SELECT AddGeometryColumn('tab1', 'geom', 4326, 'POINT', 'XY');

e se carico la prima tabella in Qgis non ci sono problemi, riconosce la
colonna geometrica e me la fa selezionare in fase di importazione, in
quanto e' stata regolamente aggiunga nella tabella di sistema delle
geometrie(ho controllato)

se invece provo ad aggiungere alla view la colonna geometrica con:
SELECT AddGeometryColumn('tabviewgeo', 'geom', 4326, 'POINT', 'XY');

non viene aggiunti nella tabella di sistema delle geometrie... e la nuova
colonna geom compare in fase di importazione in Qgis ma non appare come
colonna geometrica, bensi' come QString.
In Spatialite-gui invece la colonna geom compare come tipo POINT ma non
posso fare il Map Preview.

Questo comportamento lo trovo inaspettato... probabilmente mi manca qualche
concetto di base di spatialite rispetto alle VIEW?

Grazie per qualsiasi genere di aiuto,
Stefano


Maggiori informazioni sulla lista Gfoss