Archivio dei tag vettore

Creare un raster ed un vettore delle fasce altimetriche

Con questo piccolo tutorial mostrerò come è possibile generare un raster ed un vettore di fasce altimetriche.

Materiale necessario:

  • un minimo di manualità nell’ambito GIS;
  • un DEM qualunque. Puoi scaricarne uno gratuitamente anche dai servizi WCS del Geoportale Nazionale;
  • un file .txt vuoto;
  • QGIS+GRASS.

INIZIAMO!

Come prima cosa centriamo l’area di nostro interesse; in questo tutorial farò riferimento all’area del Monte Bianco. Studiamo i metadati del raster e individuiamo la quota minima e la massima.

fasce altimetriche

Note le quote minime e massime apriamo un file .txt ed inseriamo la seguente sintassi:

0 thru 500 = 1
501 thru 1000 = 2
1001 thru 1500 = 3
1501 thru 2000 = 4
2001 thru 2500 = 5
2501 thru 3000 = 6
3001 thru 3500 = 7
3501 thru 4000 = 8
4001 thru 4500 = 9
4501 thru 5000 = 10

In questo esempio ho suddiviso le quote del DEM in 10 classi altimetriche, la prima va da 0 a 500 m, la seconda da 501 a 1000 m e così via. Tu puoi scegliere una suddivisione diversa o la stessa che ho scelto io.

Individuata l’area di interesse e preparato il nostro file di testo, andiamo nella “Processing Toolbox” e digitiamo reclass per visualizzare l’algoritmo di riclassificazione di GRASS. Avviamolo con un doppio click!

fasce altimetriche

A questo punto si aprirà la maschera che segue

fasce altimetriche

Al passo 1 scegliamo il DEM di nostro interesse, al passo 2 scegliamo il file .txt che abbiamo creato in precedenza e clicchiamo quindi su “RUN” al passo 3. Abbiamo ottenuto così il nostro raster con le fasce altimetriche che vai poi tematizzato.

fasce altimetriche

Per generare i rispettivi poligoni andiamo nel menu e clicchiamo su Raster, quindi portiamoci su Conversion e clicchiamo su Poligonize (Raster to Vector). Scegliamo il raster da poligonalizzare, quello venuto fuori dalla riclassificazione, ed avviamo l’algoritmo. A processo ultimato il risultato sarà simile al seguente, ovviamente dovete tematizzare il poligono.

fasce altimetriche

Nel video che segue è spiegato l’intero processo. Condividi l’articolo se ti è piaciuto così potrà essere d’aiuto anche a qualcun altro.


Guarda il Monte Bianco in 3D!


 

Cosa è un vettore geometrico?

Spesso chi è alle prime armi con i GIS si trova un po’ in difficoltà a cogliere in pieno il concetto di vettore ma questo è uno dei concetti fondamentali per approcciarsi in maniera proficua alla metodologia GIS.

In matematica un vettore è un elemento di uno spazio vettoriale. I vettori sono quindi elementi che possono essere sommati fra loro e moltiplicati per dei numeri, detti scalari.
Il concetto matematico di vettore nasce dall’idea intuitiva di una grandezza fisica (come ad esempio spostamento, accelerazione e forza) caratterizzata da intensità, direzione e verso nello spazio tridimensionale. A seguito dell’introduzione delle coordinate cartesiane una grandezza di questo tipo poteva essere rappresentata da una terna di numeri reali: le componenti relative a tre direzioni spaziali di riferimento. Nella successiva formalizzazione matematica si è giunti a definire il concetto generale di spazio vettoriale, come insieme in cui è definita l’operazione di combinazione lineare di due o più elementi. Fonte Wikipedia

Un array, in informatica, indica una struttura dati complessa, statica e omogenea. Gli array, presenti praticamente in tutti i linguaggi di programmazione o di scripting, sono ispirati alla nozione matematica di vettore (quando monodimensionali) o di matrice (nel caso di array bidimensionali). Più precisamente, l’array è in genere classificato come un costruttore di tipo: in altre parole, esso consente di definire nuovi tipi di dati a partire da (come aggregati di valori di) tipi preesistenti. Fonte Wikipedia

Sempre per restare in campo informatico:

La grafica vettoriale è una tecnica utilizzata in computer grafica per descrivere un’immagine. Un’immagine descritta con la grafica vettoriale è chiamata immagine vettoriale. Nella grafica vettoriale un’immagine è descritta mediante un insieme di primitive geometriche che definiscono punti, linee, curve e poligoni ai quali possono essere attribuiti colori e anche sfumature. È radicalmente diversa dalla grafica raster in quanto nella grafica raster le immagini vengono descritte come una griglia di pixel opportunamente colorati. Fonte Wikipedia

 C’è un filo che unisce il concetto di vettore geometrico nella metodologia GIS e quello di vettore esposto nel quotato precedente. Andiamo a verificare ciò!

Le righe di codice qui sopra riproducono un geojson estratto da PostGIS. Se andate alla riga 5 e la scorrete fin dopo “coordinates” noterete la tipica formattazione di un vettore matematico, nonché di un array informatico. Ogni coppia di numeri [ -14.143507972665141, 71.683371298405461 ] definisce la posizione geografica di un vertice del poligono chiamato(“id”) 0; il poligono in questione ha 6 vertici avendo 6 coppie di coordinate. Questo poligono è un poligono piano poiché ha solo due coppie di coordinate invece delle tre necessarie per un poligono tridimensionale.

Cosa altro ci mostrano queste righe di codice? In riga 3 c’è il sistema di riferimento (ricordate le coordinate cartesiane richiamate quando si è espresso il concetto di vettore matematico?). In riga 5 l’attributo “geometry” definisce il tipo di geometria; poligonale in questo caso ma poteva essere di tipo lineare o puntuale a secondo del tipo di primitiva geometrica da rappresentare (e qui ci riallacciamo alla grafica vettoriale).

Fatto questo piccolo ma importantissimo preambolo possiamo andare a definire cosa è un vettore nella metodologia GIS:

Un vettore geometrico è un insieme di coordinate espresse secondo primitive geometriche che definiscono un oggetto che rappresenta un’entità geografica o un fenomeno.

Le primitive geometriche sono punti, linee e poligoni ed ogni vettore può portare con se una ed una sola di queste primitive.

Vettore puntuale: in questa immagine sono riportate le posizioni di alberi

Fig.1 – Vettore puntuale: in questa immagine sono riportate le posizioni di alberi

Vettore poligonale: in questa immagine sono riportate le dimensioni in piano di edifici

Fig.2 – Vettore poligonale: in questa immagine sono riportate le dimensioni in piano di edifici

Vettore lineare: in questa immagine è riportato un confine comunale

Fig.3 – Vettore lineare: in questa immagine è riportato un confine comunale

Le figure 1 e 2 riportano entità geografiche, la figura 3 riproduce una entità astratta come può essere un confine comunale o un’altra tipologia di fenomeno come la rotta di un’aeroplano ad esempio.

Ognuna di queste primitive geometriche porta con se degli attributi. Infatti ogni vettore geometrico è accompagnato da una importante serie di informazioni, definite attributi, inseriti in una tabella in modo da definire una attribute table. L’attribute table è l’entità che differenzia un vettore GIS da una entità geometrica realizzata in un CAD.

E’ fondamentale anche capire che le primitive geometriche non possono essere sommate in uno stesso vettore. Quando ad esempio si va a definire un vettore in linguaggio SQL, usando ad esempio PostGIS, con il comando AddGeometryColumn si va a definire il tipo di geometria che definirà quindi il tipo di vettore(POINT, LINESTRING, POLYGON, MULTIPOINT). Un client come ad esempio QGIS leggerà sempre e solo la distinzione tra le tre tipologie anche se risiedono nello stesso “spazio tabellare” come in un database spaziale.

Fig.4 - Layer di vettori geometrici

Fig.4 – Layer di vettori geometrici

Un’altra cosa che spesso confonde chi è alle prime armi con i GIS è la nomenclatura. Di vettori ce ne sono di tanti tipi ma sono pur sempre vettori anche se sono chiamati Geojson, Shape File, GPX, Kml. Queste sono solo le più comuni estensioni di file che riproducono vettori geometrici. E quando non “vediamo” l’estensione del file perché magari contenuto in un geodatabase anche in quel caso, entrando nel geodatabase, vedremo sempre e solo vettori puntuali, vettori lineari, vettori poligonali.