Registrare una spatial view è importante altrimenti il field geometry verrà visto come un semplice campo NON utilizzabile nei GIS Desktop; per registrare la view è possibile seguire due vie:
- utilizzare il view composer di spatialite_gui;
- scrivere un semplicissimo statement SQL, ecco un esempio completo:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
— creo tabella | |
CREATE TABLE "pti_quadri_elettrici" | |
( | |
"pk_uid" integer PRIMARY KEY autoincrement NOT NULL, | |
"data_ril" date, | |
"nome_quadro" text, | |
"path_quadro" text | |
) | |
—aggiungo colonna geometry | |
SELECT AddGeometryColumn ('pti_quadri','geom',3003,'POINT','XY'); | |
— creo una view | |
create view "v_nome_quadri" as | |
select q.pk_uid as rowid, q.nome_quadro, q.geom as the_geom | |
from "pti_quadri_elettrici" q; | |
— registro spatiali_view | |
INSERT INTO views_geometry_columns | |
(view_name, view_geometry, view_rowid, f_table_name, f_geometry_column, read_only) | |
VALUES ('v_nome_quadri', 'the_geom', 'rowid', 'pti_quadri_elettrici', 'geom',1) |

spatialite_gui: http://www.gaia-gis.it/gaia-sins/windows-bin-amd64/
spatialite cookbook ita: https://goo.gl/k3HKs7
Buon lavoro
EDIT: Thread GFOSS
le Spatial Views di SpatiaLite hanno dei requisiti ben precisi e molto stringenti:
1. la colonna Geometry della Spatial View deve corrispondenre esattamente ad una colonna Geometry di una delle Spatial Tables subordinate;
2. non sono ammesse funzioni SQL che possano alterare in qualsiasi modo la geometria originaria (in altre parole: ST_Transform, ST_Union, ST_Difference, ST_Buffer etc sono sempre rigorosamente proibite in una Spatial View;
3. la Spatial View deve necessariamente contenere una colonna di nome ROWID, che deve coincidere esattamente con il ROWID della Spatial table che fornisce la Geometry.
NB: il ROWID presente nella Spatial View non ha alcuna necessita’ di essere univoco a livello della View; serve solo ad assicurare che per ciascuna Geometry della Spatial View il data provider possa risalire correttamente alla voce corrispondente dello Spatial Index che supporta la tavola-madre che fornisce le Geometries alla View.
Interessante,
ho provato a creare come hai descritto il tutto fino alla registrazione della geometria nella vista.
Unico problema è che Qgis 2.18.x x64 non mi mostra i simboli della geometria della vista…
Avevo provato tempo addietro ma senza successo
"Mi piace""Mi piace"
Risolto: era da definire bene il rowid.
Grazie lo stesso!
"Mi piace""Mi piace"