#time #convert #gnss #gps #utc #coordinates #ecef

yanked junco

A tool to do common gnss conversions

1.3.0 May 31, 2023

#16 in #gnss

Custom license and LGPL-3.0

1MB
319 lines

junco

junco performs common gnss conversions like ECEF to LLH, or GPS time to UTC.

Dark-eyed Junco

A junco is a small North American bird in the New World sparrow family Passerellidae

How to use

junco has a subcommand for each conversion, and each conversion has it's own special set of arguments.

Coordinate conversions

  • ecef2llh - Converts an ECEF set of coordinates to Latitude/Longitude/Height. By default it represents the latitude and longitude in degrees, but it can switch to radians with the -r/--radians flag
  • llh2ecef - Converts LLH coordinates to ECEF. By default it assumes the latitude and longitude are given in degrees, if you want them interpretted as radians you can use the -r/--radians flag

Time conversions

  • gps2utc - Converts a GPS time into UTC while taking leaps seconds into account. By default a RFC 3339 compatible representation of the UTC time is given, but you can customize the way the output is formatted by passing in a format specification with the -f/--format option. The format string follows the rules described here
  • utc2gps - Converts a UTC time into a GPS time. You can either provide it a UTC time to convert, or you can use the -n/--now flag to have it convert the current system time. When providing the time yourself it will assume a RFC 3339 representation or you can use the same formatting option as the gps2utc command.
  • gps2gal - Converts a GPS time into a Galileo time
  • gps2bds - Converts a GPS time into a Beidou time
  • gal2gps - Converts a Galileo time into a GPS time
  • gps2bds - Converts a Galileo time into a Beidou time
  • bds2gps - Converts a Beidou time into a GPS time
  • bds2gal - Converts a Beidou time into a Galileo time
  • gps2glo - Converts a GPS time into a Glonass time
  • glo2gps - Converts a Glonass time into a GPS time

Miscellaneous

  • geoid - Gets the geoid offset at a given location. This offset is the difference between the WGS84 ellipsoid and the EGM2008 geoid. The given offset is in meters.

Use the --help option for junco or any of the subcommands to get a list of all options and required arguments.

Release

Use cargo-release tool to publish. Release process is run from the master branch, for example:

cargo release --skip-publish 1.2.0
git push origin master v1.2.0

Dependencies

~20MB
~127K SLoC