[Gfoss] QspatiaLite 5.0.3
a.furieri a lqt.it
a.furieri a lqt.it
Gio 26 Gen 2012 12:57:32 CET
Giusto un paio di chiarimenti di base per quanto
riguarda la corretta gestione delle Spatial Views
di SpatiaLite; basati su di un esempio facilmente
replicabile, cosi' tutto e' piu' chiaro (spero ...)
useremo spatialite_gui per predisporre il DB.
a) importiamo gli SHP dei confini amministativi ISTAT:
http://www.istat.it/it/files/2011/04/reg2011.zip
http://www.istat.it/it/files/2011/04/prov2011.zip
n.b.: usiamo regioni e province perche' sono meno
numerose, e la query girera' snella e veloce senza
richiedere ottimizzazioni complicate.
b) a questo punto creiamo la VIEW:
CREATE VIEW regioni AS
SELECT r.ROWID AS ROWID, r.cod_reg AS cod_reg,
r.nome_reg AS nome_reg, Count(*) AS nro_prov,
r.Geometry AS Geometry
FROM reg2011 AS r
JOIN prov2011 AS p ON (p.cod_reg = r.cod_reg)
GROUP BY r.cod_reg;
*** un paio di punti da notare con cura:
*** SQLite esige che tutte le colonne della VIEW
*** abbiano un nome esplicito [.. AS cod_reg]
*** puo' sembrare sciocco, ma solo in questo modo
*** si ottiene una definizione "pulita".
***
*** ed occorre necessariamente inserire (esplicitamente)
*** il riferimento al ROWID della tavola che contiene
*** la Geometria (altrimenti SpatiaLite non sara' poi
*** in grado di utilizzare lo Spatial Index, se esiste)
c) infine occorre registrare la VIEW nella apposita tavola
di metadati (views_geometry_columns):
INSERT INTO views_geometry_columns
(view_name, view_geometry, view_rowid,
f_table_name, f_geometry_column)
VALUES ('province', 'Geometry', 'ROWID',
'reg2011', 'Geometry');
d) fatto: potete finalmente aprire QGIS e connettere la
VIEW "regioni" che apparira' come qualsiasi altro layer.
====
per quanto mi riguarda personalmente non ho idea se i vari
plugin per QGIS come Qspatialite e/o DB Manager implementino
il supporto che consente di definire nel modo corretto le
Spatial Views di SpatiaLite.
eventualmente contattate i rispettivi sviluppatori e/o
aprite un ticket su QGIS.
ciao Sandro
Maggiori informazioni sulla lista
Gfoss