.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%]'

 

.downdem script: un modo alternativo per scaricare il DTM (20m) del Geoportale Nazionale

Per lavoro utilizzo abbastanza frequentemente alcuni script (procedure automatizzate e personalizzate) per velocizzare le attività che svolgo quotidianamente, i quali si rivelano molto utili quando il tempo a disposizione è veramente poco. Tra questi ce n’è uno in particolare che mi piacerebbe condividere e riguarda uno script per scaricare il DTM del Geoportale Nazionale. Continue reading

.quanti Sistemi di Riferimento conosci? Io almeno 6000!

Sono incappato in questo sito epsg.io nei giorni scorsi e l’ho trovato molto interessante oltre che utile. Si tratta di un progetto libero e a codice aperto disponibile anche su Github, che consente di recuperare molte informazioni sulla quasi totalità dei sitemi di riferimento spaziali (CRS – Coordinate Reference System) esistenti utilizzati in tutto il mondo, sia globali che locali. Il numero di CRS presenti attualmente è quello dell’archivio EPSG (European Petroleum Survey Group), divenuto ormai uno standard internazionale per la codifica dei sistemi geodetici. Continue reading

.il primo giorno di GIS, tra ombre e rilievi

Come faccio a dimenticare il giorno in cui per la prima volta mi avvicinai alla Geomatica, era l’Aprile del 2002, il mese dopo sarei diventato uno Scienziato della Terra. Ricordo che la prima cosa che ho imparato è stato creare un DTM (Digital Terrain Model) a partire da un piano quotato e da curve di livello. Rimasi affascinato di come da questo semplice dato raster si potevano ottenere molteplici dati derivati: pendenze, esposizioni ed anche una mappa delle ombre, più comunemente conosciuto come shaded relief o hillshade. Continue reading

.miglioriamo QGIS! Come? Testandolo!

In questo post voglio mostrarvi quanto è semplice scrivere dei test, o comunemente chiamati “unit test”, per il plugin processing di QGIS. Lo scopo dello unit testing è quello di verificare il corretto funzionamento di parti di programma permettendo così una precoce individuazione dei bug. Si tratta di testare alcune porzioni di codice di un software, le più piccole possibili, per individuare eventuali malfunzionamenti. Continue reading

.salvami e condividimi: backup di un progetto QGIS su Dropbox

Al giorno d’oggi esistono svariati strumenti che ci consentono di avere uno spazio di archiviazione remoto. Credo possiamo dire che non abbiamo più limiti di spazio per archiviare i nostri documenti le nostre foto ed ogni altra cosa che può essere dematerializzata in un file system. Tanti sono i provider che offrono gratuitamente Gigabyte di spazio per i nostri files. Tra questi, uno dei più utilizzati è sicuramente Dropbox che consente di memorizzare foto, video e tantissimi altre tipologie di files, ormai così diffuso ed utile al punto da non poterne più fare a meno. Continue reading