GPX | magie con gpsbabel :-)

GPX è un formato di interscambio dati per dispositivi GPS. Sostanzialmenete è un file XML. Al suo interno vengono memorizzate, oltre alle coordinate X,Y e Z, anche altre informazioni quali DATE e TIMESTAMP. E proprio quest’ultimo dato è l’oggetto di questo post. Tutto è nato dalla necessità di salvare i dati recuperati via GPS in uno SHP (shape file: formato dati standard in ambito GIS) in modo da poter localizzare (mediante query) la mia posizione ad una determinata ora. Caricando un file GPX in Qgis vengono visualizzate tracce (trk), waypoint (wpt) e rotte (rte). Durante l’acquisizione della traccia vengono “taggati” n punti ogni TOT secondi (ho impostato la rilevazione della posizione in base al tempo). La traccia visualizzata diventa un record unico e ad essa sono abbinati una serie di dati. Ma in questo modo non riesco a risalire alla mia posizione; i dati sono riferiti al tracciato nella sua interezza. Esiste un tool davvero eccezionale: GPSBABEL. Consente una buona serie di “magie” per convertire dati GPX. In particolare è possibile convertire una traccia in una serie di wp. In questo modo ad ogni punto viene associato anche il momento in ci è stato rilevato. In seconda battuta si può trasformare il nuovo GPX con i wp in SHP mediante OGR2OGR o GPX2SHP. vediamo i passi necessari:

– trasformazione delle tracce in waypoint mediante gpsbabel:
$ gpsbabel -i gpx -f nome_traccia.gpx -x transform,wpt=trk -o gpx -F nome_wp.gpx

– conversione del GPX in SHp mediante gpx2shp:
$ gpx2shp -w -o nome_wp.shp nome_wp.gpx

Visto che questo lavoro dovrebbe processare una serie di tracce recuperate in tempi diversi da persone diverse ho predisposto (una vera operazione di hackeraggio artigianale vista la mia bassissima esperienza di programmazione) un piccolo e semplice script in Perl. Lo script ha come requirements la presenza di perl, gpsbabel e gpx2shp e deve essere eseguito all’interno della directory contenente i GPX da processare.
Lo script in formato PDF: gpx_trk2wpt_gpx2shp. Copiare il testo e incollarlo in un nuovo file. Dare un nome al file (Es: converter_gpx_shp.pl) con estesnione .pl e lanciarlo con:
$ perl converter_gpx_shp.pl
All’avvio viene chiesto il nome del GPX da elaborare (omettendo l’estensione .GPX) ed il nome da dare al file generato. A fine operazione vengono generati un nuovo GPX contente i WP delle tracce ed uno SHP con i WP stessi.
Questo SHP può essere caricato in Qgis per le opportune elaborazioni.

Openstreetmap | Montecchio Maggiore is “up”!

E due!

Dopo Schio anche Montecchio Maggiore è su Openstreetmap. L’upload dei dati liberati dall’amministrazione comunale lo scorso novembre è stato ultimato.

Questa la bounding-box:

http://www.openstreetmap.org/?lat=45.5059&lon=11.4217&zoom=14&layers=B000FTF

Il prossimo passo sarà l’inserimento dei POI

pmapper | export in XLS dei dati di una query

Pmapper: i dati visualizzati in forma tabellare quando si interroga la mappa con il pulsante di “interrogazione” o mediante ricerca possono essere esportati in formato PDF, CSV e XLS. Quest’ultima opzione non funziona di default. E’ necessario avere installato il pacchetto “pear”. In Debian procedere con:

# apt-get install php-pear

Viene scaricato e installato (come dipendenza) anche il pacchetto “php5-cli”

Una volta installato (da root) lanciare il comando: (reperito da qui):

# pear install -f OLE

poi

# pear install -f Spreadsheet_Excel_Writer

Fatto.

Openstreetmap | Schio is “up”!

Schio is “up”! Su openstreetmap.org è stato caricato tutto lo stradario di Schio.

Questa la bounding box (per scaricarlo anche con JOSM):

http://www.openstreetmap.org/?lat=45.7181&lon=11.3678&zoom=13&layers=B000FTF

Mancano ancora le aree poligonali di individuazione delle contrade, delle piazze (alcune già inserite) e degli edifici.

Appuntamento il 18 marzo in Piazza Telematica a Schio (ore 20.30) per coordinarsi sull’opera di aggiornamento e miglioramento della mappa.

PS: qualche giorno fa ho chiesto al team di supporto di wordpress.com la possibilità di inserire sui nostri blog anche i pezzetti di codice HTML che consentirebbero di “annegare” una mappa di OSM (via openlayer) sui nostri articoli. Questa la tempestiva risposta di Hanni:

Hi Flavio,
I’m afraid we don’t currently support openstreetmap. I’ve added it tour list of suggestions though.
Apologies for the inconvenience,

Hanni
WordPress.com Support

Attendo fiducioso!

Primo Meeting Nazionale del Progetto OpenStreetMap Italia

Notizia girata in lista talk-it martedì 3 marzo 2009

OSM-It 2009
5 – 6 Giugno 2009

La Fondazione Bruno Kessler, Centro per l’Information Technology, Progetto FreeIT,  d’intesa con la Community Italiana della OSM-Foundation, annunciano il Primo Meeting Nazionale del Progetto OpenStreetMap Italia, che si svolgerà a Trento il 5 e 6 giugno prossimi, nella sede della Fondazione Bruno Kessler, in Via Sommarive, 18 – Trento.

L’evento rappresenta la prima occasione d’incontro per la comunità italiana che contribuisce ad  OpenStreetMap (OSM). OSM è un’iniziativa internazionale volta a creare e sostenere un processo organico di raccolta e messa a disposizione in rete di conoscenza e dati georiferiti di interesse pubblico. L’appuntamento di Trento propone una riflessione sui modelli di compartecipazione attiva della cittadinanza, nelle sue espressioni individuali e collettive, alla produzione, distribuzione e fruizione di opere di intelletto in forma digitale.
A tale scopo sono previste sessioni aperte di discussione e laboratorio.
Tutti siete invitati a contribuire sottoponendo vostri contributi eportando vostre esperienze ed idee.

Per maggiori informazioni visitate la pagina web delle’evento: osmit.fbk.eu

Fonte: lista talk-it

Seminario sul Pluralismo Informatico in Veneto

Si terra’ lunedi’ 30/3/09 a Feltre (BL) il seminario:
Il pluralismo informatico. La nuova legge della Regione Veneto

ore 10:00
Inizio lavori


ore 10:15
Saluto , Giovanni Villano, direttore della Fondazione per
l’Università e l’Alta Cultura in Provincia di Belluno


ore 10:30
Introduzione Gianvittore Vaccari, Sindaco di Feltre


ore 10:45
“Una legge per una Pubblica Amministrazione moderna”,
Bruno Salomoni, Regione Veneto


ore 11:15
“I formati aperti favoriscono innovazione, libero mercato
e servizi pubblici più efficienti”, Marco Fioretti, esperto di
formati e software liberi, rappresentante italiano della
OpenDocument Fellowship


ore 11:45 – Tavola rotonda e interventi del pubblico
Alberto Vettoretto, consigliere delegato e-government
Comune di Feltre
Giulio Tatto, resp. Sistema Informativo Comune di Feltre
Davide Dozza, Associazione PLIO (Progetto Linguistico
Italiano OpenOffice.org)
Pierluigi Valenti, Responsabile sviluppo offerta P.A.
Gruppo Infracom


ore 13:30 Conclusione lavori


Moderatore: Luca Menini. Italian Linux Society
In collaborazione con l’associazione “Italian Linux Society”

Diffondete la notizia!

Mtkababel

Mtkbabel è un programma in Perl per gestire (configurare/scaricare) dispositivi GPS come l’i-blue-747 (GPS data-logger) della Transystem.

Questo tool consente di salvare dati dal GPS al PC in formato GPX e BIN, modificare i criteri di logging (tempo/distanza/velocità), avviare o bloccare il logging, cancellare la memoria del dispositivo, e altre piccole funzioni.

Posizionare il pulsante del GPS su “log” e collegarlo al PC mediante cavo USB.

Per settare il tempo di campionamento ad 1 secondo:

$ mtkbabel -r 1 s

Per scaricare i dati:

$ mtkbabel -l off -f data -t

In questo caso impostiamo lo spegnimento della funzione di log (off), e creiamo un file “data” (in realtà vengono creati due file: “data.bin” e “data_trk.gpx”) contenente le tracce (trk).

Per cancellare la memoria:

$ mtkbabel -E

Debian | creare un live CD

Debian offre un favoloso tool per creare una distro live (ossia un CD contenente un sistema operativo Debian pienamente funzionante e senza necessità di installarlo sull’hard disk). Il tool si chiama “live-helper”. Esiste anche un wiki fatto davvero bene.

Installiamo il pacchetto con:

# apt-get install live-helper

Creiamo poi una directory di lavoro, per esempio:

$ mkdir /home/user/debianlive

Spostarsi della directory di lavoro appena creata:

$ cd /home/user/debianlive

Per un live CD minimale basta dare il seguente comando (da root):

# lh_config && lh_build

In questo modo si ottiene un’immagine chiamata “binary.iso” che può essere masterizzata (es. con k3b) oppure testata con l’emulatore “qemu”(per installarlo # apt-get install qemu). Per testare l’immagine prima di masterizzarla dare il seguente comando:

$ qemu -cdrom binary.iso

Il comando “lh_build” crea una distro minimale con lingua (inglese) e impostazioni di default. Se vogliamo personalizzare la distro aggiungendo pacchetti, dati e altre magie bisogna aggiungere alcune opzioni al comando “lh_config”.

Il comando “lh_config” può essere impartito da user (non root). In particolare, se vogliamo un ambiente grafico con xfce4, basta scrivere:

$ lh_config -p xfce-desktop

Per la configurazione della lingua:

$ lh_config –bootappend-live “locale=it”

Per indicare mirror locali:

$ lh_config –mirror-bootstrap “http://ftp.it.debian.org/debian/”

$ lh_config –mirror-binary “http://ftp.it.debian.org/debian/”

$ lh_config –packages “nome dei pacchetti separati da semplice spazio”

Nel mio caso avevo necessità di inserire anche il software gis (come qgis) che non si trova (aggiornato) nei repo ufficiali debian. Così ho copiato il pacchetto prelevato dal repo debian.gfoss.it all’interno della direcotry “…./config/chroot_local-packages/” assieme a tutti i pacchetti e dipendenze collegate come:

gdal-bin_1.5.2-3_i386.deb libqgis1-dev_1.0.0-gfossit20081222-2_i386.deb libqgis-core1_1.0.0-gfossit20081222-2_i386.deb libqgis-gui1_1.0.0-gfossit20081222-2_i386.deb python-qgis_1.0.0-gfossit20081222-2_i386.deb qgis_1.0.0-gfossit20081222-2_i386.deb qgis-plugin-grass_1.0.0-gfossit20081222-2_i386.deb

Il builder si preoccuperà di scaricare tutte le altre dipendenze non risolte.

Con lh_config” ho aggiunto anche una serie di pacchetti utili per avere un webgis funzionante:

$ lh_config –packages “apache2 mapserver-bin cgi-mapserver php5-mapscript php5 lynx locate gdal-bin openssh-client opnssh-server ssh”

Per il webgis avevo anche necessità di copiare i dati da consultare con l’applicativo pmapper preconfigurato. I dati personalizzati (file, directory) devono essere copiati in “…/config/chroot_local-includes/”. Questa directory corrisponde alla directory radice “/” della live distro. Pertanto, dovendo copiare file che andranno in “/var/www”, ossia nella directory pubblica del webserver apache, ho creato il seguente albero “…./config/chroot_local-includes/var/www/” all’interno del quale ho copiato i dati del webgis.

A questo punto si puo lanciare il builder per la creazione della ISO. Diventare root e dare:

# lh_build

Dopo alcuni minuti (dipende molto dalla velocità di connessione alla rete disponibile) troviamo l’immagine creata “binary.iso”.

Possiamo testare l’immagine creata mediante qemu:

$ qemu -cdrom binary.iso

Dopo qualche minuto (non è velocissimo, essendo un emulatore) ci appare il nostro desktop live funzionante.

Può essere comodo personalizzare l’aspetto del desktop, oppure impostare un programma che venga avviato automaticamente allo startup. Nel mio caso avevo necessità di avviare il browser iceweasel che puntasse ad una determinata pagina caricata in locale “localhost”.

Per fare ciò seguire i seguenti passaggi:

Nella VM (quella avviata con qemu) avviare una console e avviare il gestore degli startup chiamato xfce4-autostart-editor. Appare una finestra grafica in cui si possono togliere e/o aggiungere programmi all’avvio del PC. Io ho disabilitato il “tips & tricks” e aggiunto iceweasel. Chiudere tutto. In questo modo viene creato un file di configurazione chiamato “iceweasel-desktop” all’interno della directory nascosta “/home/user/.config/”. Apriamo poi il browser iceweasel e, dal menù preferenze,impostare la pagina che si vuole caricare all’avvio. Chiudere tutto. Tornare alla console e tramite SCP copiamo il contenuto di tutta la directory “/home/user” dalla VM al PC host. Il comando da dare è questo:

$ scp -r /home/user user_host_pc@10.0.0.13:/home/user_host_pc/directory_destinazione/

dove 10.0.0.13 è l’indirizzo IP del pc host (dal quale abbiamo avviato la VM). Viene richiesto se salvare la key e poi la password dell’utente del host PC.

Tutti i dati vengono copiati nel pc host nella directory “/home/user_host/pc/directory_destinazione”. Da qui li copiamo in “…./config/chroot_local-includes/etc/skel/”. Tutto quello che sta in “/etc/skel/ verrà caricato nella home directory quando il builder crea l’immagine. In questo modo salveremo tutte le impostazione del desktop settate dalla VM.

A questo punto possiamo ricreare l’immagine. Ricordarsi di ripulire la vecchia build con:

# lh-clean

e subito dopo ri-buildare con:

#lh_build

Fatto!