[Gfoss] Qgis, spatialite e view

Salve a tutti,
dopo un bel po’ di prove con sqlite e qgis (1.4 su max os x 10.5) ho riscontrato questi problemi:

  • se importo uno shapefile in sqlite tramite la spatialite-gui (mi riferisco a ) e creo uno view che lo lega ad una tabella, la view mi persenta correttamente la geometria, ma in tabella come valori ho solo una sfilaza di ERROR;

  • se provo ad editare il layer di sqlite con qgis aggiungendo una geometria, questa viene ignorata dalla view;

  • se utilizzo i dati di prova (mi riferisco sempre a ), per esempio le regioni italiane, creo una tabella di dati e faccio una view sulle regioni, tutto in qgis si visualizza correttamente e pure gli attributi sono visibili. Rimane il problema che se aggiungo un poligono alle regioni, questo non viene tirato su dalla view.

Si sono regole particolari su come creare un layer editbile per sqlite? Dove sbaglio?

ciao e grazie

Luca

On Tue, 30 Mar 2010 22:32:26 +0200, Luca Mandolesi wrote

Salve a tutti,
dopo un bel po’ di prove con sqlite e qgis (1.4 su max os x 10.5) ho riscontrato questi problemi:

  • se importo uno shapefile in sqlite tramite la spatialite-gui (mi riferisco a ) e creo uno view che lo lega ad una tabella, la view mi persenta correttamente la geometria, ma in tabella come valori ho solo una sfilaza di ERROR;
  • se provo ad editare il layer di sqlite con qgis aggiungendo una geometria, questa viene ignorata dalla view;
  • se utilizzo i dati di prova (mi riferisco sempre a ), per esempio le regioni italiane, creo una tabella di dati e faccio una view sulle regioni, tutto in qgis si visualizza correttamente e pure gli attributi sono visibili. Rimane il problema che se aggiungo un poligono alle regioni, questo non viene tirato su dalla view.

Si sono regole particolari su come creare un layer editbile per sqlite? Dove sbaglio?

Ciao Luca,
in linea di massima non dovresti avere nessun problema ad usare una VIEW “spatial”
su Spatialite / QGIS: tieni però conto che ci sono un paio di peculiarità specifiche
deriventi dall’architettura SQLite:

  • le VIEWs sono readonly: quindi le puoi interrogare e visualizzare, ma non le puoi
    assolutamente usare per fare editing: se vuoi modificare/inserire/eliminare allora
    devi necessariamente operare sulle singole tavole sottostanti.
  • ti sconsiglio caldamente di scriverti le tue VIEW spaziali “a mano”: usa piuttosto
    lo strumento Query/View Composer che trovi in spatialite-gui [altrimenti rischi
    di non gestire correttamente la tavola dei metadati VIEWS_GEOMETRY_COLUMNS]

suppongo che tu abbia già letto questa documentazione:
http://www.gaia-gis.it/spatialite-2.4.0/Using-Views-Basic.pdf
http://www.gaia-gis.it/spatialite-2.4.0/Using-Views-Advanced.pdf

se comunque continui ad incontrare problemi fammelo sapere, magari fornendomi
qualche ulteriore dettaglio circostanziato sulla struttura delle tavole e sul
codice SQL che usi per la View … oppure, ancora meglio, cerca di spedirmi
un DB sample zipped

ciao Sandro

  • le VIEWs sono readonly: quindi le puoi interrogare e visualizzare, ma non le puoi

assolutamente usare per fare editing: se vuoi modificare/inserire/eliminare allora
devi necessariamente operare sulle singole tavole sottostanti.

Ok, le uso già in postgres senza problemi.

  • ti sconsiglio caldamente di scriverti le tue VIEW spaziali “a mano”: usa piuttosto
    lo strumento Query/View Composer che trovi in spatialite-gui [altrimenti rischi
    di non gestire correttamente la tavola dei metadati VIEWS_GEOMETRY_COLUMNS]

Ecco! Probabilmente sta qua l’inghippo. Io ho semplicemente fatto girare la query sql.

Adesso riprovo!!
Grazie

Luca

Ciao Alessandro,

visto che riscontro il medesimo problema, mi sono messo a seguire passo passo il tutorial base e sono partito da zero con la costruzione di un DB con sqlite.

Primo dubbio:

se creo una tabella geometrica come nel primo esempio

CREATE TABLE Regions (

RegId INTEGER PRIMARY KEY NOT NULL,

RegName TEXT NOT NULL,

RegGeom MULTIPOLYGON

)

RegGeom non è segnalata come una colonna geometrica, a patto di andare sulla colonna e selezionare Recover Geometry Column e passargli i dati. Mi pare che nel tutorial non vi sia questo passaggio, quindi mi chiedevo dove sbaglio. Sto facendo un passaggio che nn dovrei?

ora vado avanti e vedo che succede…

ciao e grazie

luca

On Thu, 1 Apr 2010 23:00:12 +0200, Luca Mandolesi wrote

se creo una tabella geometrica come nel primo esempio

CREATE TABLE Regions (
RegId INTEGER PRIMARY KEY NOT NULL,
RegName TEXT NOT NULL,
RegGeom MULTIPOLYGON
)

RegGeom non è segnalata come una colonna geometrica, a patto di andare sulla colonna e selezionare
Recover Geometry Column e passargli i dati.

Ciao Luca,

segui il tutorial fino in fondo, non ti fermare ai primi steps :slight_smile:
[te lo spiega nei paragrafi successivi …]
la strada ‘giusta’ è la seguente:

CREATE TABLE Regions (
RegId INTEGER PRIMARY KEY NOT NULL,
RegName TEXT NOT NULL);
SELECT AddGeometryColumn(‘Regions’, ‘RegGeom’, 32632, ‘MULTIPOLYGON’, ‘XY’);

Cioè (più o meno) proprio come sei abituato a fare con PostGIS.

ciao
Sandro

http://www.zeusnews.com/index.php3?ar=stampa&cod=12140

Ecco qua: dopo l’Ungheria anche Norvegia e Danimarca
mettono al bando M$ Office e scelgono i formati
OpenOffice per i documenti “ufficiali”

… e noi italiani rischiamo di arrivare ultimi in UE :frowning:

ciao Sandro

Il 01 aprile 2010 23.35, <a.furieri@lqt.it> ha scritto:

... e noi italiani rischiamo di arrivare ultimi in UE :frowning:

se facessimo parte dell'Africa rischieremmo di essere ultimi anche li :frowning:

ciao Sandro

ciao
Luca

...che facciamo: rispolveriamo dal cassetto la lettera di Celli al
figlio, di qualche mese fa ?

la posizione dell'Italia rispetto a vari "indicatori" è nota, così
come il fatto che nei paesi scandinavi ci sia una cultura "avanti"
rispetto a tutta una serie di valori, così come il fatto che in tanti
paesi dell'Est europeo ci sono dinamiche che possono favorire scelte
innovative.

teniamo per un momento da parte l'Africa, che è una realtà un poco più
complessa....

detto questo: la risposta migliore per Alessandro (in quanto
presidente di un'associazione) sarà senz'altro tenere alta
l'attenzione sul tema negli spazi in cui GFOSS.it può operare con
visibilità...a partire dagli appuntamenti noti tipo GFOSS day (si fa ?
quando?), sicuramente col Linux Day, e sicuramente anche al FOSS4G
(come detto al GFOSS day di Bolzano: chi può andare, ci vada...chi non
può parli con chi ci può andare)

Luca: puoi fare lo stesso con OSMIT

buon lavoro a tutti e due (e siamo in contatto su tutte e tre le iniziative) !

andrea
http://www.pibinko.org

Il 02 aprile 2010 00.25, Luca Delucchi <lucadeluge@gmail.com> ha scritto:

Il 01 aprile 2010 23.35, <a.furieri@lqt.it> ha scritto:

... e noi italiani rischiamo di arrivare ultimi in UE :frowning:

se facessimo parte dell'Africa rischieremmo di essere ultimi anche li :frowning:

ciao Sandro

ciao
Luca
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@faunalia.it
http://lists.faunalia.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
440 iscritti al 15.3.2010