Spatialite_gui: registrare una spatial view

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:

  1. utilizzare il view composer di spatialite_gui;
  2. scrivere un semplicissimo statement SQL,  ecco un esempio completo:


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)

immagine-5
versione utilizzata

 

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.

Pubblicità

2 pensieri su “Spatialite_gui: registrare una spatial view

  1. 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"

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.