salve a tutti,
sto cercando di riprodurre quanto facevo già con postgis in spatialite. Una cosa molto semplice ma stranamente non riesco nè con spatialite-gui ne da sql puro. Voglio creare una spatial view di buffer di 1km attorno a punti che sono già nel DB. Uso: CREATE VIEW "pippo11" AS SELECT "ROWID" AS "ROWID", "name" AS "name", ST_Buffer("Geometry",1000) AS "Geometry" FROM "bus_stop" Poi registro la view: INSERT INTO views_geometry_columns (view_name, view_geometry, view_rowid, f_table_name, f_geometry_column) VALUES ('pippo11', 'geometry', 'rowid', 'bus_stop', 'geometry') Ma mi dice che la tabella è del tipo read-only Dove sbaglio? Grazie P Ing. Pierluigi De Rosa (PhD) cel: 3497558268 / fax: 075 7823038 skype: pierluigi.derosa _______________________________________________ [hidden email] 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. 786 iscritti al 30.9.2015 |
Il 06/10/2015 14:57, pierluigi de rosa ha scritto:
> Poi registro la view: > INSERT INTO views_geometry_columns (view_name, view_geometry, > view_rowid, f_table_name, f_geometry_column) > VALUES ('pippo11', 'geometry', 'rowid', 'bus_stop', 'geometry') > Ma mi dice che la tabella è del tipo read-only > Dove sbaglio? se e' una vista, non e' una tabella. no? saluti. -- Paolo Cavallini - www.faunalia.eu QGIS & PostGIS courses: http://www.faunalia.eu/training.html _______________________________________________ [hidden email] 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. 786 iscritti al 30.9.2015 |
In reply to this post by pierluigi de rosa-2
On Tue, 6 Oct 2015 14:57:45 +0200, pierluigi de rosa wrote:
> salve a tutti, > > sto cercando di riprodurre quanto facevo già con postgis in > spatialite. > Una cosa molto semplice ma stranamente non riesco nè con > spatialite-gui ne da sql puro. > Voglio creare una spatial view di buffer di 1km attorno a punti che > sono già nel DB. > Uso: > > CREATE VIEW "pippo11" AS > SELECT "ROWID" AS "ROWID", "name" AS "name", > ST_Buffer("Geometry",1000) AS "Geometry" > FROM "bus_stop" > > Poi registro la view: > > INSERT INTO views_geometry_columns (view_name, view_geometry, > view_rowid, f_table_name, f_geometry_column) > VALUES ('pippo11', 'geometry', 'rowid', 'bus_stop', 'geometry') > Ma mi dice che la tabella è del tipo read-only > Dove sbaglio? > ciao Pierluigi, non sbagli nulla; e' semplicemente che per definizione le Views di SQLite sono sempre di tipo read-only. se vuoi puoi anche trasformare una qualsiasi View di SQLite in un oggetto dotato di piene capacita' read-write, ma in questo caso pero' devi anche provvedere ad installare dei Triggers che intercettino gli eventi INSERT, UPDATE e DELETE rimappandoli nel modo piu' opportuno. una spiegazione piu' completa e dettagliata la trovia qua: https://www.gaia-gis.it/fossil/libspatialite/wiki?name=writable-view se vuoi renderti la vita molto piu' semplice puoi usare SpatiaLite-GUI che supporta un wizard "Query/View composer" che e' in grado di generarti automaticamente tutti i Triggers che servono per ottenere una Spatial View "updatable". infine, nota bene: > INSERT INTO views_geometry_columns (view_name, view_geometry, > view_rowid, f_table_name, f_geometry_column) > VALUES ('pippo11', 'geometry', 'rowid', 'bus_stop', 'geometry') > questa notazione e' incompleta, ti stai mangiando una colonna; la forma completa e' invece: INSERT INTO views_geometry_columns (view_name, view_geometry, view_rowid, f_table_name, f_geometry_column, read_only) VALUES ('pippo11', 'geometry', 'rowid', 'bus_stop', 'geometry', 1 | 0); l'ultimo valore "read_only" e' proprio quello che QGIS usa per stabilire se la tua View e' di tipo read-only oppure read-write. ovviamente se ti limiti a settare il valore "read_only=0" senza installare correttamente tutti i Triggers di supporto QGIS ti dara' un sacco di errori al primo tentativo che farai di andare a fare qualche operazione di scrittura su quella View. ciao Sandro _______________________________________________ [hidden email] 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. 786 iscritti al 30.9.2015 |
Free forum by Nabble | Edit this page |