Vettorializzare mappe raster

Avvertimento

A new version of this tutorial is available at Digitizing Map Data (QGIS3)

Digitalizzare è uno dei compiti che gli specialisti GIS sono chiamati a svolgere con maggior frequenza. Una cospicua quantità dell’intero GIS time è normalmente investita nella digitalizzazione di dati raster per ottenere dei layer vettoriali da usare nel corso delle nostre analisi. QGIS dispone di potenti risorse per la digitalizzazione e l’editing che esploreremo nel corso di questa esercitazione.

Descrizione dell’esercizio

Partiremo da una carta topografica raster e creeremo alcuni layer vettoriali per rappresentare le geometrie che interessano un parco e l’area circostante.

Altri aspetti che avremo modo di apprendere nel corso dell’esercizio

  • Costruire piramidi per grandi dataset raster per velocizzare le operazioni di zoom (ingrandisci) e di pan (sposta mappa).

  • Lavorare con un database Spatialite.

Ottenere i dati necessari

Land Information New Zealand (LINZ) fornisce carte topografiche alla scala 1:50000 per la Nuova Zelanda e le isole Chatham.

Scaricate il GeoTIFF Image file dalla pagina Christchurch Topo50 map download page.

Per comodità, potete scaricare direttamente una copia del dataset dal seguente link:

BX24_GeoTifv1-02-clip.tif

Fonte Dati [LINZ]

Procedimento

  1. Andate su Layer ‣ Aggiungi raster…. Individuate l’immagine scaricata BX24_GeoTifv1-02.tif e fate click su Apri.

../_images/1178.png
  1. Abbiamo caricato un file raster piuttosto pesante e potrete notare che, quando fate operazioni di zoom o di pan sulla mappa, passa un certo tempo prima che l’immagine venga visualizzata di nuovo. QGIS offre una semplice soluzione per rendere il caricamento dei raster più veloce attraverso Image Pyramids. Con questo servizio QGIS crea delle piastrelle (tile) precaricate a risoluzioni diverse e saranno proprio queste piastrelle - le cosiddette piramidi - a venir rappresentate al posto dell’intero raster. Ciò renderà la navigazione più rapida e diretta. Fate click con il tasto destro del mouse sul layer del raster BX24_GeoTifv1-02 e scegliete Proprietà.

../_images/2146.png
  1. Scegliete la scheda Piramidi. Tenete premuto il tasto Ctrl e selezionate tutte le risoluzioni proposte nel pannello Risoluzioni. Lasciate le altre opzioni come sono e fate click su Crea piramidi. Quando il processo è finito fate click su OK.

../_images/387.png
  1. Tornate sulla finestra principale di QGIS e usate lo strumento Zoom per individuare l’area di Hagley Park nella città di Christchurch. Questo è l’area verde che intendiamo digitalizzare.

../_images/454.png
  1. Prima di iniziare è necessario impostare l’opzione Digitalizzazione. Andate su Impostazioni ‣ Opzioni….

../_images/547.png
  1. Selezionate la scheda Digitalizzazione nella finestra di dialogo Opzioni . All’interno della scheda Snapping e precisamente nella casella Modalità di snap predefinita, settate la voce Al vertice e al segmento. E” preferibile settare le caselle Modalità di snap predefinita e Raggio di ricerca per le modifiche dei vertici su pixel invece che su unità di mappa. Questo ci assicura che la distanza di snapping rimane costante indipendentemente dal livello di zoom. Sulla base della risoluzione dei vostri schermi, scegliete dei valori appropriati. Click su OK.

../_images/645.png
  1. Ora siamo pronti ad avviare la digitalizzazione. Per prima cosa creeremo un layer per le strade trasformando in dati vettoriali le strade intorno all’area del parco. Selezionate Layer ‣ Nuovo ‣ Nuovo vettore spatialite…. Naturalmente, per vostre specifiche esigenze, avreste anche potuto scegliere di creare un nuovo shapefile selezionando Nuovo shapefile…. Spatialite è un formato aperto dei database, per molti versi simile al formato ESRI per i geodatabase. Il database Spatialite è contenuto all’interno di un singolo file che, salvato all’interno dei vostri dispositivi di memoria, riesce a contenere insieme diversi tipi di geometrie (punti, linee, poligoni) come pure attributi di tipo non geometrico. Questo rende notevolmente più semplice spostarlo rispetto a quanto accade con un ventaglio composto da diversi shapefile. In questa esercitazione creeremo una coppia di layer poligonali e uno di tipo lineare, per cui ci sembra che un database Spatialite faccia al caso nostro. Tenete presente che, in ogni modo, potete sempre caricare un layer Spatialite e poi salvarlo come uno shapefile o in qualsiasi altro formato preferite.

../_images/745.png
  1. Nella finestra di dialogo Nuovo layer Spazialite scegliete il pulsante e salvate un nuovo database spatiaLite che chiameremo nztopo.sqlite. Scegliete Roads come Nome layer e selezionate Linea come Tipo. La carta topografica di base ha come CRS EPSG:2193 - NZGD 2000, quindi dovremo selezionare lo stesso sistema di riferimento per il nostro layer stradale. Barrate la casella Crea una chiave primaria autoincrementale. Questo creerà un campo chiamato pkuid nella tabella degli attributi e assegnerà automaticamente un unico id numerico per ciascuna geometria. In generale, quando create un layer GIS, dovete decidere quali attributi assegnare alle geometrie. Considerando che qui abbiamo a che fare con un layer stradale, sceglieremo 2 attributi di base: Name and Class. Digitate Name , inteso come il nome dell’attributo, nella sezione Nuovo attributo e fate click su Aggiungi alla lista degli attributi.

../_images/844.png
  1. In modo del tutto analogo create il nuovo attributo Class sempre con tipo di dato Testo. Fate quindi click su OK.

../_images/945.png
  1. Una volta che il layer è stato caricato fate click sul pulsante Modifica per mettere il layer in modalità di editing.

../_images/1052.png
  1. Click sul pulsante Aggiungi elemento. Click sulla mappa per aggiungere un nuovo vertice. Aggiungete nuovi vertici lungo la linea stradale. Una volta che avete digitalizzato un segmento di strada, fate click con il tasto destro per concludere l’inserimento della geometria.

Nota

Potete usare la ruota di scorrimento del mouse per ingrandire o rendere più piccola l’immagine mentre lavorate alla digitalizzazione. Potete anche tenere pigiata la ruota del mouse e spostare la mappa con movimenti di pan.

../_images/1179.png
  1. Dopo aver fatto click sul tasto destro del mouse apparirà una finestra di dialogo chiamata Attributi. Qui potete inserire gli attributi delle geometrie che andate via via creando. Visto che pkuid è un campo che si autoincrementa, non vi sarà permesso digitare valori al suo interno manualmente. Lasciatelo vuoto e scrivete il nome della strada così come appare sulla mappa topografica. Se volete, potete assegnare un valore di Road Class. Click su OK.

../_images/1254.png
  1. Lo stile di default per il layer delle nuove linee è una linea troppo sottile. Cambiamola, così potremo vedere meglio le geometrie che digitalizziamo sulla mappa. Fate click sul layer ``Roads` e selezionate Proprietà.

../_images/1352.png
  1. Selezionate la scheda Stile nella finestra di dialogo Proprietà vettore . Scegliamo tra gli stili salvati un tratto un po” più grande, come ad esempio Primary. Click su OK.

../_images/1449.png
  1. Ora potrete vedere chiaramente la strada digitalizzata. Fate click su Salva modifiche vettori per salvare la nuova geometria sul vostro supporto di memoria.

../_images/1545.png
  1. Prima di digitalizzare le strade rimanenti è importante aggiornare alcune altre impostazioni che sono utili per creare un layer privo di errori. Andate su Impostazioni ‣ Optioni di snap….

../_images/1642.png
  1. Nella finestra di dialogo Opzioni di snap spuntare la casella in basso Abilita la modifica topologica. Questa opzione ci assicura che i confini verranno rispettati nei layers poligonali. Spuntate anche la casella Abilita l’ancoraggio alle intersezioni che ci permette di agganciarci all’intersezione di un layer di sfondo.

../_images/1740.png
  1. Ora potete fare click sul pulsante Aggiungi elemento e digitalizzare le altre strade intorno al parco. Assicuratevi sempre di fare click su Salva modifiche vettore dopo che avete aggiunto una nuova geometria, per salvare il vostro lavoro. Uno strumento molto utile per aiutarvi nella digitalizzazione è lo strumento Vertice. Fate click sul pulsante Strumento vertice.

../_images/1837.png
  1. Una volta che lo strumento vertice è attivato fate click su alcune geometrie per vedere i vertici. Fate quindi click con il tasto destro e sinistro su qualche vertice per selezionarlo. Il vertice cambierà colore una volta selezionato. Adesso, potete fare click e trascinare il vertice con il mouse. Questo può essere molto utile quando volete fare un aggiustamento dopo che la geometria è stata creata. Potete anche cancellare un vertice selezionato facendo click sul pulsante Delete . (Option+Delete su mac).

../_images/1928.png
  1. Quando avete finto di digitalizzare tutte le strade fate click sul pulsante modifica.

../_images/2024.png
  1. Now we will create a polygon layer representing the park boundaries. Go to Layer ‣ New ‣ New Spatialite Layer…. Select the nztopo.sqlite database from the dropdown list. Name the new layer as Parks. Select Polygon as the Type. Create a new attribute called Name. Click OK.

../_images/2147.png
  1. Fate click sul pulsante Aggiungi elemento e fate click sulla mappa per aggiungere il vertice del poligono. Digitalizzate il poligono che definisce il parco. Assicuratevi che vi siete agganciati sui vertici delle strade in modo che non ci siano vuoti tra i poligoni del parco e le linee stradali. Tasto destro per terminare l’operazione con il poligono e salvarlo.

../_images/2226.png
  1. Inserite il nome del parco nella finestra di pop-up Attributi.

../_images/2323.png
  1. I layers poligonali mettono a nostra disposizione un altro settaggio davvero utile chiamato Evita intersezioni. Go to Impostazioni ‣ Opzioni di snap…. Nella finestra di dialogo che compare spuntate la casella Evita intersezioni nella riga relativa al layer chiamato Parks. Fate click su OK.

../_images/2423.png
  1. Now click on Add feature to add a polygon. With the Avoid intersections of new polygons, you will be able quickly digitize a new polygon without worrying about snapping exactly to the neighboring polygons.

../_images/2521.png
  1. Click sul tasto destro per terminare il poligono e inserire gli attributi. Magicamente il nuovo poligono si è agganciato esattamente sui confini dei poligoni vicini ! Questo è straordinariamente utile quando digitalizziamo confini complessi: non abbiamo bisogno di essere esageratamente precisi e riusciamo ugualmente ad ottenere poligoni topologicamente corretti. Fate click sul pulsante Modifica per terminare la fase di editing del layer``Parks``

../_images/2619.png
  1. Finalmente è giunto il momento di vettorializzare il layer relativo agli edifici. Create un nuovo layer poligonale che chiameremo Buildings andando su Layer ‣ Nuovo ‣ Nuovo layer Spatialite.

../_images/2718.png
  1. Una volta che il layer Buildings è stato aggiunto, spegnete i layer Parks e Roads in modo che la carta topografica di base sia ben visibile. Selezionate il layer Buildings e fate click su Modifica.

../_images/2619.png
  1. Digitalizzare edifici può essere un compito ingrato. E” particolarmente difficile aggiungere vertici manualmente in modo che i bordi siano perpendicolari e formino un rettangolo. Possiamo aiutarci con un plugin chiamato Rectangles Ovals Digitizing. Se avete bisogno di vedere come trovare e installare un plugin andate su usare i plugins . Una volta che il plugin **Rectangles Ovals Digitizing**è stato installato, vedrete una nuova barra degli strumenti proprio sopra la finestra principale di QGIS.

../_images/2916.png
  1. Fate uno zoom su un area con molti edifici e fate click sul pulsante Rectangle by Extent. Fate click e disegnate un rettangolo perfetto. Allo stesso modo aggiungete gli edifici rimanenti.

../_images/3015.png
  1. Noterete che alcuni edifici non sono verticali. Quindi sarà necessario disegnare un rettangolo e ruotarlo di una grandezza angolare che lo allinei all’edificio. Fate click sul pulsante Rectangle from center.

../_images/3118.png
  1. Fate click al centro dell’edificio e muovete il mouse in modo da creare un rettangolo verticale.

../_images/3214.png
  1. E” necessario ruotare questo rettangolo per allinearlo all’immagine sulla carta topografica. Lo strumento per ruotare questi oggetti è disponibile nella barra degli strumenti Digitalizzazione avanzata . Fate click con il tasto destro su un’area vuota della barra dei menu e attivate la barra degli strumenti «Digitalizzazione avanzata.

../_images/3312.png
  1. Fate click sul pulsante Ruota elemento .

../_images/3411.png
  1. Usate lo strumento Seleziona Singolo elemento per selezionare il poligono che volete ruotare. Una volta che il pulsante Routa Elemento è attivato vedrete un bersaglio a croce nel centro del poligono. Fate click esattamente sulla freccia bersaglio e spostate il mouse mentre tenete il tasto sinistro premuto. Comparirà una rappresentazione grafica della rotazione dell’elemento. Lasciate il pulsante del mouse quando il poligono sarà perfettamente allineato con il profilo dell’edificio.

../_images/3510.png
  1. Quando avete finito di digitalizzare tutti gli edifici salvate il layer e fate click su Modifica . Potete trascinare con il mouse i layer sulla TOC uno sull’altro per modificare la loro sequenza e migliorare la mappa finale.

../_images/3610.png
  1. Il lavoro di digitalizzazione a questo punto si può considerare terminato. Potete tematizzare ed etichettare a vostro piacimento i dati che avete realizzato per realizzare un’elegante modello topografico.

../_images/3710.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)