QGIS: SEGNALIBRI GEOSPAZIALI

I segnalibri geospaziali consentono di memorizzare una posizione geografica alla quale potrai ritornare in un secondo momento.

In questo articolo farò vedere come creare dei segnalibro geospaziali (spatial boorkmarks)  partendo dalla tabella degli attributi e utilizzando il calcolatore di campi di QGIS; per tale scopo utilizzerò lo shapefile delle regioni italiane e creerò un segnalibro per ogni regione, tale segnalibro ci permetterà di centrare e zoomare la regione selezionata.

Immagine 1
pannello Spatial Bookmarks

i segnalibri di QGIS possono essere importati e/o esportati in formato XML con struttura:

Immagine 2
esempio di file segnalibro in formato XML

non occorre conoscere il linguaggio XML per creare segnalibri, basti solo rispettare alcune regole elementari:

  1. ogni file XML (che può contenere da 1 a n segnalibri) deve iniziare (riga 1) sempre con: <!DOCTYPE qgis_bookmarks>;
  2. la seconda riga con l’apertura del tag: <qgis_bookmarks> e poi ultima riga chiusura del tag: </qgis_bookmarks>;
  3. il corpo centrale di ogni segnalibro:
    Immagine 3
    segnalibro

    tra i tag: <bookmark> …. </bookmark> vanno inseriti una serie di parametri facilmente determinabili attraverso la tabella degli attributi dello shapefile regioni italiane:

    1. <id> metteremo il gid dello shapefile </id>;
    2. <name> metteremo il nome della regione </name>;
    3. <project>si può lasciare libero o mettere Italia <project>;
    4. <xmin>703963.88918272</xmin>
      <ymin>4160557.45123822</ymin>
      <xmax>1108377.1066802</xmax>
      <ymax>4297556.34739822</ymax> rappresentano le ascisse e ordinate minime e massime che delimitano ogni regione, le determineremo attraverso le relative funzioni presenti nel calcolatore di QGIS;
    5. <sr_id>1978</sr_id> E’ l’identificativo univoco per il SR usato, la chiave primaria della tabella memorizzata nel db sqlite relativo ai sistemi di riferimento (srs.db).
Immagine 4
tabella attributi con bookmark

andiamo nel calcolatore di campi:

 

Immagine 6
finestra di dialogo calcolatore di campi

creiamo un nuovo campo testuale di 255 caratteri e inseriamo la stringa sottostante:

 

concat( ‘<bookmark><id>’,”gid”,'</id><name>’, “nome_reg” ,'</name><project></project><xmin>’, ceil(x_min($geometry)) ,'</xmin><ymin>’, ceil(y_min($geometry)) ,'</ymin><xmax>’,ceil(x_max( $geometry)) ,'</xmax><ymax>’,ceil(y_max($geometry)),'</ymax><sr_id>1978</sr_id></bookmark>’ )

questa determinerà, per ogni regione, il corpo centrale del segnalibro;

la fase successiva è quella di generare il file XML:

  1. esportare lo shapefile come file CSV;
  2. modificare il file CSV con LibreOffice:
    1. eliminare tutte le colonne tranne ‘book’;
    2. eliminare la prima riga delle intestazioni;
    3. salvare sempre in CSV e aprire il file in Notepad++;
    4. aggiungere come prima riga: <!DOCTYPE qgis_bookmarks>;
    5. aggiungere come seconda riga: <qgis_bookmarks> 
    6. aggiungere come ultima riga chiusura del tag: </qgis_bookmarks>
    7. salvare in formato XML.

aprendo il file xml con NotePad++ si vedrà:

Immagine 7
file xml

a questo punto siamo pronti ad importare il file in QGIS:

  1. avviamo QGIS;
  2. carichiamo lo shapefile delle regioni;
  3. CTRL+SHIFT+B per aprire il pannello dei segnaposti geospaziali;
  4. importare, attraverso l’apposita icona, il file appena creato;
  5. dopo qualche secondo apparirà l’elenco delle 20 regioni;
  6. cliccando su ogni segnalibro si otterrà lo zoom della regione.
Immagine 8
pannello segnalibri

Note finali: questo articolo nasce da una esigenza personale, cioè, facendo uso dei segnalibri mi sono chiesto se era possibile velocizzare la creazione di tale prezioso strumento. Non conosco il linguaggio XML (male!!! 😉 ) ma come si è visto non occorre conoscerlo a fondo. Spero sia utile a quanti come me fanno un uso razionale degli strumenti di QGIS.

PS.: Lo stesso effetto si può ottenere con il plugin Item Browser, ma occorre selezionare tutte le feature.


 

video demo:

 

file e progetto.

 

Pubblicità

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 )

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.