gnss-js 1.18.0 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/{chunk-2IM5VXNI.js → chunk-7RKLWE6R.js} +23 -2
  2. package/dist/{chunk-QXZZNXE3.js → chunk-B5LU4746.js} +1 -1
  3. package/dist/{chunk-FEGLXNWA.js → chunk-DLXTTHRK.js} +2 -4
  4. package/dist/{chunk-OMVL3X7V.js → chunk-JNFV5BYB.js} +186 -8
  5. package/dist/{chunk-HXF7XVW7.js → chunk-NOQAAUGY.js} +297 -11
  6. package/dist/{chunk-CG7SF45F.js → chunk-VJEPOC76.js} +908 -14
  7. package/dist/{chunk-Y5IWUPJQ.js → chunk-WZDFZ76K.js} +151 -8
  8. package/dist/index.cjs +3283 -1908
  9. package/dist/index.d.cts +5 -5
  10. package/dist/index.d.ts +5 -5
  11. package/dist/index.js +25 -8
  12. package/dist/nav-BYmYoh9A.d.cts +137 -0
  13. package/dist/nav-CN8rxL4h.d.ts +137 -0
  14. package/dist/nav-DImXUdbp.d.cts +223 -0
  15. package/dist/nav-DImXUdbp.d.ts +223 -0
  16. package/dist/novatel.cjs +230 -15
  17. package/dist/novatel.d.cts +8 -1
  18. package/dist/novatel.d.ts +8 -1
  19. package/dist/novatel.js +2 -2
  20. package/dist/orbit.cjs +190 -8
  21. package/dist/orbit.d.cts +91 -2
  22. package/dist/orbit.d.ts +91 -2
  23. package/dist/orbit.js +9 -1
  24. package/dist/positioning.d.cts +2 -1
  25. package/dist/positioning.d.ts +2 -1
  26. package/dist/positioning.js +2 -2
  27. package/dist/rinex.cjs +304 -11
  28. package/dist/rinex.d.cts +45 -3
  29. package/dist/rinex.d.ts +45 -3
  30. package/dist/rinex.js +6 -1
  31. package/dist/sbf.cjs +908 -11
  32. package/dist/sbf.d.cts +114 -137
  33. package/dist/sbf.d.ts +114 -137
  34. package/dist/sbf.js +8 -3
  35. package/dist/ubx.d.cts +1 -2
  36. package/dist/ubx.d.ts +1 -2
  37. package/dist/ubx.js +2 -3
  38. package/package.json +1 -1
  39. package/dist/chunk-IQ5OIMQD.js +0 -148
  40. package/dist/cnav-CRns0ECn.d.cts +0 -96
  41. package/dist/cnav-CRns0ECn.d.ts +0 -96
  42. package/dist/nav-BAI1a9vK.d.cts +0 -108
  43. package/dist/nav-BAI1a9vK.d.ts +0 -108
package/dist/index.d.cts CHANGED
@@ -4,15 +4,15 @@ export { A as ARC_GAP_FACTOR, B as BAND_LABELS, a as BDS_SATELLITES, b as BdsSat
4
4
  export { Scale, getBdsTime, getDateFromBdsTime, getDateFromDayOfWeek, getDateFromDayOfYear, getDateFromGalTime, getDateFromGloN, getDateFromGpsData, getDateFromGpsTime, getDateFromHourCode, getDateFromJulianDate, getDateFromMJD, getDateFromMJD2000, getDateFromRINEX, getDateFromTai, getDateFromTimeOfDay, getDateFromTt, getDateFromUnixTime, getDateFromUtc, getDayOfWeek, getDayOfYear, getGalTime, getGloN4, getGloNA, getGpsLeap, getGpsTime, getHourCode, getHoursFromTimeDifference, getJulianDate, getLeap, getMJD, getMJD2000, getMinutesFromTimeDifference, getNtpTime, getRINEX, getSecondsFromTimeDifference, getTaiDate, getTimeDifference, getTimeDifferenceFromDays, getTimeDifferenceFromHours, getTimeDifferenceFromMinutes, getTimeDifferenceFromObject, getTimeDifferenceFromSeconds, getTimeOfDay, getTimeOfWeek, getTotalDaysFromTimeDifference, getTtDate, getUnixTime, getUtcDate, getWeekNumber, getWeekOfYear } from './time.cjs';
5
5
  export { deg2dms, deg2rad, euclidean3D, geodeticToGeohash, geodeticToMaidenhead, geodeticToUtm, greatCircleMidpoint, horizonDistance, rad2deg, rhumbLine, vincenty } from './coordinates.cjs';
6
6
  export { c as clampUnit, e as ecefToGeodetic, g as geodeticToEcef, a as getAer, b as getEnuDifference } from './ecef-CF0uAysr.cjs';
7
- export { CompactEpoch, CrxField, DiffState, EMPTY_WARNINGS, IonexGrid, RinexWarning, RinexWarnings, Sp3File, Sp3Sample, WarningAccumulator, WarningSeverity, createGzipLineSink, crxDecompress, crxRepair, fmtF, hdrLine, padL, padR, parseCrxDataLine, parseIonex, parseSp3, sp3Position, stationHeaderLines, writeModernObsBlob, writeRinex2ObsBlob, writeRinex4ObsBlob, writeRinexNav, writeRinexObsBlob } from './rinex.cjs';
7
+ export { CompactEpoch, CrxField, DiffState, EMPTY_WARNINGS, IonexGrid, Nav4Input, RinexWarning, RinexWarnings, Sp3File, Sp3Sample, WarningAccumulator, WarningSeverity, createGzipLineSink, crxDecompress, crxRepair, fmtD, fmtF, hdrLine, padL, padR, parseCrxDataLine, parseIonex, parseSp3, sp3Position, stationHeaderLines, writeModernObsBlob, writeRinex2ObsBlob, writeRinex4ObsBlob, writeRinexNav, writeRinexNav4, writeRinexObsBlob } from './rinex.cjs';
8
8
  export { E as EpochSummary, P as ParseOptions, R as RinexHeader, a as RinexResult, b as RinexStats, S as SYSTEM_ORDER, c as SatObsCallback, p as parseRinexStream, s as systemCmp, d as systemName } from './parser-JPjjFgeP.cjs';
9
- export { E as Ephemeris, G as GlonassEphemeris, K as KeplerEphemeris, N as NavHeader, a as NavResult, p as parseNavFile } from './nav-BAI1a9vK.cjs';
9
+ export { C as CnavEphemeris, E as Ephemeris, G as GlonassEphemeris, K as KeplerEphemeris, N as NavHeader, a as NavResult, R as RinexCnavEphemeris, p as parseNavFile } from './nav-DImXUdbp.cjs';
10
10
  export { B as BitReader, E as EphemerisInfo, R as Rtcm3DebugHandler, a as Rtcm3Decoder, b as Rtcm3Frame, d as decodeEphemeris, r as readString, c as reportDecodeError, s as setRtcm3DebugHandler } from './ephemeris-Ohl6NAfw.cjs';
11
11
  export { MessageTypeStats, MsmEpoch, MsmSatObs, MsmSignal, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, StationMeta, StreamStats, createStationMeta, createStreamStats, decodeMsmFull, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats } from './rtcm3.cjs';
12
12
  export { UbxCnavResult, UbxFrame, UbxIonoUtcResult, UbxMeasurement, UbxNavOptions, UbxNavResult, UbxParseResult, UbxRawxEpoch, parseUbxCnav, parseUbxIonoUtc, parseUbxNav, parseUbxRawx, ubxFrames } from './ubx.cjs';
13
- export { SbfAlmanac, SbfAlmanacResult, SbfCnavEphemeris, SbfCnavResult, SbfGlonassAlmanac, SbfIonoUtcResult, SbfKeplerAlmanac, SbfMeasEpoch, SbfMeasurement, SbfNavResult, SbfParseResult, parseSbfAlmanac, parseSbfCnav, parseSbfIonoUtc, parseSbfMeas, parseSbfNav, sbfCrc16, scanSbfFrames } from './sbf.cjs';
13
+ export { SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGloNavResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfParseResult, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGloNav, parseSbfIonoUtc, parseSbfMeas, sbfCrc16, scanSbfFrames } from './sbf.cjs';
14
14
  export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelRange } from './novatel.cjs';
15
- export { AllPositionsData, DopValues, EpochSkyData, SatAzEl, SatPoint, SatPosition, VisibilityPass, VisibilityResult, computeAllPositions, computeDop, computeLiveSkyPositions, computeSatPosition, computeVisibility, computeVisibilityFromPositions, dopplerHz, ecefToAzEl, ephInfoToEphemeris, glonassPosition, keplerPosition, maskRadForAzimuth, navTimesFromEph, rangeRate, selectEphemeris } from './orbit.cjs';
15
+ export { AllPositionsData, AlmanacPosition, DopValues, EpochSkyData, SatAzEl, SatPoint, SatPosition, VisibilityPass, VisibilityResult, almanacEpochMs, almanacSatPosition, computeAllPositions, computeDop, computeLiveSkyPositions, computeSatPosition, computeVisibility, computeVisibilityFromPositions, dopplerHz, ecefToAzEl, ephInfoToEphemeris, glonassAlmanacEpochMs, glonassAlmanacPosition, glonassPosition, keplerPosition, maskRadForAzimuth, navTimesFromEph, rangeRate, selectEphemeris } from './orbit.cjs';
16
16
  export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.cjs';
17
17
  export { KlobucharCoeffs, SppOptions, SppSolution, ionoFree, klobucharDelay, satClockCorrection, solveSpp } from './positioning.cjs';
18
18
  export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.cjs';
@@ -20,4 +20,4 @@ export { CompleteSatSignal, CompleteSignalStats, CompletenessAccumulator, Comple
20
20
  export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.cjs';
21
21
  export { NmeaFix, NmeaStats, NmeaTrack, computeStats, nmeaCoordToDecimal, parseNmeaFile, verifyChecksum } from './nmea.cjs';
22
22
  export { BAND_PRESETS, BandPreset, CONSTELLATIONS, ConstellationRow, DELTA_GLO_L1, DELTA_GLO_L2, FREQ_BDS_B1A, FREQ_BDS_B1C, FREQ_BDS_B1I, FREQ_BDS_B2I, FREQ_BDS_B3A, FREQ_BDS_B3I, FREQ_GAL_E1, FREQ_GAL_E5, FREQ_GAL_E5a, FREQ_GAL_E5b, FREQ_GAL_E6, FREQ_GLO_L1, FREQ_GLO_L1OC, FREQ_GLO_L2, FREQ_GLO_L2OC, FREQ_GLO_L3OC, FREQ_GPS_L1, FREQ_GPS_L2, FREQ_GPS_L5, FREQ_NAVIC_L5, FREQ_QZS_L1, FREQ_QZS_L2, FREQ_QZS_L5, FREQ_QZS_L6, Modulation, SignalDef, computePsdDb, phiAltBOC, phiBOCc, phiBOCs, phiBPSK } from './signals.cjs';
23
- export { C as CnavEphemeris } from './cnav-CRns0ECn.cjs';
23
+ export { S as SbfAlmanac, a as SbfAlmanacResult, b as SbfGlonassAlmanac, c as SbfKeplerAlmanac, d as SbfNavResult, p as parseSbfAlmanac, e as parseSbfNav } from './nav-BYmYoh9A.cjs';
package/dist/index.d.ts CHANGED
@@ -4,15 +4,15 @@ export { A as ARC_GAP_FACTOR, B as BAND_LABELS, a as BDS_SATELLITES, b as BdsSat
4
4
  export { Scale, getBdsTime, getDateFromBdsTime, getDateFromDayOfWeek, getDateFromDayOfYear, getDateFromGalTime, getDateFromGloN, getDateFromGpsData, getDateFromGpsTime, getDateFromHourCode, getDateFromJulianDate, getDateFromMJD, getDateFromMJD2000, getDateFromRINEX, getDateFromTai, getDateFromTimeOfDay, getDateFromTt, getDateFromUnixTime, getDateFromUtc, getDayOfWeek, getDayOfYear, getGalTime, getGloN4, getGloNA, getGpsLeap, getGpsTime, getHourCode, getHoursFromTimeDifference, getJulianDate, getLeap, getMJD, getMJD2000, getMinutesFromTimeDifference, getNtpTime, getRINEX, getSecondsFromTimeDifference, getTaiDate, getTimeDifference, getTimeDifferenceFromDays, getTimeDifferenceFromHours, getTimeDifferenceFromMinutes, getTimeDifferenceFromObject, getTimeDifferenceFromSeconds, getTimeOfDay, getTimeOfWeek, getTotalDaysFromTimeDifference, getTtDate, getUnixTime, getUtcDate, getWeekNumber, getWeekOfYear } from './time.js';
5
5
  export { deg2dms, deg2rad, euclidean3D, geodeticToGeohash, geodeticToMaidenhead, geodeticToUtm, greatCircleMidpoint, horizonDistance, rad2deg, rhumbLine, vincenty } from './coordinates.js';
6
6
  export { c as clampUnit, e as ecefToGeodetic, g as geodeticToEcef, a as getAer, b as getEnuDifference } from './ecef-CF0uAysr.js';
7
- export { CompactEpoch, CrxField, DiffState, EMPTY_WARNINGS, IonexGrid, RinexWarning, RinexWarnings, Sp3File, Sp3Sample, WarningAccumulator, WarningSeverity, createGzipLineSink, crxDecompress, crxRepair, fmtF, hdrLine, padL, padR, parseCrxDataLine, parseIonex, parseSp3, sp3Position, stationHeaderLines, writeModernObsBlob, writeRinex2ObsBlob, writeRinex4ObsBlob, writeRinexNav, writeRinexObsBlob } from './rinex.js';
7
+ export { CompactEpoch, CrxField, DiffState, EMPTY_WARNINGS, IonexGrid, Nav4Input, RinexWarning, RinexWarnings, Sp3File, Sp3Sample, WarningAccumulator, WarningSeverity, createGzipLineSink, crxDecompress, crxRepair, fmtD, fmtF, hdrLine, padL, padR, parseCrxDataLine, parseIonex, parseSp3, sp3Position, stationHeaderLines, writeModernObsBlob, writeRinex2ObsBlob, writeRinex4ObsBlob, writeRinexNav, writeRinexNav4, writeRinexObsBlob } from './rinex.js';
8
8
  export { E as EpochSummary, P as ParseOptions, R as RinexHeader, a as RinexResult, b as RinexStats, S as SYSTEM_ORDER, c as SatObsCallback, p as parseRinexStream, s as systemCmp, d as systemName } from './parser-JPjjFgeP.js';
9
- export { E as Ephemeris, G as GlonassEphemeris, K as KeplerEphemeris, N as NavHeader, a as NavResult, p as parseNavFile } from './nav-BAI1a9vK.js';
9
+ export { C as CnavEphemeris, E as Ephemeris, G as GlonassEphemeris, K as KeplerEphemeris, N as NavHeader, a as NavResult, R as RinexCnavEphemeris, p as parseNavFile } from './nav-DImXUdbp.js';
10
10
  export { B as BitReader, E as EphemerisInfo, R as Rtcm3DebugHandler, a as Rtcm3Decoder, b as Rtcm3Frame, d as decodeEphemeris, r as readString, c as reportDecodeError, s as setRtcm3DebugHandler } from './ephemeris-Ohl6NAfw.js';
11
11
  export { MessageTypeStats, MsmEpoch, MsmSatObs, MsmSignal, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, StationMeta, StreamStats, createStationMeta, createStreamStats, decodeMsmFull, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats } from './rtcm3.js';
12
12
  export { UbxCnavResult, UbxFrame, UbxIonoUtcResult, UbxMeasurement, UbxNavOptions, UbxNavResult, UbxParseResult, UbxRawxEpoch, parseUbxCnav, parseUbxIonoUtc, parseUbxNav, parseUbxRawx, ubxFrames } from './ubx.js';
13
- export { SbfAlmanac, SbfAlmanacResult, SbfCnavEphemeris, SbfCnavResult, SbfGlonassAlmanac, SbfIonoUtcResult, SbfKeplerAlmanac, SbfMeasEpoch, SbfMeasurement, SbfNavResult, SbfParseResult, parseSbfAlmanac, parseSbfCnav, parseSbfIonoUtc, parseSbfMeas, parseSbfNav, sbfCrc16, scanSbfFrames } from './sbf.js';
13
+ export { SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGloNavResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfParseResult, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGloNav, parseSbfIonoUtc, parseSbfMeas, sbfCrc16, scanSbfFrames } from './sbf.js';
14
14
  export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelRange } from './novatel.js';
15
- export { AllPositionsData, DopValues, EpochSkyData, SatAzEl, SatPoint, SatPosition, VisibilityPass, VisibilityResult, computeAllPositions, computeDop, computeLiveSkyPositions, computeSatPosition, computeVisibility, computeVisibilityFromPositions, dopplerHz, ecefToAzEl, ephInfoToEphemeris, glonassPosition, keplerPosition, maskRadForAzimuth, navTimesFromEph, rangeRate, selectEphemeris } from './orbit.js';
15
+ export { AllPositionsData, AlmanacPosition, DopValues, EpochSkyData, SatAzEl, SatPoint, SatPosition, VisibilityPass, VisibilityResult, almanacEpochMs, almanacSatPosition, computeAllPositions, computeDop, computeLiveSkyPositions, computeSatPosition, computeVisibility, computeVisibilityFromPositions, dopplerHz, ecefToAzEl, ephInfoToEphemeris, glonassAlmanacEpochMs, glonassAlmanacPosition, glonassPosition, keplerPosition, maskRadForAzimuth, navTimesFromEph, rangeRate, selectEphemeris } from './orbit.js';
16
16
  export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.js';
17
17
  export { KlobucharCoeffs, SppOptions, SppSolution, ionoFree, klobucharDelay, satClockCorrection, solveSpp } from './positioning.js';
18
18
  export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.js';
@@ -20,4 +20,4 @@ export { CompleteSatSignal, CompleteSignalStats, CompletenessAccumulator, Comple
20
20
  export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.js';
21
21
  export { NmeaFix, NmeaStats, NmeaTrack, computeStats, nmeaCoordToDecimal, parseNmeaFile, verifyChecksum } from './nmea.js';
22
22
  export { BAND_PRESETS, BandPreset, CONSTELLATIONS, ConstellationRow, DELTA_GLO_L1, DELTA_GLO_L2, FREQ_BDS_B1A, FREQ_BDS_B1C, FREQ_BDS_B1I, FREQ_BDS_B2I, FREQ_BDS_B3A, FREQ_BDS_B3I, FREQ_GAL_E1, FREQ_GAL_E5, FREQ_GAL_E5a, FREQ_GAL_E5b, FREQ_GAL_E6, FREQ_GLO_L1, FREQ_GLO_L1OC, FREQ_GLO_L2, FREQ_GLO_L2OC, FREQ_GLO_L3OC, FREQ_GPS_L1, FREQ_GPS_L2, FREQ_GPS_L5, FREQ_NAVIC_L5, FREQ_QZS_L1, FREQ_QZS_L2, FREQ_QZS_L5, FREQ_QZS_L6, Modulation, SignalDef, computePsdDb, phiAltBOC, phiBOCc, phiBOCs, phiBPSK } from './signals.js';
23
- export { C as CnavEphemeris } from './cnav-CRns0ECn.js';
23
+ export { S as SbfAlmanac, a as SbfAlmanacResult, b as SbfGlonassAlmanac, c as SbfKeplerAlmanac, d as SbfNavResult, p as parseSbfAlmanac, e as parseSbfNav } from './nav-CN8rxL4h.js';
package/dist/index.js CHANGED
@@ -39,25 +39,26 @@ import {
39
39
  parseUbxNav,
40
40
  parseUbxRawx,
41
41
  ubxFrames
42
- } from "./chunk-FEGLXNWA.js";
42
+ } from "./chunk-DLXTTHRK.js";
43
43
  import {
44
44
  crc16,
45
45
  parseSbfAlmanac,
46
+ parseSbfBdsNav,
46
47
  parseSbfCnav,
48
+ parseSbfGalNav,
49
+ parseSbfGloNav,
47
50
  parseSbfIonoUtc,
48
51
  parseSbfMeas,
49
52
  parseSbfNav,
50
53
  scanSbfFrames
51
- } from "./chunk-CG7SF45F.js";
52
- import "./chunk-Y5IWUPJQ.js";
54
+ } from "./chunk-VJEPOC76.js";
53
55
  import {
54
56
  OEM4_HLEN,
55
57
  crc32,
56
58
  oem4Frames,
57
59
  parseNovatelNav,
58
60
  parseNovatelRange
59
- } from "./chunk-2IM5VXNI.js";
60
- import "./chunk-IQ5OIMQD.js";
61
+ } from "./chunk-7RKLWE6R.js";
61
62
  import {
62
63
  connectToMountpoint,
63
64
  fetchSourcetable,
@@ -128,8 +129,10 @@ import {
128
129
  klobucharDelay,
129
130
  satClockCorrection,
130
131
  solveSpp
131
- } from "./chunk-QXZZNXE3.js";
132
+ } from "./chunk-B5LU4746.js";
132
133
  import {
134
+ almanacEpochMs,
135
+ almanacSatPosition,
133
136
  computeAllPositions,
134
137
  computeDop,
135
138
  computeLiveSkyPositions,
@@ -139,13 +142,15 @@ import {
139
142
  dopplerHz,
140
143
  ecefToAzEl,
141
144
  ephInfoToEphemeris,
145
+ glonassAlmanacEpochMs,
146
+ glonassAlmanacPosition,
142
147
  glonassPosition,
143
148
  keplerPosition,
144
149
  maskRadForAzimuth,
145
150
  navTimesFromEph,
146
151
  rangeRate,
147
152
  selectEphemeris
148
- } from "./chunk-OMVL3X7V.js";
153
+ } from "./chunk-JNFV5BYB.js";
149
154
  import {
150
155
  clampUnit,
151
156
  ecefToGeodetic,
@@ -164,6 +169,7 @@ import {
164
169
  EMPTY_WARNINGS,
165
170
  WarningAccumulator,
166
171
  createGzipLineSink,
172
+ fmtD,
167
173
  fmtF,
168
174
  hdrLine,
169
175
  padL,
@@ -177,8 +183,10 @@ import {
177
183
  writeRinex2ObsBlob,
178
184
  writeRinex4ObsBlob,
179
185
  writeRinexNav,
186
+ writeRinexNav4,
180
187
  writeRinexObsBlob
181
- } from "./chunk-HXF7XVW7.js";
188
+ } from "./chunk-NOQAAUGY.js";
189
+ import "./chunk-WZDFZ76K.js";
182
190
  import {
183
191
  SYSTEM_ORDER,
184
192
  crxDecompress,
@@ -374,6 +382,8 @@ export {
374
382
  WGS84_SEMI_MAJOR_AXIS,
375
383
  WGS84_SEMI_MINOR_AXIS,
376
384
  WarningAccumulator,
385
+ almanacEpochMs,
386
+ almanacSatPosition,
377
387
  analyzeQuality,
378
388
  applyHelmert,
379
389
  applyIonoDcb,
@@ -408,6 +418,7 @@ export {
408
418
  ephInfoToEphemeris,
409
419
  euclidean3D,
410
420
  fetchSourcetable,
421
+ fmtD,
411
422
  fmtF,
412
423
  formatUTCTime,
413
424
  frequencyLabel,
@@ -469,6 +480,8 @@ export {
469
480
  getWeekNumber,
470
481
  getWeekOfYear,
471
482
  gloFreq,
483
+ glonassAlmanacEpochMs,
484
+ glonassAlmanacPosition,
472
485
  glonassPosition,
473
486
  greatCircleMidpoint,
474
487
  hdrLine,
@@ -492,7 +505,10 @@ export {
492
505
  parseNovatelRange,
493
506
  parseRinexStream,
494
507
  parseSbfAlmanac,
508
+ parseSbfBdsNav,
495
509
  parseSbfCnav,
510
+ parseSbfGalNav,
511
+ parseSbfGloNav,
496
512
  parseSbfIonoUtc,
497
513
  parseSbfMeas,
498
514
  parseSbfNav,
@@ -535,5 +551,6 @@ export {
535
551
  writeRinex2ObsBlob,
536
552
  writeRinex4ObsBlob,
537
553
  writeRinexNav,
554
+ writeRinexNav4,
538
555
  writeRinexObsBlob
539
556
  };
@@ -0,0 +1,137 @@
1
+ import { E as Ephemeris } from './nav-DImXUdbp.cjs';
2
+
3
+ /**
4
+ * Septentrio SBF decoded navigation and almanac blocks.
5
+ *
6
+ * Nav blocks (GPSNav 5891, GLONav 4004, GALNav 4002, BDSNav 4081,
7
+ * QZSNav 4095) carry the fully decoded broadcast ephemeris; they are
8
+ * mapped onto the same `Ephemeris` union the RINEX nav parser produces,
9
+ * with identical units and conventions (sqrtA in m^1/2, angles in rad,
10
+ * semicircle fields scaled by π, GLONASS tauN with the RINEX sign, BDS
11
+ * epochs/weeks on the BDT scale like a RINEX file).
12
+ *
13
+ * Almanac blocks (GPSAlm 5892, GALAlm 4003, GLOAlm 4005, BDSAlm 4119)
14
+ * are decoded into dedicated types with all per-system relative fields
15
+ * (GPS/BDS δi, Galileo δi and ΔsqrtA) normalized to absolute values.
16
+ *
17
+ * Ported from RTKLIB demo5 (rtklibexplorer), src/rcv/septentrio.c
18
+ * (decode_gpsnav / decode_glonav / decode_galnav / decode_cmpnav /
19
+ * decode_qzssnav / decode_gpsalm / decode_galalm / decode_cmpalm),
20
+ * BSD-2-Clause, and cross-checked field by field against the Septentrio
21
+ * mosaic-X5 reference guide, which also supplies the GLOAlm layout
22
+ * (not decoded by RTKLIB).
23
+ */
24
+
25
+ interface SbfNavResult {
26
+ ephemerides: Ephemeris[];
27
+ /** Frames whose CRC failed (corruption indicator). */
28
+ badCrc: number;
29
+ }
30
+ /**
31
+ * Decode every GPSNav/GLONav/GALNav/BDSNav/QZSNav block in an SBF byte
32
+ * stream into the RINEX-parser `Ephemeris` union. Every block is
33
+ * emitted (no issue-of-data dedup); other block types are skipped.
34
+ */
35
+ declare function parseSbfNav(data: Uint8Array): SbfNavResult;
36
+ /**
37
+ * GPS / Galileo / BeiDou almanac, normalized to ABSOLUTE Keplerian
38
+ * elements (units matching `KeplerEphemeris`: sqrtA in m^1/2, angles
39
+ * in rad, rates in rad/s) so a Kepler propagator can consume the
40
+ * record directly with all correction terms at zero.
41
+ *
42
+ * Normalizations applied per system:
43
+ * - GPS (`G`): the SIS δi (relative to 0.3 semicircles) is folded in —
44
+ * `i0OrDeltaI` = 0.3π + δi·π. `weekAlm` is the full GPS week
45
+ * (8-bit SIS week disambiguated against the receiver week).
46
+ * - Galileo (`E`): the SIS ΔsqrtA (relative to √29 600 000 m^1/2) and
47
+ * δi (relative to 56°) are folded in — `sqrtA` and `i0OrDeltaI` are
48
+ * absolute. `weekAlm` is the full GPS-aligned week (2-bit SIS week
49
+ * disambiguated). `health` is the raw SBF bit field: bit 0 set ⇒
50
+ * bits 1-2 are the L1-B HS, bit 3 set ⇒ bits 4-5 E5b HS, bit 6 set
51
+ * ⇒ bits 7-8 E5a HS (0 = healthy).
52
+ * - BeiDou (`C`): δi is relative to 0.3 semicircles for MEO/IGSO and
53
+ * to 0 for GEO satellites (PRN 1-5 and 59-63) per the BDS ICD; the
54
+ * reference is folded in. `weekAlm` is the full BDS week (add 1356
55
+ * for the GPS week) and `toaSec` is BDT seconds of week
56
+ * (BDT = GPST − 14 s). `health` is the 9-bit SIS health word.
57
+ */
58
+ interface SbfKeplerAlmanac {
59
+ system: 'G' | 'E' | 'C';
60
+ /** Satellite PRN, e.g. "G14". */
61
+ prn: string;
62
+ /** Full almanac reference week (see per-system notes above). */
63
+ weekAlm: number;
64
+ /** Almanac reference time of week in seconds (system time scale). */
65
+ toaSec: number;
66
+ /** Square root of semi-major axis in m^(1/2), absolute. */
67
+ sqrtA: number;
68
+ /** Eccentricity (dimensionless). */
69
+ e: number;
70
+ /** Inclination at reference time in rad, absolute (normalized). */
71
+ i0OrDeltaI: number;
72
+ /** Longitude of ascending node at the weekly epoch in rad. */
73
+ omega0: number;
74
+ /** Argument of perigee in rad. */
75
+ omega: number;
76
+ /** Mean anomaly at reference time in rad. */
77
+ m0: number;
78
+ /** Rate of right ascension in rad/s. */
79
+ omegaDot: number;
80
+ /** SV clock bias in seconds. */
81
+ af0: number;
82
+ /** SV clock drift in s/s. */
83
+ af1: number;
84
+ /** Health word, 0 = healthy (see per-system notes above). */
85
+ health: number;
86
+ }
87
+ /**
88
+ * GLONASS almanac (GLONASS ICD orbital parameters). Semicircle fields
89
+ * are converted to radians; everything else keeps the ICD units.
90
+ */
91
+ interface SbfGlonassAlmanac {
92
+ system: 'R';
93
+ /** Satellite slot, e.g. "R05". */
94
+ prn: string;
95
+ /** Frequency channel number HnA (−7…+6). */
96
+ freqNr: number;
97
+ /** Full GPS week of the almanac reference time. */
98
+ weekAlm: number;
99
+ /** Almanac reference time of week in seconds, GPS time frame. */
100
+ toaSec: number;
101
+ /** εnA: orbit eccentricity. */
102
+ epsilon: number;
103
+ /** λnA: longitude of first ascending node in rad. */
104
+ lambda: number;
105
+ /** tλnA: time of first ascending node passage in s of day. */
106
+ tLambda: number;
107
+ /** ΔinA: inclination correction to 63° in rad. */
108
+ deltaI: number;
109
+ /** ωnA: argument of perigee in rad. */
110
+ omega: number;
111
+ /** ΔTnA: correction to the mean Draconian period (s / orbit). */
112
+ deltaT: number;
113
+ /** dΔTnA: rate of change of ΔT (s / orbit²). */
114
+ deltaTDot: number;
115
+ /** τnA: coarse satellite clock correction in s. */
116
+ tau: number;
117
+ /** CnA general health flag: 1 = healthy. */
118
+ health: number;
119
+ /** NA: calendar day number within the 4-year period. */
120
+ nDay: number;
121
+ /** N4: 4-year interval number since 1996. */
122
+ n4: number;
123
+ }
124
+ type SbfAlmanac = SbfKeplerAlmanac | SbfGlonassAlmanac;
125
+ interface SbfAlmanacResult {
126
+ almanacs: SbfAlmanac[];
127
+ /** Frames whose CRC failed (corruption indicator). */
128
+ badCrc: number;
129
+ }
130
+ /**
131
+ * Decode every GPSAlm/GALAlm/GLOAlm/BDSAlm block in an SBF byte
132
+ * stream. Every block is emitted in stream order; other block types
133
+ * are skipped.
134
+ */
135
+ declare function parseSbfAlmanac(data: Uint8Array): SbfAlmanacResult;
136
+
137
+ export { type SbfAlmanac as S, type SbfAlmanacResult as a, type SbfGlonassAlmanac as b, type SbfKeplerAlmanac as c, type SbfNavResult as d, parseSbfNav as e, parseSbfAlmanac as p };
@@ -0,0 +1,137 @@
1
+ import { E as Ephemeris } from './nav-DImXUdbp.js';
2
+
3
+ /**
4
+ * Septentrio SBF decoded navigation and almanac blocks.
5
+ *
6
+ * Nav blocks (GPSNav 5891, GLONav 4004, GALNav 4002, BDSNav 4081,
7
+ * QZSNav 4095) carry the fully decoded broadcast ephemeris; they are
8
+ * mapped onto the same `Ephemeris` union the RINEX nav parser produces,
9
+ * with identical units and conventions (sqrtA in m^1/2, angles in rad,
10
+ * semicircle fields scaled by π, GLONASS tauN with the RINEX sign, BDS
11
+ * epochs/weeks on the BDT scale like a RINEX file).
12
+ *
13
+ * Almanac blocks (GPSAlm 5892, GALAlm 4003, GLOAlm 4005, BDSAlm 4119)
14
+ * are decoded into dedicated types with all per-system relative fields
15
+ * (GPS/BDS δi, Galileo δi and ΔsqrtA) normalized to absolute values.
16
+ *
17
+ * Ported from RTKLIB demo5 (rtklibexplorer), src/rcv/septentrio.c
18
+ * (decode_gpsnav / decode_glonav / decode_galnav / decode_cmpnav /
19
+ * decode_qzssnav / decode_gpsalm / decode_galalm / decode_cmpalm),
20
+ * BSD-2-Clause, and cross-checked field by field against the Septentrio
21
+ * mosaic-X5 reference guide, which also supplies the GLOAlm layout
22
+ * (not decoded by RTKLIB).
23
+ */
24
+
25
+ interface SbfNavResult {
26
+ ephemerides: Ephemeris[];
27
+ /** Frames whose CRC failed (corruption indicator). */
28
+ badCrc: number;
29
+ }
30
+ /**
31
+ * Decode every GPSNav/GLONav/GALNav/BDSNav/QZSNav block in an SBF byte
32
+ * stream into the RINEX-parser `Ephemeris` union. Every block is
33
+ * emitted (no issue-of-data dedup); other block types are skipped.
34
+ */
35
+ declare function parseSbfNav(data: Uint8Array): SbfNavResult;
36
+ /**
37
+ * GPS / Galileo / BeiDou almanac, normalized to ABSOLUTE Keplerian
38
+ * elements (units matching `KeplerEphemeris`: sqrtA in m^1/2, angles
39
+ * in rad, rates in rad/s) so a Kepler propagator can consume the
40
+ * record directly with all correction terms at zero.
41
+ *
42
+ * Normalizations applied per system:
43
+ * - GPS (`G`): the SIS δi (relative to 0.3 semicircles) is folded in —
44
+ * `i0OrDeltaI` = 0.3π + δi·π. `weekAlm` is the full GPS week
45
+ * (8-bit SIS week disambiguated against the receiver week).
46
+ * - Galileo (`E`): the SIS ΔsqrtA (relative to √29 600 000 m^1/2) and
47
+ * δi (relative to 56°) are folded in — `sqrtA` and `i0OrDeltaI` are
48
+ * absolute. `weekAlm` is the full GPS-aligned week (2-bit SIS week
49
+ * disambiguated). `health` is the raw SBF bit field: bit 0 set ⇒
50
+ * bits 1-2 are the L1-B HS, bit 3 set ⇒ bits 4-5 E5b HS, bit 6 set
51
+ * ⇒ bits 7-8 E5a HS (0 = healthy).
52
+ * - BeiDou (`C`): δi is relative to 0.3 semicircles for MEO/IGSO and
53
+ * to 0 for GEO satellites (PRN 1-5 and 59-63) per the BDS ICD; the
54
+ * reference is folded in. `weekAlm` is the full BDS week (add 1356
55
+ * for the GPS week) and `toaSec` is BDT seconds of week
56
+ * (BDT = GPST − 14 s). `health` is the 9-bit SIS health word.
57
+ */
58
+ interface SbfKeplerAlmanac {
59
+ system: 'G' | 'E' | 'C';
60
+ /** Satellite PRN, e.g. "G14". */
61
+ prn: string;
62
+ /** Full almanac reference week (see per-system notes above). */
63
+ weekAlm: number;
64
+ /** Almanac reference time of week in seconds (system time scale). */
65
+ toaSec: number;
66
+ /** Square root of semi-major axis in m^(1/2), absolute. */
67
+ sqrtA: number;
68
+ /** Eccentricity (dimensionless). */
69
+ e: number;
70
+ /** Inclination at reference time in rad, absolute (normalized). */
71
+ i0OrDeltaI: number;
72
+ /** Longitude of ascending node at the weekly epoch in rad. */
73
+ omega0: number;
74
+ /** Argument of perigee in rad. */
75
+ omega: number;
76
+ /** Mean anomaly at reference time in rad. */
77
+ m0: number;
78
+ /** Rate of right ascension in rad/s. */
79
+ omegaDot: number;
80
+ /** SV clock bias in seconds. */
81
+ af0: number;
82
+ /** SV clock drift in s/s. */
83
+ af1: number;
84
+ /** Health word, 0 = healthy (see per-system notes above). */
85
+ health: number;
86
+ }
87
+ /**
88
+ * GLONASS almanac (GLONASS ICD orbital parameters). Semicircle fields
89
+ * are converted to radians; everything else keeps the ICD units.
90
+ */
91
+ interface SbfGlonassAlmanac {
92
+ system: 'R';
93
+ /** Satellite slot, e.g. "R05". */
94
+ prn: string;
95
+ /** Frequency channel number HnA (−7…+6). */
96
+ freqNr: number;
97
+ /** Full GPS week of the almanac reference time. */
98
+ weekAlm: number;
99
+ /** Almanac reference time of week in seconds, GPS time frame. */
100
+ toaSec: number;
101
+ /** εnA: orbit eccentricity. */
102
+ epsilon: number;
103
+ /** λnA: longitude of first ascending node in rad. */
104
+ lambda: number;
105
+ /** tλnA: time of first ascending node passage in s of day. */
106
+ tLambda: number;
107
+ /** ΔinA: inclination correction to 63° in rad. */
108
+ deltaI: number;
109
+ /** ωnA: argument of perigee in rad. */
110
+ omega: number;
111
+ /** ΔTnA: correction to the mean Draconian period (s / orbit). */
112
+ deltaT: number;
113
+ /** dΔTnA: rate of change of ΔT (s / orbit²). */
114
+ deltaTDot: number;
115
+ /** τnA: coarse satellite clock correction in s. */
116
+ tau: number;
117
+ /** CnA general health flag: 1 = healthy. */
118
+ health: number;
119
+ /** NA: calendar day number within the 4-year period. */
120
+ nDay: number;
121
+ /** N4: 4-year interval number since 1996. */
122
+ n4: number;
123
+ }
124
+ type SbfAlmanac = SbfKeplerAlmanac | SbfGlonassAlmanac;
125
+ interface SbfAlmanacResult {
126
+ almanacs: SbfAlmanac[];
127
+ /** Frames whose CRC failed (corruption indicator). */
128
+ badCrc: number;
129
+ }
130
+ /**
131
+ * Decode every GPSAlm/GALAlm/GLOAlm/BDSAlm block in an SBF byte
132
+ * stream. Every block is emitted in stream order; other block types
133
+ * are skipped.
134
+ */
135
+ declare function parseSbfAlmanac(data: Uint8Array): SbfAlmanacResult;
136
+
137
+ export { type SbfAlmanac as S, type SbfAlmanacResult as a, type SbfGlonassAlmanac as b, type SbfKeplerAlmanac as c, type SbfNavResult as d, parseSbfNav as e, parseSbfAlmanac as p };