.mai visto una BLOB image da QGIS?

…tralasciando il titolo (un periodo caratterizzato da un eccessivo stress per me), in questo articolo voglio condividere un metodo veloce su come può essere visualizzata direttamente da QGIS un’immagine memorizzata all’interno di database SQLite.

In un database possiamo storicizzare diverse informazioni non solo alfanumeriche anche dati raster come le immagini grafiche, per esempio foto, nei più svariati formati. Comunemente per memorizzare un’immagine grafica o una foto all’interno di una tabella presente nel database si usa come datatype il formato BLOB (Binary Large OBject), in quanto quest’ultimo consente di memorizzare oggetti molto grandi anche parecchi gigabyte. Molti database relazionali supportano questo tipo di dato, tra questi SQLite o SpatiaLite se presente l’estensione spaziale per il trattamento dei dati geografici. In questo ultimo caso, si tratta di un formato di database ampiamente utilizzato per memorizzare dati geospaziali (sia vettoriali che raster) soprattutto nella sua variante come standard OGC materializzato nel formato GeoPackage (*.gpkg). E poi si tratta di un prodotto Made in Italy!

Il formato BLOB è però anche un formato binario, non interpretabile direttamente ma solo attraverso l’ausilio di qualche decoder appropriato. In questo brevissimo articolo vedremo come visualizzare foto e immagini memorizzate in un campo di tipo BLOB direttamente da QGIS, facendo uso delle oramai conosciute e mitiche… Actions!

Nello screencast allegato vengono mostrati tutti i passaggi per impostare correttamente l’azione. Nello script python allegato, da usare per creare l’azione in QGIS, è necessario modificare le righe 5, 6 e 7:

UNIQUE_FIELD = 'unique_field_name'
BLOB_FIELD = 'picture_field_name'
FIELD_VALUE = '[%unique_field_name%]'

Alla riga 5 sostituire il valore unique_field_name con il nome di un campo univoco (magari la chiave primaria), la riga 6 deve contenere il nome del campo dove sono state memorizzate le foto ed infine alla riga 7 va messo lo stesso valore come alla riga 5 lasciando in questo caso la stringa ‘[% %]’. Nel mio caso le righe con i valori già impostati sono:

UNIQUE_FIELD = 'pkuid'
BLOB_FIELD = 'picture'
FIELD_VALUE = '[%pkuid%]'

 

Advertisements

One thought on “.mai visto una BLOB image da QGIS?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s