21.1. Plugin GPS

21.1.1. Cos’è un GPS?

Il sistema di posizionamento globale GPS, il Global Positioning System, è basato sui satelliti, permette, a chiunque sia dotato di un ricevitore GPS, di individuare esattamente la sua posizione in qualunque zona del mondo. Il GPS è utilizzato come strumento di aiuto nella navigazione, per esempio negli aeroplani, nelle navi e anche dagli escursionisti. Il ricevitore GPS sfrutta il segnale dei satelliti per calcolare latitudine, longitudine e (qualche volta) l’altitudine. Molti ricevitori possono memorizzare la posizione (chiamata waypoints), la sequenza delle posizioni che formano una route e il tracciato o track dei movimenti che il ricevitore ha compiuto nel tempo. Waypoints, routes e tracks sono i tre principali elementi dei dati GPS. QGIS mostra i waypoints in un vettore puntuale, mentre route e tracks (percorsi e tracciati) sono visualizzati in vettori lineari.

Nota

QGIS supporta anche ricevitori GNSS. Ma noi continuiamo a usare il termine GPS in questa documentazione.

21.1.2. Caricamento dei dati GPS da file

Ci sono una dozzina di formati di file diversi per memorizzare dati GPS. Il formato utilizzato da QGIS è chiamato GPX (GPS eXchange format), che è un formato standard di interscambio che può contenere svariati numeri di posizioni, percorsi e tracce nello stesso file.

Per caricare un file GPX tu devi per prima cosa installare il plugin aprendo la finestra di dialogo Plugins Gestisci e installa plugin…. Attiva la casella checkbox Strumenti GPS. Quando questo plugin viene caricato, un pulsante con un piccolo dispositivo GPS portatile verrà visualizzato nella barra degli strumenti e in Layer ► Crea vettore ► :

  • importGPX Strumenti GPS

  • createGPX Nuovo vettore GPX

Per lavorare con i dati GPS viene fornito un file GPX di esempio disponibile nel dataset di QGIS qgis_sample_data/gps/national_monuments.gpx. Vedi la sezione Dati campione per maggiori informazioni sull’insieme di dati a disposizione.

  1. Seleziona Vettore ► Strumenti GPS o clicca sull’icona importGPX Strumenti GPS nella barra degli strumenti e apri la scheda Carica file GPX (vedi Fig. 21.1).

  2. Sfoglia la cartella qgis_sample_data/gps/, seleziona il file GPX national_monuments.gpx e clicca su Apri.

../../../_images/loadgpx.png

Fig. 21.1 La finestra di dialogo Strumenti GPS

Utilizza il pulsante Sfoglia… per selezionare il file GPX, quindi utilizza le caselle di controllo per selezionare i tipi di dati che vuoi caricare da quel file GPX. Ogni tipo di dato sarà caricato in un layer separato quando fai clic su OK. Il file national_monuments.gpx include solo i waypoint.

Nota

I dispositivi GPS consentono di memorizzare i dati in diversi sistemi di coordinate. Quando si scarica un file GPX (dal dispositivo GPS o da un sito web) e poi lo si carica in QGIS, assicurarsi che i dati memorizzati nel file GPX utilizzino WGS 84 (latitudine/longitudine). QGIS si aspetta questo, ed è la specifica ufficiale GPX. Vedi https://www.topografix.com/GPX/1/1/.

21.1.3. GPSBabel

Poiché QGIS utilizza file GPX, devi trovare un modo per convertire altri formati di file GPS in GPX. Questo può essere fatto per molti formati utilizzando il programma gratuito GPSBabel, disponibile all’indirizzo https://www.gpsbabel.org. Questo programma può anche trasferire dati GPS tra il computer e un dispositivo GPS. QGIS utilizza GPSBabel per fare queste cose, quindi si raccomanda di installarlo. Tuttavia, se vuoi solo caricare i dati GPS da file GPX non è necessario. La versione 1.2.3 di GPSBabel è nota per funzionare con QGIS, ma dovresti essere in grado di utilizzare le versioni successive senza problemi.

21.1.4. Importare dati GPS

Per importare dei dati che non sono dei file GPX, utilizza lo strumento Importa un altro file presente nella finestra di dialogo degli Strumenti GPS. Qui, puoi scegliere il file da importare (e il formato del file), il tipo di dato da estrarre da esso, dove vuoi salvare il file una volta convertito in GPX e il nome che vuoi dare al nuovo vettore. Nota che non tutti i formati di dati GPS supportano tutti e tre i tipi di dato, così per alcuni formati potrai scegliere solo uno e due tipi.

21.1.5. Scaricare dati GPS da un dispositivo

QGIS può usare GPSBabel per scaricare dati da un dispositivo GPS direttamente come nuovi layer vettoriali. Per questo usiamo la scheda Scarica dal GPS della finestra di dialogo Strumenti GPS (vedi Fig. 21.2). Qui selezioniamo il tipo di dispositivo GPS, la porta a cui è connesso (o USB se il GPS lo supporta), il tipo di elemento che si vuole scaricare, il file GPX dove i dati devono essere memorizzati e il nome del nuovo layer.

../../../_images/download.png

Fig. 21.2 Lo strumento di scaricamento

GPSBabel comunica con il GPS in base al tipo di dispositivo che viene selezionato nel menu. Se nessuna delle opzioni disponibili è compatibile con il proprio dispositivo GPS è possibile creare un nuovo tipo (vedi sezione Definire un nuovo tipo di dispositivo).

La porta potrebbe essere il nome del file o qualche altro termine che il tuo sistema operativo riconosce come porta fisica alla quale è connesso il dispositivo GPS. Essa potrebbe essere un’uscita USB, nel caso di dispositivi abilitati per l’USB.

  • nix Nei sistemi Linux è qualcosa di simile a /dev/ttyS0 o /dev/ttyS1

  • win In Windows è COM1 o COM2.

Quando fai clic su OK, i dati vengono scaricati dal dispositivo e appaiono come un layer in QGIS.

21.1.6. Caricare dati GPS sul dispositivo

C’è anche la possibilità di caricare dati vettoriali da QGIS al dispositivo GPS utilizzando lo strumento Carica sul GPS presente sempre nella finestra di dialogo Strumenti GPS. Per effettuare questa operazione devi semplicemente selezionare il layer che vuoi caricare (che deve essere un layer GPX), il dispositivo GPS utilizzato, e la porta (o l’USB) alla quale il dispositivo è collegato. Come per lo scaricamento dei dati, anche per il caricamento puoi specificare un nuovo tipo di dispositivo se tra quelli della lista non è presente quello che si sta utilizzando.

Questo strumento è molto utile in combinazione con le capacità di editing dei dati vettoriali di QGIS. Permette di caricare una mappa, creare delle posizioni o dei percorsi, e successivamente caricare questi dati nel dispositivo per poi utilizzarli in campagna.

21.1.7. Definire un nuovo tipo di dispositivo

Ci sono molteplici tipologie di dispositivi GPS. GPS. Gli sviluppatori QGIS non possono testarli tutti, quindi se ne hai uno che non funziona con nessuno dei tipi di dispositivi elencati in Scarica dal GPS e Carica sul GPS, puoi definire il tuo tipo di dispositivo. Puoi farlo utilizzando l’editor dei dispositivi GPS, che si avvia facendo clic sul pulsante Modifica periferiche… sia nella finestra di download che in quella di upload.

Per definire un nuovo dispositivo, devi solo fare clic sul pulsante Nuovo, inserire un nome, inserire i comandi di download e upload del dispositivo e fare clic sul pulsante Aggiorna. Il nome sarà inserito nei menu del dispositivo nelle finestre di upload e download – può essere qualsiasi stringa. Il comando download è il comando che viene utilizzato per scaricare i dati dal dispositivo in un file GPX. Questo sarà probabilmente un comando GPSBabel, ma è possibile utilizzare qualsiasi altro programma a riga di comando in grado di creare un file GPX. QGIS sostituirà le parole chiave %type, %in, and %out quando esegue il comando.

%type sarà sostituito da -w se stai scaricando dei waypoints, -r se stai scaricando delle routes e -t se stai scaricando dei tracks. Queste sono le opzioni che comunicano a GPSBabel quali elementi scaricare.

%in indica il nome della porta selezionata nella finestra di download mentre %out indica il nome del file GPX nel quale verranno salvati i dati. Dunque quando viene creato un nuovo dispositivo il seguente comando di download %type -i garmin -o gpx %in %out (questo è il comando di download per la tipologia di dispositivi predefiniti ‘Garmin serial’) verrà utilizzato per scaricare waypoints dalla porta /dev/ all’interno del file GPX output.gpx, QGIS leggerà la stringa e avvierà il comando gpsbabel -w -i garmin -o gpx /dev/ttyS0 output.gpx.

Il comando di upload è il comando che viene utilizzato per caricare dati sul dispositivo. Vengono utilizzati gli stessi tasti, ma %in è utilizzato per indicare il nome del file GPX che contiene il layer in caricamento, e %out viene sostituito dal nome della porta.

Puoi avere maggiori informazioni su GPSBabel e sulle opzioni utilizzabili tramite linea di comando sul sito http://www.gpsbabel.org.

Una volta che avrai creato una nuova periferica, essa apparirà nella lista dei dispositivi presenti sia nella scheda Scarica dal GPS che nella scheda Carica sul GPS.

21.1.8. Scaricare points/tracks dall’unità GPS

Come descritto nelle sezioni precedenti, QGIS utilizza GPSBabel per scaricare punti/tracce direttamente nel progetto. QGIS si configura con impostazioni predefinite per scaricare da dispositivi Garmin. Purtroppo c’è un bug #6318 che non permette di creare altri profili, quindi il download diretto in QGIS utilizzando gli strumenti GPS è al momento limitato alle unità Garmin USB.

21.1.8.1. Garmin GPSMAP 60cs

MS Windows

Installare i driver USB Garmin da https://www8.garmin.com/support/download_details.jsp?id=591

Connettere l’unità. Aprire gli Strumenti GPS e impostare type=garmin serial e port=usb: Riempire i campi Nome layer e File di output. A volte si possono avere dei problemi nel salvataggio dei dati in certe cartelle, si consiglia di utilizzare un percorso del tipo c:\temp.

Ubuntu/Mint GNU/Linux

Per prima cosa occorre risolvere un problema inerente i permessi di accesso alla periferica, seguendo quanto scritto qui https://wiki.openstreetmap.org/wiki/USB_Garmin_on_GNU/Linux. Puoi provare a creare un file /etc/udev/rules.d/51-garmin.rules contenente il seguente codice:

ATTRS{idVendor}=="091e", ATTRS{idProduct}=="0003", MODE="666"

Successivamente occorre essere sicuri che il modulo del kernel garmin_gps non sia caricato

rmmod garmin_gps

e poi puoi usare gli Strumenti GPS. Purtroppo sembra esserci un bug #7182 e di solito QGIS si blocca più volte prima che l’operazione funzioni bene.

21.1.8.2. Data logger BTGP-38KM (solo Bluetooth)

MS Windows

Il baco già discusso non consente di scaricare i dati tramite QGIS, per cui è necessario utilizzare GPSBabel dalla riga di comando o tramite la sua interfaccia. Il comando da eseguire è

gpsbabel -t -i skytraq,baud=9600,initbaud=9600 -f COM9 -o gpx -F C:/GPX/aaa.gpx

Ubuntu/Mint GNU/Linux

Utilizzare lo stesso comando (o gli stessi parametri, se usate la GUI di GPSBabel). Su Linux potrebbe capitare di vedere un messaggio tipo

skytraq: Too many read errors on serial port

Si tratta solo di spegnere e riaccendere il data logger e ritentare

21.1.8.3. BlueMax GPS-4044 datalogger (sia BT che USB)

MS Windows

Nota

Ha bisogno di installare i propri driver prima di essere utilizzato su Windows 7. Si veda il sito del costruttore per il file corretto da scaricare.

Scaricando con GSPBabel, sia con USB che BT, si ottiene sempre un errore tipo

gpsbabel -t -i mtk -f COM12 -o gpx -F C:/temp/test.gpx
mtk_logger: Can't create temporary file data.bin
Error running gpsbabel: Process exited unsuccessfully with code 1

Ubuntu/Mint GNU/Linux

con USB

Dopo aver collegato il cavo, usare il comando dmesg per capire quale porta viene utilizzata, ad esempio /dev/ttyACM3. Poi, come al solito, utilizzare GPSBabel dalla riga di comando o dalla GUI

gpsbabel -t -i mtk -f /dev/ttyACM3 -o gpx -F /home/user/bluemax.gpx

Con Bluetooth

Utilizzare il Gestore di dispositivi Blueman per accoppiare il dispositivo e renderlo disponibile tramite una porta di sistema, poio eserguire GPSBabel

gpsbabel -t -i mtk -f /dev/rfcomm0 -o gpx -F /home/user/bluemax_bt.gpx