mercoledì 19 maggio 2010

QLandkarte GT e lo screenshot capovolto

Da qualche tempo uso l'ottimo programma QLandKarte GT  per gestire il GPS Garmin.
Una funzionalità che può servire è quella della cattura della schermata del dispositivo.
Non so per quale strana ragione, ma da quando ho aggiornato il sistema ad Ubuntu Lucid lo screenshot ottenuto è ruotato e rispecchiato orizzontalmente (ma forse l'aggiornamento è del tutto ininfluente).
È comunque facile, con ImageMagick convertire gli screenshots ottenuti:
convert -rotate 180 -flop screen_bad.png screen_ok.png

Screenshot capovolto ...corretto con ImageMagick


mercoledì 27 gennaio 2010

Da Shapefile a KML

Alcune brevi note sulla conversione di uno shapefile in un file kml per Google Earth.
Si voglia, ad esempio, visualizzare le aree protette del Piemonte su Google Earth, partendo da uno shapefile nel sistema UTM ED50 (codice epsg 23032).

Scaricare il file parchi_ed50.zip da questo indirizzo; scompattare il file con unzip:
unzip parchi_ed50.zip

Un solo comando con ogr2ogr è sufficiente per ottenere il file kml delle aree protette:
ogr2ogr -f  "KML" -s_srs '+init=epsg:23032 +towgs84=-87.000,-98.000,-121.000'  \
    -t_srs '+init=epsg:4326' parchi_1.kml parchi_ed50.shp

Una lettura del manuale in linea di ogr2ogr potrà aiutare la comprensione.
Si può scindere l'operazione in due parti; la prima è la conversione dal sistema (proiettato) UTM con datum ED50 al sistema geografico WGS84 (codice epsg 4326):
ogr2ogr -s_srs '+init=epsg:23032 +towgs84=-87.000,-98.000,-121.000' \
    -t_srs '+init=epsg:4326'  parchi_wgs84.shp parchi_ed50.shp


da notare i parametri  towgs84=-87.000,-98.000,-121.000 necessari per una corretta trasformazione (vedere questo precedente post).

La seconda operazione è la trasformazione dello shapefile in  kml :
ogr2ogr -f "KML" parchi_2.kml parchi_wgs84.shp

ogr2ogr  offre la possibilità di impostare interrogazioni SQL; ad esempio, se si vuole un file kml con il solo poligono riguardante l'area protetta denominata 'confluenza del Varaita' impartire il comando:
ogr2ogr -f "KML" -sql "SELECT * FROM parchi_wgs84 WHERE LOCALITA='confluenza del Varaita'" \
    -dsco NameField=LOCALITA conf_varaita.kml parchi_wgs84.shp

Le specifiche kml definiscono un campo denominato 'name' che contiene il nome dell'elemento (nel nostro caso un poligono); l'opzione -dsco imposta 'name' al contenuto del campo 'LOCALITA'.

From Grass, gis e dintorni

Un analogo risultato si può ottenere con il plugin OGR Layer converter di Quantum Gis :

From Grass, gis e dintorni

mercoledì 6 gennaio 2010

Qgis 1.4: interfaccia alle utilities GDAL.

Qgis 1.4 presenta numerose nuove funzionalità. La prima ad essere apprezzata è stata l'interfaccia a molte utilities della libreria gdal delle quali non ricordo quasi mai la sintassi: in pratica un compositore  che facilita enormemente l'immissione corretta di righe di comando.

Ecco un esempio:

From Grass, gis e dintorni

Il comando così composto può essere eseguito subito, oppure copiato ed incollato in uno script.