Concetti

LRS (Linear Reference System) è un metodo di riferimento spaziale dove i luoghi lungo una linea sono descritti in termini di misurazioni rispetto a un punto preciso, come le pietre miliari lungo la strada.

Si immagini il seguente scenario:

  • layer lineare di fiumi
  • tabella (non spaziale) con descrizione del tipo di intervento (sfalcio, potatura, ecc) eseguita per ogni fiume

Si vogliono generare automaticamente 3 diversi layer per ogni nuovo intervento aggiunto, ovvero aggiungendo solamente una nuova riga alla tabella dei lavori (tabella non spaziale):

  1. layer puntuale di inizio intervento
  2. layer puntuale di fine intervento
  3. layer lineare che collega l'inizio e la fine di ogni intervento

LRS concepts in QGIS

Struttura dei dati

I layer di base per questo lavoro sono solamente fiumi e tabella_lavori.

È importante che le due tabelle degli attributi abbiano un campo comune che identifica il fiume, in questo esempio nome_fiume per il layer fiumi e route per la tabella tabella_lavori.

LRS Attribute Tables

Creazione Layer Virtuali

I layer virtuali sono stati introdotti diverso tempo fa in QGIS e permettono di lanciare query SQL a tutti gli effetti su qualunque tipologia di dato. Quindi anche se i layer in input sono degli shapefile, si possono creare layer virtuali senza nessun problema.

Il grande vantaggio? I layer virtuali si comportano come le viste di un database: quindi al cambiamento di valori e attributi dei layer sorgenti, le viste si aggiornano di cosenguenza.

Un altro grande vantaggio? Le viste sono delle interrogazioni di tabelle esistenti quindi non viene occupato spazio nuovo su disco.

Utilizzando una combinazione delle funzioni ST_Line_Interpolate_Point e ST_Length otteniamo i tre layer virtuali che ci interessano.

Con una corretta e furba gestione dei moduli personalizzati di QGIS possiamo quindi aggiungere una riga alla tabella_lavori e avremo un aggiornamento continuo dei layer virtuali di nostro interesse:

Articolo precedente Prossimo articolo