On Sat, 18 Apr 2015 18:36:59 +0200, Totò Fiandaca wrote:
ho sempre usato Postgis per creare view con geometrie, ora volevo
iniziare ad usare Qspatialite, ma dopo aver creato un DB con
spatialite non riesco neanche a creare una semplice view tipo:
in Postgis

CREATE OR REPLACE VIEW v_buffer_4m AS 
 SELECT elementi_pi.gid,
    elementi_pi.prog,
    st_buffer(elementi_pi.geom, 4::double precision) AS geom
   FROM elementi_pi;

come fare con Qspatialite?


Toto',

sia SpatiaLite che PostGIS presentano moltissime somiglianze
superficiali, visto che entrambi sono modellati in conformita'
degli standard OGC-SFS ed ISO SQL/MM

tuttavia a livello strutturale ci sono moltissime differenze
decisamente molto significative.
non dare assolutamente mai per placidamente scontato che
SQLite/Spatialite funzionino sempre in modo molto simile
a PostgreSQL/PostGIS perche' potresti avere molto spesso
delle cocenti delusioni.

giusto per aiutare a capire meglio: PostgreSQL e' un grosso
"autoarticolato pesante" basato su un'architettura client/server
decisamente complessa e sofisticata.
viceversa SQLite e' un "ciclomotore ultra-leggero" senza
nessun fronzolo extra che non sia strettamente indispensabile.
piu' o meno fanno entrambi le stesse cose, ma SQLite le fa
in modo sostanzialmente diverso e molto spesso richiede di
adottare strategie piu' indirette, molto "manuali" e poco
"automatizzate".

uno dei campi in cui la distanza tra i due DVMS e' sicuramente
abissale riguarda lo Spatial Index; l'altro riguarda proprio
le Spatial Views.

anche SQLite/SpatiaLite e' perfettamente in grado di gestire
una Spatial View, ma richiede un paio di pre-requisiti extra:
- per ottenetre una Spatial View occorre prima registrarla in
  modo esplicito nella meta-tavola "views_geometry_columns"
- la geometria fornita dalla View deve esattamente corrispondere
  ad una geometria gia' presente in una delle tavole su cui
  si basa la View.
  ergo, sono tassativamente proibite tutte le funzioni che
  trasformano in qualsiasi modo la geometria:
  ST_Transform(), ST_Buffer(), ST_Difference() etc etc

letture consigliate:

http://www.gaia-gis.it/gaia-sins/spatialite-cookbook/html/sp-view.html
(un po' vecchiotto)

https://www.gaia-gis.it/fossil/libspatialite/wiki?name=writable-view
(molto piu' aggiornato)

ciao Sandro
_______________________________________________
Gfoss@lists.gfoss.it
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.
750 iscritti al 18.3.2015

Rispondere a