Documentation
¶
Index ¶
- Constants
- Variables
- func FormatBlankIfZero(value int) string
- func FormatDateForSettings(date time.Time) string
- func GetLeapSeconds(queryTime time.Time) (s int, err error)
- func IsVersionSupported(version float64) bool
- func SerializeRnxObs(w io.Writer, epochMap observation.Epoch, settings *Settings) error
- func SerializeRnxObs2(w io.Writer, epoch observation.Epoch, settings *Settings) (err error)
- func SerializeRnxObs3(w io.Writer, epoch observation.Epoch, settings *Settings) (err error)
- func SerializeRnxObs4(w io.Writer, epoch observation.Epoch, settings *Settings) (err error)
- func ToRinex2Nav(w io.Writer, ephemeris ephemeris.GenericEphemeris) error
- func ToRinex3Nav(w io.Writer, ephemeris ephemeris.GenericEphemeris) error
- func ToRinex4Nav(w io.Writer, ephemeris ephemeris.GenericEphemeris) error
- func ValidateION(sys gnss.System, msgType, subtype string) (canonMsg string, canonSubtype string, nLines int, err error)
- type ClockFile
- type Header
- func (h *Header) AddAntennaOffsetRecord(antennaOffsetHEN [3]float64)
- func (h *Header) AddAntennaPositionRecord(antennaPosition [3]float64)
- func (h *Header) AddAntennaRecord(antennaSerial, antennaModel string)
- func (h *Header) AddComments(comments []string)
- func (h *Header) AddEndOfHeaderRecord()
- func (h *Header) AddGlonassPhaseBias()
- func (h *Header) AddGlonassSlot(settings *Settings) error
- func (h *Header) AddLeapSecondsRecord()
- func (h *Header) AddMarkerNameRecord(markerName string)
- func (h *Header) AddMarkerNumberRecord(markerNumber string)
- func (h *Header) AddMarkerTypeRecord(markerType string)
- func (h *Header) AddObsTypesRecord(settings *Settings)
- func (h *Header) AddObsTypesRecordV2(settings *Settings)
- func (h *Header) AddObsTypesRecordV3(settings *Settings) error
- func (h *Header) AddObserverRecord(observer, agency string)
- func (h *Header) AddPhaseShifts(settings *Settings) error
- func (h *Header) AddProgramRecord(program, runBy string, date string)
- func (h *Header) AddReceiverRecord(receiverSerial, receiverModel, receiverFirmware string)
- func (h *Header) AddTimeOfFirstObsRecord(timeOfFirst time.Time)
- func (h *Header) AddTimeOfLastObsRecord(timeOfLast time.Time)
- func (h *Header) AddVersionRecord(rinexVersion Version, rinexType, rinexSystem string)
- func (h *Header) FindRecord(labelPrefix string) (*Record, bool)
- func (h *Header) GetDate() (date string, err error)
- func (h *Header) GetRinex2Types() (typeMap map[int][]string, err error)
- func (h *Header) GetRinex3Types() (types map[int][]string, err error)
- func (h *Header) GetRinexProgram() (program string, err error)
- func (h *Header) GetRinexSystem() (system string, err error)
- func (h *Header) GetRinexType() (rinexType string, err error)
- func (h *Header) GetRinexVersion() (Version, error)
- func (h *Header) GetRunBy() (runBy string, err error)
- func (h *Header) IsCRINEX() bool
- func (h *Header) String() string
- func (h *Header) Write(w io.Writer) error
- type LeapSecond
- type MajorVersion
- type MinorVersion
- type ObsLineElement
- type ObservationTypesMap
- type OutputSetting
- type OutputSettings
- type OutputType
- type Record
- type Scanner
- func (scanner Scanner) DeserializeRnx3NavValues(line string, nLines int) (vals []float64, err error)
- func (scanner Scanner) DeserializeRnx4NavValues(line string, nLines int) ([]float64, error)
- func (scanner Scanner) DeserializeRnxClkEpoch3() (precise.ClockRecord, error)
- func (scanner Scanner) DeserializeRnxClkEpoch304() (precise.ClockRecord, error)
- func (scanner Scanner) DeserializeRnxMet2Epoch() (epoch met.Epoch, err error)
- func (scanner Scanner) DeserializeRnxMet3Epoch() (epoch met.Epoch, err error)
- func (scanner Scanner) DeserializeRnxMet4Epoch() (epoch met.Epoch, err error)
- func (scanner Scanner) DeserializeRnxNavEpoch2() (eph ephemeris.GenericEphemeris, err error)
- func (scanner Scanner) DeserializeRnxNavEpoch3() (eph ephemeris.GenericEphemeris, err error)
- func (scanner Scanner) DeserializeRnxNavEpoch4() (eph ephemeris.GenericEphemeris, err error)
- func (scanner Scanner) DeserializeRnxNavGLO() (eph ephemeris.GenericEphemeris, err error)
- func (scanner Scanner) DeserializeRnxNavGPS() (eph ephemeris.GenericEphemeris, err error)
- func (scanner Scanner) DeserializeRnxObsEpoch2() (observation.Epoch, error)
- func (scanner Scanner) DeserializeRnxObsEpoch3() (observation.Epoch, error)
- func (scanner Scanner) DeserializeRnxObsEpoch4() (observation.Epoch, error)
- func (scanner Scanner) NextClockEpoch() (rec precise.ClockRecord, err error)
- func (scanner Scanner) NextMetEpoch() (epoch met.Epoch, err error)
- func (scanner Scanner) NextNavEpoch() (eph ephemeris.GenericEphemeris, err error)
- func (scanner Scanner) NextObsEpoch() (epoch observation.Epoch, err error)
- func (scanner Scanner) ScanHeader() (header Header, err error)
- type Settings
- type Version
Constants ¶
const ( MaxLengthContent = 60 MaxLengthLabel = 20 )
const MinorVersionMultiplier float64 = 100.
Variables ¶
var (
ErrBlankSystem = errors.New("system identifier is blank")
)
var ObservationKeyLookup = map[gnss.System]map[string]observation.ObservationKey{ gnss.GPS: { "L1": {Frequency: observation.GPS_L1, SignalType: observation.C}, "L2": {Frequency: observation.GPS_L2, SignalType: observation.W}, "L5": {Frequency: observation.GPS_L5, SignalType: observation.Q}, "P1": {Frequency: observation.GPS_L1, SignalType: observation.W}, "P2": {Frequency: observation.GPS_L2, SignalType: observation.W}, "C1": {Frequency: observation.GPS_L1, SignalType: observation.C}, "C2": {Frequency: observation.GPS_L2, SignalType: observation.L}, "C5": {Frequency: observation.GPS_L5, SignalType: observation.Q}, "D1": {Frequency: observation.GPS_L1, SignalType: observation.C}, "D2": {Frequency: observation.GPS_L2, SignalType: observation.W}, "D5": {Frequency: observation.GPS_L5, SignalType: observation.Q}, "S1": {Frequency: observation.GPS_L1, SignalType: observation.C}, "S2": {Frequency: observation.GPS_L2, SignalType: observation.W}, "S5": {Frequency: observation.GPS_L5, SignalType: observation.Q}, }, gnss.GLONASS: { "L1": {Frequency: observation.GLONASS_G1, SignalType: observation.C}, "L2": {Frequency: observation.GLONASS_G2, SignalType: observation.C}, "C1": {Frequency: observation.GLONASS_G1, SignalType: observation.C}, "P1": {Frequency: observation.GLONASS_G1, SignalType: observation.P}, "C2": {Frequency: observation.GLONASS_G2, SignalType: observation.C}, "P2": {Frequency: observation.GLONASS_G2, SignalType: observation.P}, "D1": {Frequency: observation.GLONASS_G1, SignalType: observation.C}, "D2": {Frequency: observation.GLONASS_G2, SignalType: observation.C}, "S1": {Frequency: observation.GLONASS_G1, SignalType: observation.C}, "S2": {Frequency: observation.GLONASS_G2, SignalType: observation.C}, }, gnss.SBAS: { "L1": {Frequency: observation.SBAS_L1, SignalType: observation.C}, "L5": {Frequency: observation.SBAS_L5, SignalType: observation.I}, "C1": {Frequency: observation.SBAS_L1, SignalType: observation.C}, "C5": {Frequency: observation.SBAS_L5, SignalType: observation.I}, "D1": {Frequency: observation.SBAS_L1, SignalType: observation.C}, "D5": {Frequency: observation.SBAS_L5, SignalType: observation.I}, "S1": {Frequency: observation.SBAS_L1, SignalType: observation.C}, "S5": {Frequency: observation.SBAS_L5, SignalType: observation.I}, }, gnss.GALILEO: { "C1": {Frequency: observation.Galileo_E1, SignalType: observation.C}, "C5": {Frequency: observation.Galileo_E5a, SignalType: observation.Q}, "C7": {Frequency: observation.Galileo_E5b, SignalType: observation.Q}, "C8": {Frequency: observation.Galileo_E5ab, SignalType: observation.Q}, "C6": {Frequency: observation.Galileo_E6, SignalType: observation.C}, "L1": {Frequency: observation.Galileo_E1, SignalType: observation.C}, "L5": {Frequency: observation.Galileo_E5a, SignalType: observation.Q}, "L7": {Frequency: observation.Galileo_E5b, SignalType: observation.Q}, "L8": {Frequency: observation.Galileo_E5ab, SignalType: observation.Q}, "L6": {Frequency: observation.Galileo_E6, SignalType: observation.C}, "D1": {Frequency: observation.Galileo_E1, SignalType: observation.C}, "D5": {Frequency: observation.Galileo_E5a, SignalType: observation.Q}, "D7": {Frequency: observation.Galileo_E5b, SignalType: observation.Q}, "D8": {Frequency: observation.Galileo_E5ab, SignalType: observation.Q}, "D6": {Frequency: observation.Galileo_E6, SignalType: observation.C}, "S1": {Frequency: observation.Galileo_E1, SignalType: observation.C}, "S5": {Frequency: observation.Galileo_E5a, SignalType: observation.Q}, "S7": {Frequency: observation.Galileo_E5b, SignalType: observation.Q}, "S8": {Frequency: observation.Galileo_E5ab, SignalType: observation.Q}, "S6": {Frequency: observation.Galileo_E6, SignalType: observation.C}, }, }
ObservationKeyLookup maps a GNSS system and its RINEX 2.11 observation code (e.g. "L2") to a ObservationKey.
Unfortunantly, the RINEX 2.11 observation codes cannot be mapped to RINEX 3&4 observation codes without making assumptions about how the RINEX file was generated. For example, we don't know if the "L2" column contains L2C or L2W values.
var ( // REGEX_TYPE_SV_MSSG is a regular expression for capturing TYPE/SV/MSSG from RINEX 4 navigation files. REGEX_TYPE_SV_MSSG = regexp.MustCompile(`^> (EPH|STO|EOP|ION)\s([A-Z])([0-9]{2}|\s{2})\s([A-Z0-9]{1,4})(?:\s+([A-Z0-9]{1,4}))?\s*$`) )
Functions ¶
func FormatBlankIfZero ¶ added in v0.18.5
Strings to be either whitespace or value: ssi, lossOfLock, antiSpoofing
func FormatDateForSettings ¶ added in v0.18.3
func IsVersionSupported ¶ added in v0.18.3
func SerializeRnxObs ¶ added in v0.15.0
func SerializeRnxObs2 ¶
SerializeRnxObs2 writes a observation.Epoch as RINEX 2 to the provided io.Writer interface.
func SerializeRnxObs3 ¶
SerializeRnxObs3 writes a observation.EpochMap as RINEX 3 to the provided io.Writer interface.
func SerializeRnxObs4 ¶
SerializeRnxObs4 writes a observation.Epoch as RINEX 4 to the provided io.Writer interface. The ordering of the observation types are in gnssSet. The selection of measurements to be output (phase, range, snr, doppler) is controlled by outputSettings.
func ToRinex2Nav ¶ added in v0.15.0
func ToRinex2Nav(w io.Writer, ephemeris ephemeris.GenericEphemeris) error
func ToRinex3Nav ¶ added in v0.15.0
func ToRinex3Nav(w io.Writer, ephemeris ephemeris.GenericEphemeris) error
func ToRinex4Nav ¶ added in v0.14.1
func ToRinex4Nav(w io.Writer, ephemeris ephemeris.GenericEphemeris) error
func ValidateION ¶ added in v0.23.0
func ValidateION(sys gnss.System, msgType, subtype string) (canonMsg string, canonSubtype string, nLines int, err error)
ValidateION validates and canonicalizes ION message types and subtypes. It returns the canonical msgType, canonical subtype (\"\" if blank/BNK), and the number of ION lines to parse.
Types ¶
type ClockFile ¶ added in v0.30.1
type ClockFile struct {
Header *Header // RINEX header
Records []precise.ClockRecord // Clock data records
Version Version // RINEX version (3.00, 3.02, 3.04, etc.)
}
ClockFile represents a complete RINEX clock file
func NewClockFile ¶ added in v0.30.1
NewClockFile creates a new ClockFile from a reader This function reads the entire file into memory. For streaming access, use NewScanner() and NextClockEpoch() instead.
func (*ClockFile) GetClockBias ¶ added in v0.30.1
func (cf *ClockFile) GetClockBias(sys gnss.System, svID int, t time.Time, tolerance time.Duration) (float64, bool)
GetClockBias returns the clock bias for a given satellite at a specific time Returns the record with the closest time match (within tolerance)
func (*ClockFile) GetReceiverClockRecords ¶ added in v0.30.1
func (cf *ClockFile) GetReceiverClockRecords() []precise.ClockRecord
GetReceiverClockRecords returns all receiver clock records (AR, CR, or DR types)
func (*ClockFile) GetSatelliteClockRecords ¶ added in v0.30.1
func (cf *ClockFile) GetSatelliteClockRecords() []precise.ClockRecord
GetSatelliteClockRecords returns all satellite clock records (AS or MS types)
type Header ¶
Header is a struct for storing header records.
func NewMetHeader ¶ added in v0.15.0
func NewNavHeader ¶ added in v0.15.0
func NewObsHeader ¶ added in v0.15.0
NewObsHeader creates a new RINEX observation header.
func (*Header) AddAntennaOffsetRecord ¶ added in v0.15.0
AddAntennaOffsetRecord adds an ANTENNA: DELTA H/E/N record to the header.
func (*Header) AddAntennaPositionRecord ¶ added in v0.15.0
AddAntennaPositionRecord adds an APPROX POSITION XYZ record to the header.
func (*Header) AddAntennaRecord ¶ added in v0.15.0
AddAntennaRecord adds an ANT # / TYPE record to the header.
func (*Header) AddComments ¶ added in v0.21.6
AddComments adds COMMENT records to the header. Each comment will be on its own line. If a comment is greater than 60 chars, it will be split. The split will occur at the last space before the 60-character limit to avoid breaking words. Each line is padded to 60 characters.
func (*Header) AddEndOfHeaderRecord ¶ added in v0.15.0
func (h *Header) AddEndOfHeaderRecord()
AddEndOfHeaderRecord adds an END OF HEADER record to the header.
func (*Header) AddGlonassPhaseBias ¶ added in v0.18.5
func (h *Header) AddGlonassPhaseBias()
AddGlonassPhaseBias adds zeroes for GLONASS COD/PHS/BIS (Rinex 3)
func (*Header) AddGlonassSlot ¶ added in v0.18.5
AddGlonassSlot adds the GLONASS satellite numbers and frequency channels (Rinex 3/4)
func (*Header) AddLeapSecondsRecord ¶ added in v0.15.0
func (h *Header) AddLeapSecondsRecord()
AddLeapSecondsRecord adds a LEAP SECONDS record to the header. (optional)
func (*Header) AddMarkerNameRecord ¶ added in v0.15.0
AddMarkerNameRecord adds a MARKER NAME record to the header.
func (*Header) AddMarkerNumberRecord ¶ added in v0.18.10
AddMarkerNumberRecord adds a MARKER NUMBER record to the header.
func (*Header) AddMarkerTypeRecord ¶ added in v0.18.5
AddMarkerTypeRecord adds a MARKER TYPE record to the header.
func (*Header) AddObsTypesRecord ¶ added in v0.15.0
AddObsTypesRecord adds a # / TYPES OF OBSERV or a SYS / # / OBS TYPES record to the header depending on the version.
func (*Header) AddObsTypesRecordV2 ¶ added in v0.15.0
func (*Header) AddObsTypesRecordV3 ¶ added in v0.15.0
func (*Header) AddObserverRecord ¶ added in v0.15.0
AddObserverRecord adds an OBSERVER / AGENCY record to the header.
func (*Header) AddPhaseShifts ¶ added in v0.18.5
AddPhaseShifts adds phase shift corrections (Rinex 3)
func (*Header) AddProgramRecord ¶ added in v0.15.0
AddProgramRecord adds a PGM / RUN BY / DATE record to the header.
func (*Header) AddReceiverRecord ¶ added in v0.15.0
AddReceiverRecord adds a REC # / TYPE / VERS record to the header.
func (*Header) AddTimeOfFirstObsRecord ¶ added in v0.15.0
AddTimeOfFirstObsRecord adds a TIME OF FIRST OBS record to the header.
func (*Header) AddTimeOfLastObsRecord ¶ added in v0.16.2
func (*Header) AddVersionRecord ¶ added in v0.15.0
AddVersionRecord adds a RINEX VERSION / TYPE record to the header.
func (*Header) FindRecord ¶ added in v0.25.2
Helper to find the first record with a given label prefix
func (*Header) GetRinex2Types ¶
GetRinex2Types - Get the observation types for RINEX 2
func (*Header) GetRinex3Types ¶
GetRinex3Types -
func (*Header) GetRinexProgram ¶ added in v0.15.0
GetRinexPGM parses the program, run_by, and date fields from the RINEX header
func (*Header) GetRinexSystem ¶
GetRinexSystem parses the system from the RINEX header.
func (*Header) GetRinexType ¶
GetRinexType parses the RINEX type from the header.
func (*Header) GetRinexVersion ¶
GetRinexVersion parses the RINEX version from the header.
type LeapSecond ¶
type MajorVersion ¶ added in v0.35.0
type MajorVersion int8
const ( MajorVersionUnknown MajorVersion = -1 MajorVersion2 MajorVersion = 2 MajorVersion3 MajorVersion = 3 MajorVersion4 MajorVersion = 4 )
type MinorVersion ¶ added in v0.35.0
type MinorVersion int8
const ( MinorVersionUnknown MinorVersion = -1 MinorVersion0 MinorVersion = 0 MinorVersion01 MinorVersion = 1 MinorVersion02 MinorVersion = 2 MinorVersion03 MinorVersion = 3 MinorVersion04 MinorVersion = 4 MinorVersion05 MinorVersion = 5 MinorVersion06 MinorVersion = 6 MinorVersion07 MinorVersion = 7 MinorVersion08 MinorVersion = 8 MinorVersion09 MinorVersion = 9 MinorVersion10 MinorVersion = 10 MinorVersion11 MinorVersion = 11 )
type ObsLineElement ¶
type ObservationTypesMap ¶ added in v0.15.0
type OutputSettings ¶
type OutputSettings map[OutputType]bool
OutputSettings
func (*OutputSettings) CountEnabled ¶
func (os *OutputSettings) CountEnabled() (count int)
CountEnabled
type OutputType ¶
type OutputType int
const ( // Phase Phase OutputType = iota // Range Range // SNR SNR // Doppler Doppler )
type Record ¶ added in v0.15.0
Record stores the header lines in a struct splitting the content (60 chars) and the label (20 chars) into two separate strings. Supports versions 2,3,4.
type Scanner ¶
Scanner -
func NewScanner ¶
NewScanner creates a new RINEX scanner. It reads the header, extracting the version, type and system. Other type and version specific information is extracted in later steps.
func (Scanner) DeserializeRnx3NavValues ¶
func (Scanner) DeserializeRnx4NavValues ¶
DeserializeRnx4NavValues parses a standard RINEX 4 navigation data block, consisting of one line with epoch and 3 clock-related values, followed by nLines each containing 4 orbit values.
func (Scanner) DeserializeRnxClkEpoch3 ¶ added in v0.30.3
func (scanner Scanner) DeserializeRnxClkEpoch3() (precise.ClockRecord, error)
DeserializeRnxClkEpoch3 reads a single clock record from RINEX v3.00-3.02 Uses 4-character clock name field
func (Scanner) DeserializeRnxClkEpoch304 ¶ added in v0.30.3
func (scanner Scanner) DeserializeRnxClkEpoch304() (precise.ClockRecord, error)
DeserializeRnxClkEpoch304 reads a single clock record from RINEX v3.04+ Uses 9-character clock name field
func (Scanner) DeserializeRnxMet2Epoch ¶
func (Scanner) DeserializeRnxMet3Epoch ¶
func (Scanner) DeserializeRnxMet4Epoch ¶
func (Scanner) DeserializeRnxNavEpoch2 ¶
func (scanner Scanner) DeserializeRnxNavEpoch2() (eph ephemeris.GenericEphemeris, err error)
func (Scanner) DeserializeRnxNavEpoch3 ¶
func (scanner Scanner) DeserializeRnxNavEpoch3() (eph ephemeris.GenericEphemeris, err error)
func (Scanner) DeserializeRnxNavEpoch4 ¶
func (scanner Scanner) DeserializeRnxNavEpoch4() (eph ephemeris.GenericEphemeris, err error)
DeserializeRnxNavEpoch4 reads and deserializes a full RINEX 4 navigation record. It reads the header line, epoch line, and all subsequent data lines for a single record.
func (Scanner) DeserializeRnxNavGLO ¶
func (scanner Scanner) DeserializeRnxNavGLO() (eph ephemeris.GenericEphemeris, err error)
func (Scanner) DeserializeRnxNavGPS ¶
func (scanner Scanner) DeserializeRnxNavGPS() (eph ephemeris.GenericEphemeris, err error)
func (Scanner) DeserializeRnxObsEpoch2 ¶
func (scanner Scanner) DeserializeRnxObsEpoch2() (observation.Epoch, error)
DeserializeRnxObsEpoch2 -
func (Scanner) DeserializeRnxObsEpoch3 ¶
func (scanner Scanner) DeserializeRnxObsEpoch3() (observation.Epoch, error)
DeserializeRnxObsEpoch3 -
func (Scanner) DeserializeRnxObsEpoch4 ¶
func (scanner Scanner) DeserializeRnxObsEpoch4() (observation.Epoch, error)
DeserializeRnxObsEpoch4 -
func (Scanner) NextClockEpoch ¶ added in v0.30.3
func (scanner Scanner) NextClockEpoch() (rec precise.ClockRecord, err error)
NextClockEpoch reads the next clock record from a RINEX clock file
func (Scanner) NextNavEpoch ¶
func (scanner Scanner) NextNavEpoch() (eph ephemeris.GenericEphemeris, err error)
NextNavEpoch -
func (Scanner) NextObsEpoch ¶
func (scanner Scanner) NextObsEpoch() (epoch observation.Epoch, err error)
NextObsEpoch -
func (Scanner) ScanHeader ¶
ScanHeader -
type Settings ¶ added in v0.15.0
type Settings struct {
RinexVersion Version `json:"rinex_version"`
RinexType string `json:"rinex_type"`
RinexSystem string `json:"rinex_system"`
Interval float64 `json:"interval"`
TimeOfFirst time.Time `json:"time_of_first"`
TimeOfLast time.Time `json:"time_of_last"`
MarkerName string `json:"marker_name"`
MarkerNumber string `json:"marker_number"`
MarkerType string `json:"marker_type"`
Observer string `json:"observer"`
Agency string `json:"agency"`
Program string `json:"program"`
RunBy string `json:"run_by"`
Date string `json:"date"`
Comments []string `json:"comments"`
ReceiverModel string `json:"receiver_model"`
ReceiverSerial string `json:"receiver_serial"`
ReceiverFirmware string `json:"receiver_firmware"`
AntennaModel string `json:"antenna_model"`
AntennaSerial string `json:"antenna_serial"`
AntennaPosition coordinates.Vector3D `json:"antenna_position"`
AntennaOffsetHEN coordinates.Vector3D `json:"antenna_offsetHEN"`
// Sets which observation types to output (e.g. range, phase, doppler, snr)
OutputSettings *OutputSettings `json:"output_settings"`
// This stores the order of the observation codes for each system.
// The order of the observation codes is important for the RINEX 3&4 headers.
// Important: RINEX 3 and 4 cannot be streamed because the header must be written before the data.
ObservationsBySystem *observation.ObservationsBySystem `json:"observation_map"`
}
Settings - settings for RINEX header
func NewSettings ¶ added in v0.15.0
func NewSettings() *Settings
type Version ¶ added in v0.35.0
type Version struct {
Major MajorVersion
Minor MinorVersion // out of 100
}
func LatestVersionFromMajor ¶ added in v0.35.0
func LatestVersionFromMajor(mv MajorVersion) Version
func VersionFromFloat ¶ added in v0.35.0
func (Version) IsSupported ¶ added in v0.35.0
func (*Version) UnmarshalJSON ¶ added in v0.35.0
Source Files
¶
- clk.go
- codes_rnx_2.go
- deserialize_rnx_clk.go
- deserialize_rnx_met_2.go
- deserialize_rnx_met_3.go
- deserialize_rnx_met_4.go
- deserialize_rnx_nav_2.go
- deserialize_rnx_nav_3.go
- deserialize_rnx_nav_4.go
- deserialize_rnx_obs_2.go
- deserialize_rnx_obs_3.go
- deserialize_rnx_obs_4.go
- header.go
- header_settings.go
- scanner.go
- serialize_rnx_nav_2.go
- serialize_rnx_nav_3.go
- serialize_rnx_nav_4.go
- serialize_rnx_obs.go
- serialize_rnx_obs_2.go
- serialize_rnx_obs_3.go
- serialize_rnx_obs_4.go
- utilities.go
- version.go