Geopackage e i trigger

GeoPackage è un formato di file universale creato sulla base di SQLite,  per condividere e trasferire dati spaziali vettoriali e raster . È quindi l’alternativa ai formati raster come GeoTIFF e ai vettori come l’obsoleto shapefile .

Vediamo come aggiungere un trigger ad una geo-tabella di un geopackage, questo ci permetterà di velocizzare notevolmente il lavoro.

Supponiamo di tracciare dei punti e di voler compilare un campo in funzione del luogo in cui ricade: per semplicità uso un vettore poligonale (CLC) e un vettore puntuale (punti_test_trigger); di seguito il trigger usato:

Animazione:

TRIGGER

Il trigger è stato realizzato usando spatialite_gui:

Immagine 2
spatialite_gui

 

Idea presa da qui

 

Geopackage per test

 

Buon lavoro.

3 pensieri su “Geopackage e i trigger

  1. interessante!
    Quindi i gpkg si possono aprire con spatialite oltre che sqlite.

    Un problemino (forse stupido) lo ho quando ho una tabella geom spatialite, caricata in qgis3, ci disegno le features in mappa, ma al momento del salvataggio ho il campo id/pk (pk integer not null primary key,) che si colora a sfondo rosso impedendomi l’ok. Con qgis2.x non c’è questo problema.

    Come esce il “Genera automaticamente” nel campo fid? Si può fare con sqlite per qgis3?
    saluti e grazie per i tuoi preziosi articoli!

    "Mi piace"

    1. Ciao, per il primo problema non saprei dirti, occorre vedere il database; per il secondo quesito si, si puo’ fare occorre aggiungere – al pk – integer PRIMARY KEY autoincrement NOT NULL
      saluti

      "Mi piace"

  2. Grazie del suggerimento, in effetti avevo due casi:
    -pk integer not null primary key, (funziona con qgis2 ma con qgis3 no)
    -pk integer primary key autoincrement not null, (funziona in entrambe le versioni).
    In pratica qgis3 vuole per forza “autoincrement” altrimenti blocca in partenza il salvataggio a sfondo rosso.

    Piace a 1 persona

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 )

Google photo

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

Foto Twitter

Stai commentando usando il tuo account Twitter. 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.