====== ubx 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 ===== * [[https://gpsd.gitlab.io/gpsd/gpsprof.html|gpsprof man page]] * [[https://gpsd.gitlab.io/gpsd/gpsfake.html|gpsfake man page]] * [[build_gpsd|build & install gpsd]] ===== Steps ===== - Capture a ubx log file with the necessary SV information (e.g. UBX-NAV-SAT) - Use ''gpsfake'' to stream the ubx log into a ''gpsd'' instance\\ ''gpsfake -1 -t /path/to/gnss_log.ubx'' - 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. - Note 2: the ''-1'' flag is important to make sure it doesn't loop. A client will get a single shot of the data. - 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. - Run ''gpspipe'' to export it to ''gpsd'' json\\ ''gpspipe --json -o /path/to/gnss_log.json'' - Pipe the json file into ''gpsprof''\\ ''cat gnss_log.json | gpsprof -f polarused -T pngcairo -r > gnss_log_polarused.plot'' - Run ''gnuplot'' to create an image from the plot data\\ ''gnuplot < gnss_log_polarused.plot > gnss_log_polarused.png''