mercoledì 30 dicembre 2009

Qgis e la sorgente dati non valida.

Raramente uso Qgis per l'elaborazione di raster memorizzati in mapset di GRASS; ho quindi, per lungo tempo, sopportato passivamente l'errore che ricevevo quando tentavo di caricare un raster di GRASS in Qgis: sorgente dati non valida.
L'ultima versione di Qgis ("Enceladus") è però molto ricca  e l'uso della shell di GRASS nel plugin per Qgis pare uno strumento efficace; ho fatto allora  qualche tentativo (positivo) per risolvere il problema dei raster.

Ecco gli appunti (non è... oro colato) di una soluzione poco ortodossa e temporanea:

 Linux Ubuntu Karmic; nel file sources.list ho, tra gli altri, questi repositories:

deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu karmic main
deb-src http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu karmic main

Per il gioco delle dipendenze, nel sistema sono installati questi files:

/usr/lib/gdal15plugins/gdal_GRASS.so
/usr/lib/gdal15plugins/ogr_GRASS.so

/usr/lib/gdal16plugins/ogr_GRASS.so
/usr/lib/gdal16plugins/gdal_GRASS.so

Sospetto che i due pacchetti gdal vadano in conflitto; rinomino il pacchetto meno aggiornato e creo un link:

pcgis@laptop:/usr/lib/gdal15plugins$ sudo mv gdal_GRASS.so copia_di_gdal_GRASS.so
pcgis@laptop:/usr/lib/gdal15plugins$ sudo ln -s /usr/lib/gdal16plugins/gdal_GRASS.so  gdal_GRASS.so

Qgis 1.4 ora carica senza problemi  i raster di  GRASS:

From Grass, gis e dintorni





lunedì 21 dicembre 2009

GPS Garmin in Windows: i due (+1) indispensabili

Dare gli strumenti indispensabili, facili da installare e liberi,  per  lavorare in Windows con apparecchi  GPS in... un'ottica GIS...: brevi istruzioni per l'uso rivolte a nuovi  utenti (entry level).

Map Source

Non essendo libero e facile da installare non dovrebbe essere menzionato in questo post; un accenno, però, occorre farlo. Considero Map Source utiile nel solo caso si debbano gestire mappe acquistate da  Garmin: pare che questo software  si  preoccupi in modo quasi maniacale di tutto ciò che riguarda autenticazione, sblocco e registrazione  delle mappe acquistate tralasciando di fornire all'utente un prodotto... utile e fruibile in tutte le occasioni di normale utilizzo (download  e upload di waypoitns, tracce, rotte).  Per quanto l'esperienza di chi scrive, l'utilità di Map Source inizia e finisce nel momento in cui, dopo una lunga e cervellotica  fase di autenticazione nella quale vengono richiesti 3-4 codici di attivazione, le mappe acquistate sono sbloccate e possono essere caricate nel GPS.
  

Quantum Gis

Qgis può essere scaricato da qui: consiglio di scegliere il file denominato QGIS-1.3.0-3-No-GrassSetup.exe (o un analogo file con un numero più recente di versione). Scaricarlo ed installarlo accettando la licenza ed ogni altra preimpostazione (non è necessario scaricare i set di dati di esempio proposti durante l'installazione).

Una guida introduttiva a  Qgis può essere trovata qui.

Il plugin GPS di Qgis sfrutta gpsbabel, un altro programma  che deve essere presente  (installato) nel sistema.

Gpsbabel

A giudizio di chi scrive, gpsbabel è uno tra i migliori software per lavorare con i  GPS.
Scaricare da qui il file denominato gpsbabel-1.3.6.zip (o un analogo file con un numero più recente di versione). Per l'installazione:
  1. creare una cartella sull'Hard disk (ad esempio: C:\Programmi\gpsbabel)
  2. scomapttare  il file   gpsbabel-1.3.6.zip nella cartella appena creata; alla fine di questa operazione il contenuto di quest'ultima dovrebbe presentarsi così:  
    From gps
  3. gpsbabel ha due eseguibili: GPSBabelGUI.exe  che è un'interaccia grafica ; gpsbabel.exe che è il vero e proprio motore, eseguibile all'interno della finestra MS-DOS di Windows ;
  4. gpsbabel , pur essendo installato, può essere - al momento - eseguito solo dalla cartella ove sono collocati i files (nell'esempio: C:\Programmi\gpsbabel). Per rendere disponibili le sue funzionalità all'esterno di questa cartella e per tutti  gli altri programmi che lo utilizzano (ad es.  qgis), occorre  inserire il percorso degli eseguibili di gpsbabel nella variabile di sistema path;  per far ciò (in Windows XP):
    Impostazioni->pannello dai controllo->sistema->avanzate->variabili di ambiente:  nella casella  Variabili di sistema selezionare  Path e modificarlo, aggiungendo alla linea il percorso ove sono stati installati gli eseguibili di gpsbabel (nell'esempio: C:\Programmi\gpsbabel; ricordarsi di separare i diversi percorsi con ";") 
  5. a questo punto gpsbabel dovrebbe funzionare...
    • attraverso la riga di comando della finestra MS-DOS di Windows

    • attraverso l'interfaccia grafica di gpsbabel  (doppio click su GPSBabelGUI.exe nella cartella C:\Programmi\gpsbabel oppure creare un link sul desktop) 
      From gps
    • attraverso il plugin GPS di qgis




sabato 19 dicembre 2009

GRASS, gpsd, l'MTK e il bluetooth

Nel precedente post si è visto come connetere l'MTK 747 Transystem a  gpsd via bluetooth in Ubuntu 9.10.
Ecco un semplice memo di come utilizzare la connessione in real-time in GRASS.

Lanciare GRASS in un terminale ed entrare in una location con sistema di riferimento cartografico noto; dal terminale di GRASS lanciare gpsd e quindi gpspipe:
From Grass, gis e dintorni

Ora, con semplici comandi della shell è possibile ottenere in real-time diverse elaborazioni; per esempio con:
gpspipe -w -n 30 | grep 'GGA' | awk 'BEGIN{FS=" "}{print $5,$4}' |\
 m.proj -i --q | awk '{sx+=$1;sy+=$2}END{ print " posizione media: ", sx/NR, sy/NR " samples: ", NR }'

si riproiettano (m.proj) le coordinate (Latitudine e Longitudine) inviate dal ricevitore nel sistema cartografico di riferimento della location corrente (nell'esempio: epsg: 32632),  viene calcolata  la posizione media del ricevitore collegato al pc e si stampa a video il risultato.

Complicando ulteriormente l'esempio, è possibile editare in real-time, catturando il punto in un vettoriale:
From Grass, gis e dintorni

Per le frasi  NMEA  è possibile consultare questo link.




MTK, GPSD via bluetooth

Brevi note per connettere l'MTK 747 Transystem a  gpsd via bluetooth in Ubuntu 9.10.

Ho una chiavetta USB SURECOM per le connessioni bluetooth che viene vista dal sistema così:
lsusb
[...]
Bus 003 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
[...]

Accendere l'MTK 747 Transystem in posizione  NAV ; provare  se la perifirica Bluetooth viene riconosciuta:
hcitool scan
Scanning ...
    00:1C:88:00:CC:9C    iBT-GPS

La periferica viene riconosciuta ed associata al codice 00:1C:88:00:CC:9C.

Configuro la  connessione:
paolo@laptop:~$ sudo gedit /etc/bluetooth/rfcomm.conf

inserisco questi settaggi:
rfcomm0 {
#    # Automatically bind the device at startup
     bind yes;
#    # Bluetooth address of the device
     device 00:1C:88:00:CC:9C;
#    # RFCOMM channel for the connection
    channel    1;
#    # Description of the connection
    comment "iBT-GPS";
}

Salvo e chiudo. N.B.: non è detto che debba per forza essere rfcomm0; se si hanno altri dispositivi bluetooth associare il dispositivo ad un'altra connessione (rfcomm1, rfcomm2,  ecc.)

Quindi:
paolo@laptop:~$ rfcomm connect 0

oppure:
rfcomm connect 0 00:1C:88:00:CC:9C

se tutto è ok si avrà la seguente risposta:
Connected /dev/rfcomm0 to 00:1C:88:00:CC:9C on channel 1
Press CTRL-C for hangup

Aprire un altro terminale e digitare:
paolo@laptop:~$ gpsd /dev/rfcomm0
paolo@laptop:~$ xgps

From Grass, gis e dintorni

La disconnessione può essere effettuata dal gestore Bluetooth di Gnome:

From Grass, gis e dintorni

oppure premendo CONTROL-C nel primo terminale.
Buona cosa, inoltre, uccidere il processo gpsd
gpsd killall



 

venerdì 18 dicembre 2009

GoogleEarth e files kml

Google Earth in Linux: problema di visualizzazione non corretta dei file kml importati.

Dopo aver scaricato ed installato Google Earth in Ubuntu ho notato che i files kml importati non venivano posizionati correttamente; ho risolto il problema grazie a questo post; in pratica è sufficiente modificare il file googleearth nella cartella /home/nomeutente/google-earth (nel caso di installazione in locale, nella home utente) come segue:

LD_LIBRARY_PATH=.:${GOOGLEEARTH_DATA_PATH}:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
export LC_ALL=us_US.UTF-8
export LANG=it_IT.UTF-8

Ecco un esempio, con una traccia denominata track_15_12_2009.gpx_trk.gpx:

step 1: conversione da gpx a kml con gpsbabel:
paolo@laptop:~$ gpsbabel -t -i gpx -f track_15_12_2009_trk.gpx -o kml -F track.kml

step 2: aprire Google Earth e caricare la traccia:

From Grass, gis e dintorni

From Grass, gis e dintorni






mercoledì 9 dicembre 2009

Codici epsg per l'Italia Nord-Occidentale.

Codici epsg: memo.

Ecco i codici di più frequente uso nell'Italia Nord-Occidentale (Piemonte, Liguria, Valle d'Aosta).

Codice
Descrizione
wkt
4806 Roma1940, in gradi.
wkt
26591
Sistema nazionale Gauss-Boaga, fuso Ovest. Datum Roma1940.  Falsa origine delle ascisse: 1.500 km. Deprecato (usare 3003).
wkt
3003
Idem c.s.
wkt
23032
European 1950 datum (ED50). Grigliato UTM, fuso 32 Nord.
wkt
4326
WGS84 datum. Lat/Long.
wkt
32632
WGS84 datum. Grigliato UTM, fuso 32 Nord. wkt

I parametri per le trasformazioni possono essere ottenuti con il comando di  GRASS g.proj.