Comment enregistrer les données GPS dans un fichier en utilisant Python

Gps Python

Vous trouverez ci-dessous un exemple de script python qui enregistrera les données GPS (heure, Lon, Lat, vitesse et sats en vue) dans un fichier.

le bibliothèques clientes gpsd sera utilisé pour obtenir les données du GPSD. Nous utiliserons la classe TPV pour obtenir l’heure, la latitude, la longitude et la vitesse.

Nous pouvons obtenir le nombre de satellites en vue en obtenant la longueur de l’objet satellites.

Cette page montre comment faire fonctionner gpsd sur un Raspberry Pi

Chaque fois que le script est exécuté, il crée un nouveau fichier commençant par la date et l’heure actuelles.

Dans cet exemple, j’écris au format csv, où chaque attribut GPS est séparé par une virgule.

#! /usr/bin/python
from gps import *
import time, inspect


f = open(time.strftime("%Y%m%d-%H%M%S")+'_GSPData.csv','w')

gpsd = gps(mode=WATCH_ENABLE|WATCH_NEWSTYLE)

print 'GPStime utctttlatitudetlongitudetspeedtsats in view"https://www.raspberryme.com/how-to-save-gps-data-to-a-file-using-python/#"t' = TAB to try and output the data in columns.

f.write("GPStime utc,latitude,longitude,speed,sats in viewn")

try:

    while True:
        report = gpsd.next() #
        if report['class'] == 'TPV':
            GPStime =  str(getattr(report,'time',''))
            lat = str(getattr(report,'lat',0.0))
            lon = str(getattr(report,'lon',0.0))
            speed =  str(getattr(report,'speed','nan'))
            sats = str(len(gpsd.satellites))

            print  GPStime,"t",
            print  lat,"t",
            print  lon,"t",
            print  speed,"t",
            print  sats,"t"

            f.write(GPStime + ',' + lat +',' + lon + ',' + speed + ',' + sats + 'n')

            time.sleep(1)

except (KeyboardInterrupt, SystemExit): #when you press ctrl+c
    print "Done.nExiting."
    f.close()