gps-network-tracking-system
v0.1.1
Published
GPS tracking system of remote multiple devices and tracks spatial search
Downloads
1
Maintainers
Readme
TRACKING/STORING SYSTEM OF GPS TRACKS/POSITION In realtime or deferred time with geographic data from postgresql db in geojson format
SISTEMA DI TRACCIAMENTO/ARCHIVIAZIONE TRACCE GPS In tempo reale o differito con dati geografici provenienti da postgis in formato geojson
Postgis installation: http://www.rigacci.org/wiki/doku.php/tecnica/gps_cartografia_gis/postgis
Installation: create z4k user create geodata role create geodata db
ALTER DATABASE geodata OWNER TO z4k;
ALTER DATABASE geodata SET datestyle TO "ISO, DMY";
restore db:
pg_restore -Fc -d geodata geodata.dump
dump db:
pg_dump -Fc -d geodata > geodata.dump
create gpsd istance to local with follow command, or with gpsfake installed in system:
$ ./gpsfake-one
create multiple virtual istances of gpsd for each .nmea file in ./tracks directory:
$ ./gpsfake-multiple start
make a ssh tunneling on port 2947(gpsd default) to the remote gpsd:
$ ./tunnel
Requirements: php5 PDO gpsbabel gpsd gpsd-clients python-gps postgresql-8.4 http://goo.gl/RDlJl postgresql-8.4-postgis postgis http://goo.gl/n6lTh
Recommends: qgis gmapcatcher tangogps
Components: index.php Struttura della pagina con mappa e filtro tracce
config.php
Definisce i dati di connessione al db e alcune funzioni utili
geojson.devel.js
Genera l'interfaccia e la mappa openlayers.
geojson.styles.js
Definisce gli stili delle tracce gps nella mappa.
getpostgis.php
Estrae e converte in geojson i dati posizione da postgres filtrati per
gpsid, giorno, ora.
getgpsd.php
Restituisce i dati dell'ultima posizione da gpsd/gpsfake.
Fa una richiesta POLL.
getgpx.php
Restituisce codice geojson con le coordinate di un file gpx sul server specificato come
parametro GET, crea una sessione per poter incrementare la posizione letta
nel file gpx. Utile per Debugging.
gpsd2geojson.php
Crea una connessione permanente con gpsd di tipo WATCH generando codice
geojson in STDOUT.
Funziona come serverside e come script BASH.
Legge i dati json da gpsd e incapsula altri DATI arbitrari nel pacchetto.
Crea una sessione (nel file sess_gpsid-X dove X e' il gpsid, di default 3)
che permette di incrementare l'identificativo della traccia ad ogni nuova
connessione con gpsd.
Accetta i parametri:
$ gpsd2geojson.php [raw|timeout] [port]
se specificato raw, mostra dati grezzi ricevuti da gpsd e termina esecuzione.
geojson2postgis.php
Inserisce dati geojson dentro postgres.
Funziona come serverside e come script BASH.
gpsfake-one
Esegue gpsfake installato sul sistema sulla porta 2947 con un solo file nmea.
Stoppa il demone gpsd se gia in esecuzione.
gpsfake-with-port
Versione modificata di gpsfake (richiede: python-gps) che accetta come
parametro -P la porta di ascolto.
gpsfake-multiple
Demone che esegue piu istanze parallele di gpsfake su porte diverse.
Utilizza gpsfake-with-port.
Legge tutti i file .nmea che trova in ./ e si mette in ascolto dalla
porta 2948 in poi, accetta parametri start/stop/status.
gpx2nmea
Script che converte file gpx in nmea, per esse utilizzati da gpsfake.
tracks
Directory in cui vengono letti tutti i file .nmea da gpsfake-multiple
pg-gps-clear
Svuota la tabella gps, con i dati delle posizioni.
pg-today-clear
Cancella i dati della tabella gps inseriti oggi.
pg-latest
Mostra gli ultimi dati inseriti nella tabella gps.
gpsd.ports
Elenco delle porte in cui sono in ascolto i demoni gpsd di ogni dispositivo gps.
Questo file viene rigenerato da gpsfake-multiple, ad ogni porta corrisponde un
file .nmea nella directory tracks
track-one
Script che inserisce i dati provenienti da gpsd/gpsfake nel db postgres
mettendo in comunicazione gpsd2geojson.php e geojson2postgis.php.
track-multiple
Script che inserisce i dati provenienti da gpsd nel db postgres, mette in comunicazione
gpsd2geojson.php e geojson2postgis.php.
Inserisce contemporaneamente i dati di diversi gps le cui porte sono specificate in gpsd.ports
tunnel
Proietta la porta 2947 di gpsd/gpsfake in remoto tramite un tunnel ssh.
hg-pre-commit
evento mercurial, crea backup del database postgres nel changeset attuale
hg-update
evento mercurial, ripristina il database postgres dal file di backup del changeset(geodata.sql.gz)