gnsstools

module
v0.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2025 License: Apache-2.0

README

GNSS Tools

GoDoc

This repository contains a Golang module with packages for working with data types related to GNSS (Global Navigation Satellite System). It includes support for serialization and deserialization of GNSS data in various formats (e.g., BINEX, RINEX, RTCM, ...), as well as utility functions for handling GNSS-specific computations. Additionally, the repository provides several command-line utilities for interacting with GNSS data.

├── LICENSE
├── README.md
├── cmd
├── go.mod
├── go.sum
└── pkg

Packages

Common
  • gnss: Core GNSS data types
Encoding
  • binex: BINEX deserialization.
  • bottle: Bottle deserialization.
  • fcn: Functions for retreiving GLONASS Fequency Channel Numbers.
  • met: Meteorologic data serialization and deserialization.
  • novatel: NovAtel receiver format deserialization.
  • pos: EarthScope's daily integrated position solution format.
  • rinex: RINEX format serialization and deserialization.
  • rtcm: RTCM3 serialization and deserialization.
  • sbf: Septentrio Binary Format (SBF) serialization and deserialization.
  • sinex: SINEX deserialization (todo).
  • sp3: SP3 deserialization.
  • tdb: TileDB serialization and deserialization.
  • ublox: U-Blox serialization and deserialization.
  • vaisala: Vaisala weather data deserialization.
Supported RINEX Message Types
Message Type Description Deserialization Serialization
RINEX 2.11 Obs GNSS Observations ✅ Supported ✅ Supported
RINEX 2.11 Nav GNSS Observations ✅ Supported ✅ Supported
RINEX 2.11 Met GNSS Observations ✅ Supported 📝 To Do
RINEX 3.05 Obs GNSS Observations ✅ Supported ✅ Supported
RINEX 3.05 Nav GNSS Observations ✅ Supported ✅ Supported
RINEX 3.05 Met GNSS Observations ✅ Supported 📝 To Do
RINEX 4.01 Obs GNSS Observations ✅ Supported ✅ Supported
RINEX 4.01 Nav GNSS Observations ✅ Supported ✅ Supported
RINEX 4.01 Met GNSS Observations ✅ Supported 📝 To Do
Supported BINEX Message Types
Message Type Description Deserialization Serialization
0x00 Metadata 🚧 Under Construction 📝 To Do
0x01-00 Ephemeris 📝 To Do 📝 To Do
0x01-01 Ephemeris ✅ Supported 📝 To Do
0x01-02 Ephemeris ✅ Supported 📝 To Do
0x01-03 Ephemeris ✅ Supported 📝 To Do
0x01-04 Ephemeris 📝 To Do 📝 To Do
0x01-05 Ephemeris ✅ Supported 📝 To Do
0x01-06 Ephemeris ✅ Supported 📝 To Do
0x01-07 Ephemeris ✅ Supported 📝 To Do
0x01-14 Ephemeris ✅ Supported 📝 To Do
0x05 Position ✅ Supported 📝 To Do
0x7d-00 Receiver State ✅ Supported 📝 To Do
0x7e-00 Ancillary Site Data ✅ Supported 📝 To Do
0x7e-01 Ancillary Site Data ✅ Supported 📝 To Do
0x7f-00 Observable Data 📝 To Do 📝 To Do
0x7f-01 Observable Data 📝 To Do 📝 To Do
0x7f-02 Observable Data 📝 To Do 📝 To Do
0x7f-03 Observable Data ✅ Supported 📝 To Do
0x7f-04 Observable Data 📝 To Do 📝 To Do
0x7f-05 Observable Data ✅ Supported 📝 To Do
Supported Septentrio Binary Format (SBF) Message Types
Message Type Description Deserialization Serialization
4001 DOP ✅ Supported ✅ Supported
4002 GALNav ✅ Supported ✅ Supported
4006 PVTCartesian ✅ Supported ✅ Supported
4007 PVTGeodetic ✅ Supported ✅ Supported
4008 PVTSatCartesian ✅ Supported ✅ Supported
4011 RAIMStatistics ✅ Supported ✅ Supported
4012 SatVisibility ✅ Supported ✅ Supported
4013 ChannelStatus ✅ Supported ✅ Supported
4014 ReceiverStatus ✅ Supported ✅ Supported
4027 MeasEpoch ✅ Supported ✅ Supported
4044 PosCart ✅ Supported ✅ Supported
4075 ASCIIIn ✅ Supported ✅ Supported
5891 GPSNav ✅ Supported ✅ Supported
5914 ReceiverTime ✅ Supported ✅ Supported
Supported RTCM 3 Message Types
Message Type Description Deserialization Serialization
1077 GPS MSM 7 ✅ Supported ✅ Supported
1087 GLONASS MSM 7 ✅ Supported ✅ Supported
1097 Galileo MSM 7 ✅ Supported ✅ Supported
1107 SBAS MSM 7 ✅ Supported ✅ Supported
1117 QZSS MSM 7 ✅ Supported ✅ Supported
1127 Beidou MSM 7 ✅ Supported ✅ Supported
Supported Novatel Binary Message Types
Message Type Description Deserialization Serialization
140 RANGECMP ✅ Supported 📝 To Do
Supported U-blox Binary Message Types
Message Type Description Deserialization Serialization
ubx-rxm-rawx GNSS Raw Observation Data ✅ Supported ✅ Supported
NTRIP

| Package | Description | Support | | 'client' | NTRIP 2.0 Client | ✅ Supported |

Position
Package Description Support
ssp Single Point Positioning ✅ Supported
PubSub
Package Description Support
pubsub Implements publish-subscribe mechanisms for GNSS data. ✅ Supported
Velocity
Package Description Support
tdcp Time-Differenced Carrier Phase (TDCP) velocity estimation ✅ Supported

Command-Line Tools

The cmd directory contains command-line tools for working with supported GNSS data formats. Each subdirectory under cmd represents a different tool.

Installation

go get gitlab.com/earthscope/gnsstools

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (C) 2023 Henry Berglund, EarthScope Data Services

Directories

Path Synopsis
cmd
gnssconv command
ntrip/ntrip2ws command
test/dump_binex command
test/dump_fcn command
test/dump_rnx command
test/dump_rtcm3 command
test/dump_sbf command
test/dump_sp3 command
test/dump_ublox command
test/misc/cddis command
tiledb/bnx2tile command
tiledb/pos2tile command
tiledb/sbf2tile command
tiledb/sp32tile command
tiledb/tile2rnx command
pkg
common/coordinates
Package coordinates provides functions for coordinate transformations between geodetic, ECEF, ENU, and body frames, including ionospheric pierce point calculations.
Package coordinates provides functions for coordinate transformations between geodetic, ECEF, ENU, and body frames, including ionospheric pierce point calculations.
encoding/sitelog
package sitelog handles a GNSS site with its antenna, receiver etc.
package sitelog handles a GNSS site with its antenna, receiver etc.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL