User Tools

Site Tools


rawgnss2gpsprof


raw GNSS to gpsprof

gpsprof is the best tool I have found so far to create skymaps from GNSS data streams. u-center has a nice sky map but it tends to crash out or get buggy after about 12 hours of data, and it's not possible to export the skymap to an image. gpsprof is designed to work with a live gpsd connection, but it will happily ingest historical data in the gpsd json format. Converting a ubx file captured from u-center, or raw from the GNSS device, to gpsd json is a trivial task with gpsfake.

Resources

Steps for ubx

  1. Capture a ubx log file with the necessary SV information (e.g. UBX-NAV-SAT)
  2. Use gpsfake to stream the ubx log into a gpsd instance
    gpsfake -1 -b -t -P 3000 /path/to/gnss_log.ubx
    1. Note 1: if gpsd isn't in the user's path, you may need to run gpsfake as root. This is the case on debian.
    2. Note 2: the -1 flag is important to make sure it doesn't loop. A client will get a single shot of the data.
    3. Note 3: -P 3000 to run on port 3000 is necessary to deconflict other gpsd instances
  3. Optional: run cgps to connect to the gpsd instance to verify that the data is working as expected. Since gpsfake was started in single shot mode, it will have to be restarted after cgps exists.
  4. Run gpspipe to export it to gpsd json
    gpspipe –json -o /path/to/gnss_log.json
  5. Pipe the json file into gpsprof
    cat gnss_log.json | gpsprof -f polarused -T pngcairo -r > gnss_log_polarused.plot
  6. Run gnuplot to create an image from the plot data
    gnuplot < gnss_log_polarused.plot > gnss_log_polarused.png

Steps for nmea

  1. Capture a log file of an ASCII NMEA stream (see above notes if it's not working as expected)
  2. Run gpsfake to stream it into a gpsd instance
    gpsfake -1 -b -t -P 3000 /path/to/nmea_gnss.log
  3. Run gpspipe to connect and stream the gpsd-processed json into a new log file
    gpspipe -w -o /path/to/gpsd_out.json localhost:3000
  4. Generate plots with gpsprof
    cat gpsd_out.json | gpsprof -f polarused -S “2025-03-02 19:46EST, 12hr” -t “NovAtel ProPak-v3-HP Polar (Used)” -r > temp.plot
    1. -S - subtitle
    2. -t - title
    3. -r -replot (use json)
  5. Generate images with gnuplot
    gunplot < temp.plot > image.png
rawgnss2gpsprof.txt · Last modified: 2025/03/03 13:49 by millerjs

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki