USB GPS receivers are becoming cheap enough to stick on a raspberry pi and screw with just for fun. So that's what this code is about. more specifically, for ham radio antenna reasons, i'm interested in a reasonably accurate measure of my elevation. so for a start i'm going to collect those statistics, plot the long term averages, and see if they tell me anything. this code uses the gpsd tools, and python client libraries, and started from an example here: http://ozzmaker.com/using-python-with-a-gps-receiver-on-a-raspberry-pi/ at the moment, this code collects 1024 points of elevation data with a not terrible vdop, and computes a running average over it. once a minute this running average is written out to disk and graphed. once a day those running averages are averaged into two bar graphs, one with and one w.o. average expected vertical precision. the following should get one off to a good start depends wise: apt-get install python-gps gpsd-clients python-numpy python-matplotlib gnuplot this code can be found in the following places: https://github.com/mcthoren/gps_tinkering <--code https://wx6.slackology.net/gps_el.html <--page https://wx6.slackology.net/ <--code, page, plots, data a description of the fields returned by gpsd can be found here: https://gpsd.gitlab.io/gpsd/gpsd_json.html # i've added the following entries to my crontab to further lazify my life: #minute hour mday month wday command 59 23 * * * /import/home/ghz/projects/gps/gen_day_avg 01 00 1 * * /import/home/ghz/projects/gps/gen_month_avg 02 00 * * * /import/home/ghz/projects/gps/plot_month_avg