An open API service indexing awesome lists of open source software.

https://github.com/filipspl/gpsjsonplot

Plot json data from gpsd and gpspipe
https://github.com/filipspl/gpsjsonplot

gps gpsd gpspipe

Last synced: 10 months ago
JSON representation

Plot json data from gpsd and gpspipe

Awesome Lists containing this project

README

          

# GPS Data Visualization Script

Scripts to analyze GPS JSON data generated by `gpsd` and `gpspipe` and make plots of position changes and satellite visibility over time. This is a modern alternative for [`gpsprof`](https://github.com/andersson/gpsd/blob/master/gpsprof).

## Sample output

| | |
| :----------------------: | :--------------------------: |
| `gpsjsonplot-pos.py` | |
| ![](plot-lat-lon.png) | ![](plot-lat-lon-200.png) |
| `gpsjsonplot-sats.py` | |
| ![](plot-sattelites.png) | ![](plot-sattelites-200.png) |

## Prerequisites

- `gpsd` up and running; `gpspipe` or other source of json data
- Python 3.x with python packages: `json`, `matplotlib`, `numpy`, `seaborn`

## Usage

```bash
# get some samples from gpsd
gpspipe -v -w -n 10 > input.json

# make a plot of position changes using 100 data points with contour lines
python gpsjsonplot-pos.py --json input.json --outfile plot-lat-lon.png --n 100 --contour 4

# the same but for all data points and without contours lines
python gpsjsonplot-pos.py --json input.json --outfile plot-lat-lon2.png --n 1 --contour 0

# plot satellites, with sampling 10 data points
python gpsjsonplot-sats.py --json input.json --outfile plot-sattelites.png --n 10

# plot satellites, all data points
python gpsjsonplot-sats.py --json input.json --outfile plot-sattelites2.png --n 0
```

- `--json`: Path to the input JSON file containing GPS data.
- `--outfile`: Path to the output image file where the plot will be saved.
- `--n`: Optional parameter to uniformly select n data points.
- `--contour`: Optional: number of contour lines. 0 - disables it.