gnss-js 1.56.0 → 1.58.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.
- package/dist/{chunk-BU6YC6VK.js → chunk-SWVIBUHS.js} +61 -8
- package/dist/{chunk-ZPNMIUNZ.js → chunk-UHLUAU6H.js} +131 -9
- package/dist/index.cjs +202 -17
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +22 -2
- package/dist/positioning.cjs +63 -8
- package/dist/positioning.d.cts +37 -1
- package/dist/positioning.d.ts +37 -1
- package/dist/positioning.js +5 -1
- package/dist/sbf.cjs +139 -9
- package/dist/sbf.d.cts +112 -28
- package/dist/sbf.d.ts +112 -28
- package/dist/sbf.js +17 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -84,6 +84,8 @@ __export(src_exports, {
|
|
|
84
84
|
RTCM3_MESSAGE_NAMES: () => RTCM3_MESSAGE_NAMES,
|
|
85
85
|
Rtcm3Decoder: () => Rtcm3Decoder,
|
|
86
86
|
RtkFloatEngine: () => RtkFloatEngine,
|
|
87
|
+
SBAS_L5_MT_NAMES: () => SBAS_L5_MT_NAMES,
|
|
88
|
+
SBAS_L5_PREAMBLE_UW: () => SBAS_L5_PREAMBLE_UW,
|
|
87
89
|
SECONDS_IN_DAY: () => SECONDS_IN_DAY,
|
|
88
90
|
SECONDS_IN_HOUR: () => SECONDS_IN_HOUR,
|
|
89
91
|
SECONDS_IN_MINUTE: () => SECONDS_IN_MINUTE,
|
|
@@ -157,6 +159,7 @@ __export(src_exports, {
|
|
|
157
159
|
euclidean3D: () => euclidean3D,
|
|
158
160
|
extractWidelaneArcs: () => extractWidelaneArcs,
|
|
159
161
|
feedGeoBlock: () => feedGeoBlock,
|
|
162
|
+
feedGeoL5Block: () => feedGeoL5Block,
|
|
160
163
|
fetchSourcetable: () => fetchSourcetable,
|
|
161
164
|
findSatBias: () => findSatBias,
|
|
162
165
|
fixPppPosition: () => fixPppPosition,
|
|
@@ -233,6 +236,8 @@ __export(src_exports, {
|
|
|
233
236
|
hdrLine: () => hdrLine,
|
|
234
237
|
horizonDistance: () => horizonDistance,
|
|
235
238
|
ionoFree: () => ionoFree,
|
|
239
|
+
isSbasL1Preamble: () => isSbasL1Preamble,
|
|
240
|
+
isSbasL5Correction: () => isSbasL5Correction,
|
|
236
241
|
keplerPosition: () => keplerPosition,
|
|
237
242
|
klobucharDelay: () => klobucharDelay,
|
|
238
243
|
lambdaReduction: () => lambdaReduction,
|
|
@@ -263,6 +268,7 @@ __export(src_exports, {
|
|
|
263
268
|
parseSbfBdsNav: () => parseSbfBdsNav,
|
|
264
269
|
parseSbfCnav: () => parseSbfCnav,
|
|
265
270
|
parseSbfGalNav: () => parseSbfGalNav,
|
|
271
|
+
parseSbfGeoL5: () => parseSbfGeoL5,
|
|
266
272
|
parseSbfGeoNav: () => parseSbfGeoNav,
|
|
267
273
|
parseSbfGloNav: () => parseSbfGloNav,
|
|
268
274
|
parseSbfGpsNav: () => parseSbfGpsNav,
|
|
@@ -297,6 +303,10 @@ __export(src_exports, {
|
|
|
297
303
|
rhumbLine: () => rhumbLine,
|
|
298
304
|
rtcm3Constellation: () => rtcm3Constellation,
|
|
299
305
|
satClockCorrection: () => satClockCorrection,
|
|
306
|
+
sbasIonoDeg: () => sbasIonoDeg,
|
|
307
|
+
sbasL5MessageName: () => sbasL5MessageName,
|
|
308
|
+
sbasL5MessageType: () => sbasL5MessageType,
|
|
309
|
+
sbasLongTermDeg: () => sbasLongTermDeg,
|
|
300
310
|
sbasProtectionLevels: () => sbasProtectionLevels,
|
|
301
311
|
sbfCrc16: () => crc16,
|
|
302
312
|
scanSbfFrames: () => scanSbfFrames,
|
|
@@ -7833,13 +7843,42 @@ function parseSbfGloNav(data) {
|
|
|
7833
7843
|
return { ephemerides, badCrc, messages };
|
|
7834
7844
|
}
|
|
7835
7845
|
|
|
7846
|
+
// src/navbits/sbas-l5.ts
|
|
7847
|
+
var SBAS_L5_PREAMBLE_UW = 6056250;
|
|
7848
|
+
function isSbasL1Preamble(msg) {
|
|
7849
|
+
return msg[0] === 83 || msg[0] === 154 || msg[0] === 198;
|
|
7850
|
+
}
|
|
7851
|
+
function sbasL5MessageType(msg) {
|
|
7852
|
+
return getBitU(msg, 4, 6);
|
|
7853
|
+
}
|
|
7854
|
+
var SBAS_L5_MT_NAMES = {
|
|
7855
|
+
0: "Do Not Use (test)",
|
|
7856
|
+
31: "SBAS satellite mask",
|
|
7857
|
+
32: "Satellite clock-ephemeris corrections + covariance",
|
|
7858
|
+
34: "Integrity (DFREI/DFRECI)",
|
|
7859
|
+
35: "Integrity (DFREI/DFRECI)",
|
|
7860
|
+
36: "Integrity (DFREI/DFRECI)",
|
|
7861
|
+
37: "Degradation parameters + DFREI scale table",
|
|
7862
|
+
39: "SBAS satellite clock/ephemeris/covariance-1",
|
|
7863
|
+
40: "SBAS satellite clock/ephemeris/covariance-2",
|
|
7864
|
+
42: "SNT-to-UTC offset",
|
|
7865
|
+
47: "SBAS satellite almanacs",
|
|
7866
|
+
62: "Reserved",
|
|
7867
|
+
63: "Null message"
|
|
7868
|
+
};
|
|
7869
|
+
function sbasL5MessageName(type) {
|
|
7870
|
+
return SBAS_L5_MT_NAMES[type] ?? (type >= 1 && type <= 61 ? "Spare" : `Type ${type}`);
|
|
7871
|
+
}
|
|
7872
|
+
function isSbasL5Correction(type) {
|
|
7873
|
+
return type === 31 || type === 32 || type >= 34 && type <= 37 || type === 39 || type === 40 || type === 42 || type === 47;
|
|
7874
|
+
}
|
|
7875
|
+
|
|
7836
7876
|
// src/sbf/rawnav-sbas.ts
|
|
7837
|
-
function
|
|
7877
|
+
function readGeoMessage(view, b) {
|
|
7838
7878
|
const tow = view.getUint32(b + 8, true);
|
|
7839
7879
|
const wnc = view.getUint16(b + 12, true);
|
|
7840
|
-
const
|
|
7841
|
-
|
|
7842
|
-
if (!prnStr || prnStr[0] !== "S") return {};
|
|
7880
|
+
const prnStr = svidToPrn(view.getUint8(b + 14));
|
|
7881
|
+
if (!prnStr || prnStr[0] !== "S") return null;
|
|
7843
7882
|
const msg = new Uint8Array(32);
|
|
7844
7883
|
for (let k = 0; k < 8; k++) {
|
|
7845
7884
|
const w = view.getUint32(b + 20 + 4 * k, true);
|
|
@@ -7848,12 +7887,29 @@ function feedGeoBlock(view, b, onSbasMessage) {
|
|
|
7848
7887
|
msg[4 * k + 2] = w >>> 8 & 255;
|
|
7849
7888
|
msg[4 * k + 3] = w & 255;
|
|
7850
7889
|
}
|
|
7851
|
-
|
|
7852
|
-
|
|
7853
|
-
|
|
7854
|
-
const
|
|
7890
|
+
return { msg, prn: Number(prnStr.slice(1)) + 100, wnc, towSec: tow / 1e3 };
|
|
7891
|
+
}
|
|
7892
|
+
function feedGeoBlock(view, b, onSbasMessage) {
|
|
7893
|
+
const g = readGeoMessage(view, b);
|
|
7894
|
+
if (!g) return {};
|
|
7895
|
+
if (!sbasCrcOk(g.msg)) return { badCrc: true };
|
|
7896
|
+
onSbasMessage?.(g.msg, g.prn, g.wnc, g.towSec);
|
|
7897
|
+
const eph = decodeSbasGeoNav(g.msg, g.prn, g.wnc, g.towSec);
|
|
7855
7898
|
return eph ? { eph } : {};
|
|
7856
7899
|
}
|
|
7900
|
+
function feedGeoL5Block(view, b, onSbasMessage, onDfmcMessage) {
|
|
7901
|
+
const g = readGeoMessage(view, b);
|
|
7902
|
+
if (!g) return {};
|
|
7903
|
+
if (!sbasCrcOk(g.msg)) return { badCrc: true };
|
|
7904
|
+
if (isSbasL1Preamble(g.msg)) {
|
|
7905
|
+
onSbasMessage?.(g.msg, g.prn, g.wnc, g.towSec);
|
|
7906
|
+
const eph = decodeSbasGeoNav(g.msg, g.prn, g.wnc, g.towSec);
|
|
7907
|
+
return eph ? { kind: "l1", eph } : { kind: "l1" };
|
|
7908
|
+
}
|
|
7909
|
+
const dfmcType = sbasL5MessageType(g.msg);
|
|
7910
|
+
onDfmcMessage?.(g.msg, g.prn, g.wnc, g.towSec, dfmcType);
|
|
7911
|
+
return { kind: "l5", dfmcType };
|
|
7912
|
+
}
|
|
7857
7913
|
function parseSbfGeoNav(data, opts = {}) {
|
|
7858
7914
|
const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
|
|
7859
7915
|
const ephemerides = [];
|
|
@@ -7876,6 +7932,47 @@ function parseSbfGeoNav(data, opts = {}) {
|
|
|
7876
7932
|
});
|
|
7877
7933
|
return { ephemerides, badCrc, messages };
|
|
7878
7934
|
}
|
|
7935
|
+
function parseSbfGeoL5(data, opts = {}) {
|
|
7936
|
+
const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
|
|
7937
|
+
const ephemerides = [];
|
|
7938
|
+
const seen = /* @__PURE__ */ new Set();
|
|
7939
|
+
const byType = {};
|
|
7940
|
+
const dfmcPrns = /* @__PURE__ */ new Set();
|
|
7941
|
+
let legacyMessages = 0;
|
|
7942
|
+
let dfmcMessages = 0;
|
|
7943
|
+
let badCrc = 0;
|
|
7944
|
+
let messages = 0;
|
|
7945
|
+
scanSbfFrames(data, view, (id, b, len) => {
|
|
7946
|
+
if (id !== 4021 || len < 52) return;
|
|
7947
|
+
messages++;
|
|
7948
|
+
const r = feedGeoL5Block(view, b, opts.onSbasMessage, opts.onDfmcMessage);
|
|
7949
|
+
if (r.badCrc) {
|
|
7950
|
+
badCrc++;
|
|
7951
|
+
} else if (r.kind === "l1") {
|
|
7952
|
+
legacyMessages++;
|
|
7953
|
+
if (r.eph) {
|
|
7954
|
+
const key = `${r.eph.prn}|${r.eph.tocDate.getTime()}`;
|
|
7955
|
+
if (!seen.has(key)) {
|
|
7956
|
+
seen.add(key);
|
|
7957
|
+
ephemerides.push(r.eph);
|
|
7958
|
+
}
|
|
7959
|
+
}
|
|
7960
|
+
} else if (r.kind === "l5" && r.dfmcType !== void 0) {
|
|
7961
|
+
dfmcMessages++;
|
|
7962
|
+
byType[r.dfmcType] = (byType[r.dfmcType] ?? 0) + 1;
|
|
7963
|
+
const prn = view.getUint8(b + 14);
|
|
7964
|
+
const s = svidToPrn(prn);
|
|
7965
|
+
if (s) dfmcPrns.add(s);
|
|
7966
|
+
}
|
|
7967
|
+
});
|
|
7968
|
+
return {
|
|
7969
|
+
ephemerides,
|
|
7970
|
+
legacyMessages,
|
|
7971
|
+
dfmc: { byType, prns: [...dfmcPrns].sort(), messages: dfmcMessages },
|
|
7972
|
+
badCrc,
|
|
7973
|
+
messages
|
|
7974
|
+
};
|
|
7975
|
+
}
|
|
7879
7976
|
|
|
7880
7977
|
// src/sbf/navigation.ts
|
|
7881
7978
|
var F4_DNU4 = -2e10;
|
|
@@ -7898,8 +7995,11 @@ function decodeSbfNavigation(data, opts = {}) {
|
|
|
7898
7995
|
gloRaw: 0,
|
|
7899
7996
|
bdsRaw: 0,
|
|
7900
7997
|
sbasRaw: 0,
|
|
7998
|
+
sbasL5Raw: 0,
|
|
7901
7999
|
badFrames: 0
|
|
7902
8000
|
};
|
|
8001
|
+
const dfmcByType = {};
|
|
8002
|
+
const dfmcPrns = /* @__PURE__ */ new Set();
|
|
7903
8003
|
const cnavAsm = newCnavAssemblers();
|
|
7904
8004
|
const galAsm = newGalAssemblers();
|
|
7905
8005
|
const gloAsm = new GloStringAssembler();
|
|
@@ -8009,6 +8109,25 @@ function decodeSbfNavigation(data, opts = {}) {
|
|
|
8009
8109
|
else if (r.badCrc) counts.badFrames++;
|
|
8010
8110
|
return;
|
|
8011
8111
|
}
|
|
8112
|
+
case 4021: {
|
|
8113
|
+
if (len < 52) return;
|
|
8114
|
+
counts.sbasL5Raw++;
|
|
8115
|
+
const r = feedGeoL5Block(
|
|
8116
|
+
view,
|
|
8117
|
+
b,
|
|
8118
|
+
opts.onSbasMessage,
|
|
8119
|
+
opts.onDfmcMessage
|
|
8120
|
+
);
|
|
8121
|
+
if (r.badCrc) counts.badFrames++;
|
|
8122
|
+
else if (r.kind === "l1") {
|
|
8123
|
+
if (r.eph) addEph(r.eph);
|
|
8124
|
+
} else if (r.kind === "l5" && r.dfmcType !== void 0) {
|
|
8125
|
+
dfmcByType[r.dfmcType] = (dfmcByType[r.dfmcType] ?? 0) + 1;
|
|
8126
|
+
const s = svidToPrn(view.getUint8(b + 14));
|
|
8127
|
+
if (s) dfmcPrns.add(s);
|
|
8128
|
+
}
|
|
8129
|
+
return;
|
|
8130
|
+
}
|
|
8012
8131
|
/* ---- iono / UTC ---- */
|
|
8013
8132
|
case 5893:
|
|
8014
8133
|
// GPSIon
|
|
@@ -8033,7 +8152,12 @@ function decodeSbfNavigation(data, opts = {}) {
|
|
|
8033
8152
|
return;
|
|
8034
8153
|
}
|
|
8035
8154
|
});
|
|
8036
|
-
|
|
8155
|
+
const dfmc = {
|
|
8156
|
+
byType: dfmcByType,
|
|
8157
|
+
prns: [...dfmcPrns].sort(),
|
|
8158
|
+
messages: Object.values(dfmcByType).reduce((a, v) => a + v, 0)
|
|
8159
|
+
};
|
|
8160
|
+
return { ephemerides, cnav, ionoCorrections, leapSeconds, dfmc, counts };
|
|
8037
8161
|
}
|
|
8038
8162
|
|
|
8039
8163
|
// src/navbits/rs255.ts
|
|
@@ -13356,6 +13480,17 @@ var DEGF = [
|
|
|
13356
13480
|
58e-4
|
|
13357
13481
|
];
|
|
13358
13482
|
var degfcorr = (ai) => ai > 0 && ai <= 15 ? DEGF[ai] : 58e-4;
|
|
13483
|
+
function sbasLongTermDeg(d, vel, ageSec) {
|
|
13484
|
+
if (vel) {
|
|
13485
|
+
if (ageSec > 0 && ageSec < d.iltcV1) return 0;
|
|
13486
|
+
return d.cltcLsb + d.cltcV1 * Math.max(0, -ageSec, ageSec - d.iltcV1);
|
|
13487
|
+
}
|
|
13488
|
+
return d.cltcV0 * Math.floor(Math.abs(ageSec) / d.iltcV0);
|
|
13489
|
+
}
|
|
13490
|
+
function sbasIonoDeg(d, ageSec) {
|
|
13491
|
+
const dt = Math.abs(ageSec);
|
|
13492
|
+
return d.cionoStep * Math.floor(dt / d.iiono) + d.cionoRamp * dt;
|
|
13493
|
+
}
|
|
13359
13494
|
var x1 = [-75, -65, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 65, 75, 85];
|
|
13360
13495
|
var x2 = [-55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55];
|
|
13361
13496
|
var x3 = [-75, -65, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 65, 75];
|
|
@@ -13409,6 +13544,7 @@ var SbasProcessor = class {
|
|
|
13409
13544
|
satIdx = /* @__PURE__ */ new Map();
|
|
13410
13545
|
iodp = -1;
|
|
13411
13546
|
tlat = 0;
|
|
13547
|
+
degr = null;
|
|
13412
13548
|
ion = [];
|
|
13413
13549
|
/** GEO PRN(s) whose messages have been ingested. */
|
|
13414
13550
|
geoPrns = /* @__PURE__ */ new Set();
|
|
@@ -13435,6 +13571,8 @@ var SbasProcessor = class {
|
|
|
13435
13571
|
return this.decodeIntegrity(msg) ? type : -1;
|
|
13436
13572
|
case 7:
|
|
13437
13573
|
return this.decodeDegradation(msg) ? type : -1;
|
|
13574
|
+
case 10:
|
|
13575
|
+
return this.decodeMt10(msg) ? type : -1;
|
|
13438
13576
|
case 18:
|
|
13439
13577
|
return this.decodeIgpMask(msg) ? type : -1;
|
|
13440
13578
|
case 24:
|
|
@@ -13503,6 +13641,30 @@ var SbasProcessor = class {
|
|
|
13503
13641
|
}
|
|
13504
13642
|
return true;
|
|
13505
13643
|
}
|
|
13644
|
+
/** MT10 degradation factors (DO-229D Table A-9). Fields follow the 8-bit
|
|
13645
|
+
* preamble + 6-bit type (start bit 14), MSB-first, with the listed LSBs.
|
|
13646
|
+
* Iiono / Iltc_v0 of 0 must be read as 1 (Table A-9, Note 3). */
|
|
13647
|
+
decodeMt10(msg) {
|
|
13648
|
+
const u = (p, n) => getBitU(msg, p, n);
|
|
13649
|
+
this.degr = {
|
|
13650
|
+
brrc: u(14, 10) * 2e-3,
|
|
13651
|
+
cltcLsb: u(24, 10) * 2e-3,
|
|
13652
|
+
cltcV1: u(34, 10) * 5e-5,
|
|
13653
|
+
iltcV1: u(44, 9),
|
|
13654
|
+
cltcV0: u(53, 10) * 2e-3,
|
|
13655
|
+
iltcV0: u(63, 9) || 1,
|
|
13656
|
+
cgeoLsb: u(72, 10) * 5e-4,
|
|
13657
|
+
cgeoV: u(82, 10) * 5e-5,
|
|
13658
|
+
igeo: u(92, 9),
|
|
13659
|
+
cer: u(101, 6) * 0.5,
|
|
13660
|
+
cionoStep: u(107, 10) * 1e-3,
|
|
13661
|
+
iiono: u(117, 9) || 1,
|
|
13662
|
+
cionoRamp: u(126, 10) * 5e-6,
|
|
13663
|
+
rssUdre: u(136, 1) === 1,
|
|
13664
|
+
rssIono: u(137, 1) === 1
|
|
13665
|
+
};
|
|
13666
|
+
return true;
|
|
13667
|
+
}
|
|
13506
13668
|
decodeMixed(msg, week, tow) {
|
|
13507
13669
|
if (this.iodp !== getBitU(msg, 110, 2)) return false;
|
|
13508
13670
|
const blk = getBitU(msg, 112, 2);
|
|
@@ -13549,7 +13711,8 @@ var SbasProcessor = class {
|
|
|
13549
13711
|
dvel: [0, 0, 0],
|
|
13550
13712
|
daf0: getBitS(msg, p + 41, 10) * P2_31,
|
|
13551
13713
|
daf1: 0,
|
|
13552
|
-
t0s: gpsSeconds(week, tow)
|
|
13714
|
+
t0s: gpsSeconds(week, tow),
|
|
13715
|
+
vel: false
|
|
13553
13716
|
};
|
|
13554
13717
|
return true;
|
|
13555
13718
|
}
|
|
@@ -13573,7 +13736,8 @@ var SbasProcessor = class {
|
|
|
13573
13736
|
],
|
|
13574
13737
|
daf0: getBitS(msg, p + 47, 11) * P2_31,
|
|
13575
13738
|
daf1: getBitS(msg, p + 82, 8) * P2_39,
|
|
13576
|
-
t0s: gpsSeconds(week, tow + t)
|
|
13739
|
+
t0s: gpsSeconds(week, tow + t),
|
|
13740
|
+
vel: true
|
|
13577
13741
|
};
|
|
13578
13742
|
return true;
|
|
13579
13743
|
}
|
|
@@ -13694,9 +13858,16 @@ var SbasProcessor = class {
|
|
|
13694
13858
|
const tf = now - s.fcorr.t0s + this.tlat;
|
|
13695
13859
|
if (Math.abs(tf) > MAXSBSAGEF || s.fcorr.udre >= 15) return null;
|
|
13696
13860
|
const prc = s.fcorr.prc;
|
|
13697
|
-
const
|
|
13861
|
+
const sigUdre = Math.sqrt(varfcorr(s.fcorr.udre));
|
|
13862
|
+
const efc = degfcorr(s.fcorr.ai) * tf * tf / 2;
|
|
13863
|
+
const eltc = this.degr && s.lcorr && s.lcorr.t0s !== 0 ? sbasLongTermDeg(this.degr, s.lcorr.vel, now - s.lcorr.t0s) : 0;
|
|
13864
|
+
const varM2 = this.degr?.rssUdre ? sigUdre * sigUdre + efc * efc + eltc * eltc : (sigUdre + efc + eltc) ** 2;
|
|
13698
13865
|
return { dPos: drs, dClkS: dclk + prc / C_LIGHT, prcM: prc, varM2, iode };
|
|
13699
13866
|
}
|
|
13867
|
+
/** The last-decoded MT10 degradation factors, or null if none seen. */
|
|
13868
|
+
get degradation() {
|
|
13869
|
+
return this.degr;
|
|
13870
|
+
}
|
|
13700
13871
|
/**
|
|
13701
13872
|
* Slant L1 ionospheric delay (m) at the pierce point for a receiver geodetic
|
|
13702
13873
|
* position (lat/lon rad, height m) and a satellite az/el (rad), interpolated
|
|
@@ -13745,14 +13916,18 @@ var SbasProcessor = class {
|
|
|
13745
13916
|
} else return null;
|
|
13746
13917
|
const now = gpsSeconds(week, tow);
|
|
13747
13918
|
let delay = 0;
|
|
13748
|
-
let
|
|
13919
|
+
let varVert = 0;
|
|
13749
13920
|
for (let i = 0; i < 4; i++) {
|
|
13750
13921
|
const g = pts[i];
|
|
13751
13922
|
if (!g) continue;
|
|
13752
13923
|
delay += w[i] * g.delay;
|
|
13753
|
-
|
|
13924
|
+
const sigGive = Math.sqrt(varicorr(g.give));
|
|
13925
|
+
const d = this.degr;
|
|
13926
|
+
const eiono = d ? sbasIonoDeg(d, now - g.t0s) : 0;
|
|
13927
|
+
const sig2 = d?.rssIono ? sigGive * sigGive + eiono * eiono : (sigGive + eiono) ** 2;
|
|
13928
|
+
varVert += w[i] * sig2;
|
|
13754
13929
|
}
|
|
13755
|
-
return { delayM: delay * fp, varM2:
|
|
13930
|
+
return { delayM: delay * fp, varM2: varVert * fp * fp };
|
|
13756
13931
|
}
|
|
13757
13932
|
/** Find the four IGPs bracketing a pierce point (RTKLIB `searchigp`). */
|
|
13758
13933
|
searchIgp(latP, lonP) {
|
|
@@ -15167,10 +15342,10 @@ function sagnac2(pos, travelTimeS) {
|
|
|
15167
15342
|
function sbasAirTropoVar(elRad) {
|
|
15168
15343
|
const elDeg = elRad * 180 / Math.PI;
|
|
15169
15344
|
const sigMp = 0.13 + 0.53 * Math.exp(-elDeg / 10);
|
|
15170
|
-
const
|
|
15345
|
+
const NOISE_DIVG_AADA = 0.36;
|
|
15171
15346
|
const m = 1.001 / Math.sqrt(2001e-6 + Math.sin(elRad) * Math.sin(elRad));
|
|
15172
15347
|
const sigTropo = 0.12 * m;
|
|
15173
|
-
return sigMp * sigMp +
|
|
15348
|
+
return sigMp * sigMp + NOISE_DIVG_AADA * NOISE_DIVG_AADA + sigTropo * sigTropo;
|
|
15174
15349
|
}
|
|
15175
15350
|
function invertMatrix(A) {
|
|
15176
15351
|
const n = A.length;
|
|
@@ -17781,6 +17956,8 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
17781
17956
|
RTCM3_MESSAGE_NAMES,
|
|
17782
17957
|
Rtcm3Decoder,
|
|
17783
17958
|
RtkFloatEngine,
|
|
17959
|
+
SBAS_L5_MT_NAMES,
|
|
17960
|
+
SBAS_L5_PREAMBLE_UW,
|
|
17784
17961
|
SECONDS_IN_DAY,
|
|
17785
17962
|
SECONDS_IN_HOUR,
|
|
17786
17963
|
SECONDS_IN_MINUTE,
|
|
@@ -17854,6 +18031,7 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
17854
18031
|
euclidean3D,
|
|
17855
18032
|
extractWidelaneArcs,
|
|
17856
18033
|
feedGeoBlock,
|
|
18034
|
+
feedGeoL5Block,
|
|
17857
18035
|
fetchSourcetable,
|
|
17858
18036
|
findSatBias,
|
|
17859
18037
|
fixPppPosition,
|
|
@@ -17930,6 +18108,8 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
17930
18108
|
hdrLine,
|
|
17931
18109
|
horizonDistance,
|
|
17932
18110
|
ionoFree,
|
|
18111
|
+
isSbasL1Preamble,
|
|
18112
|
+
isSbasL5Correction,
|
|
17933
18113
|
keplerPosition,
|
|
17934
18114
|
klobucharDelay,
|
|
17935
18115
|
lambdaReduction,
|
|
@@ -17960,6 +18140,7 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
17960
18140
|
parseSbfBdsNav,
|
|
17961
18141
|
parseSbfCnav,
|
|
17962
18142
|
parseSbfGalNav,
|
|
18143
|
+
parseSbfGeoL5,
|
|
17963
18144
|
parseSbfGeoNav,
|
|
17964
18145
|
parseSbfGloNav,
|
|
17965
18146
|
parseSbfGpsNav,
|
|
@@ -17994,6 +18175,10 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
17994
18175
|
rhumbLine,
|
|
17995
18176
|
rtcm3Constellation,
|
|
17996
18177
|
satClockCorrection,
|
|
18178
|
+
sbasIonoDeg,
|
|
18179
|
+
sbasL5MessageName,
|
|
18180
|
+
sbasL5MessageType,
|
|
18181
|
+
sbasLongTermDeg,
|
|
17997
18182
|
sbasProtectionLevels,
|
|
17998
18183
|
sbfCrc16,
|
|
17999
18184
|
scanSbfFrames,
|
package/dist/index.d.cts
CHANGED
|
@@ -12,13 +12,13 @@ export { C as ClkFile, I as IonexGrid, S as Sp3File, a as Sp3Sample, c as clkBia
|
|
|
12
12
|
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';
|
|
13
13
|
export { MessageTypeStats, MsmEpoch, MsmSatObs, MsmSignal, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, StationMeta, StreamStats, createStationMeta, createStreamStats, decodeMsmFull, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats } from './rtcm3.cjs';
|
|
14
14
|
export { UbxCnavResult, UbxFrame, UbxIonoUtcResult, UbxMeasurement, UbxNavOptions, UbxNavResult, UbxParseResult, UbxPvtResult, UbxRawNavOptions, UbxRawNavResult, UbxRawxEpoch, parseUbxCnav, parseUbxIonoUtc, parseUbxNav, parseUbxPvt, parseUbxRawNav, parseUbxRawx, ubxFrames } from './ubx.cjs';
|
|
15
|
-
export { HasMessage, SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGeoNavResult, SbfGloNavResult, SbfGpsNavResult, SbfHasMessage, SbfHasResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfNavCounts, SbfNavigation, SbfParseResult, SbfPvt, SbfPvtResult, SbfReceiverSetup, decodeSbfNavigation, feedGeoBlock, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfPvt, parseSbfReceiverSetup, sbfCrc16, scanSbfFrames } from './sbf.cjs';
|
|
15
|
+
export { DfmcCensus, DfmcMessageCb, GeoL5Result, HasMessage, SBAS_L5_MT_NAMES, SBAS_L5_PREAMBLE_UW, SbasMessageCb, SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGeoL5Result, SbfGeoNavResult, SbfGloNavResult, SbfGpsNavResult, SbfHasMessage, SbfHasResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfNavCounts, SbfNavigation, SbfParseResult, SbfPvt, SbfPvtResult, SbfReceiverSetup, decodeSbfNavigation, feedGeoBlock, feedGeoL5Block, isSbasL1Preamble, isSbasL5Correction, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoL5, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfPvt, parseSbfReceiverSetup, sbasL5MessageName, sbasL5MessageType, sbfCrc16, scanSbfFrames } from './sbf.cjs';
|
|
16
16
|
export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, NovatelPvtResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelPvt, parseNovatelRange } from './novatel.cjs';
|
|
17
17
|
export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, TrimbleParseResult, parseTrimble, parseTrimbleNav, trimbleFrames } from './trimble.cjs';
|
|
18
18
|
export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.cjs';
|
|
19
19
|
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';
|
|
20
20
|
export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.cjs';
|
|
21
|
-
export { AntennaOffset, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, RawObservation, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkTrackPoint, SatGeom, SbasCorrectionSource, SbasIonoDelay, SbasProcessor, SbasSatCorrection, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, resolvePppAmbiguities, satClockCorrection, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.cjs';
|
|
21
|
+
export { AntennaOffset, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, RawObservation, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkTrackPoint, SatGeom, SbasCorrectionSource, SbasIonoDelay, SbasProcessor, SbasSatCorrection, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.cjs';
|
|
22
22
|
export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.cjs';
|
|
23
23
|
export { CompleteSatSignal, CompleteSignalStats, CompletenessAccumulator, CompletenessResult, CycleSlipAccumulator, CycleSlipEvent, CycleSlipResult, CycleSlipSignalStats, IonoAccumulator, IonoDcbResult, IonoPoint, IonoRatePoint, IonoRateSeries, IonoResult, IonoSeries, MultipathAccumulator, MultipathPoint, MultipathResult, MultipathSeries, MultipathSignalStat, QualityResult, SatDcbMap, analyzeQuality, applyIonoDcb, computeIonoRate, detrendIonoArcs, parseSinexBiasDcb } from './analysis.cjs';
|
|
24
24
|
export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -12,13 +12,13 @@ export { C as ClkFile, I as IonexGrid, S as Sp3File, a as Sp3Sample, c as clkBia
|
|
|
12
12
|
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';
|
|
13
13
|
export { MessageTypeStats, MsmEpoch, MsmSatObs, MsmSignal, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, StationMeta, StreamStats, createStationMeta, createStreamStats, decodeMsmFull, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats } from './rtcm3.js';
|
|
14
14
|
export { UbxCnavResult, UbxFrame, UbxIonoUtcResult, UbxMeasurement, UbxNavOptions, UbxNavResult, UbxParseResult, UbxPvtResult, UbxRawNavOptions, UbxRawNavResult, UbxRawxEpoch, parseUbxCnav, parseUbxIonoUtc, parseUbxNav, parseUbxPvt, parseUbxRawNav, parseUbxRawx, ubxFrames } from './ubx.js';
|
|
15
|
-
export { HasMessage, SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGeoNavResult, SbfGloNavResult, SbfGpsNavResult, SbfHasMessage, SbfHasResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfNavCounts, SbfNavigation, SbfParseResult, SbfPvt, SbfPvtResult, SbfReceiverSetup, decodeSbfNavigation, feedGeoBlock, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfPvt, parseSbfReceiverSetup, sbfCrc16, scanSbfFrames } from './sbf.js';
|
|
15
|
+
export { DfmcCensus, DfmcMessageCb, GeoL5Result, HasMessage, SBAS_L5_MT_NAMES, SBAS_L5_PREAMBLE_UW, SbasMessageCb, SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGeoL5Result, SbfGeoNavResult, SbfGloNavResult, SbfGpsNavResult, SbfHasMessage, SbfHasResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfNavCounts, SbfNavigation, SbfParseResult, SbfPvt, SbfPvtResult, SbfReceiverSetup, decodeSbfNavigation, feedGeoBlock, feedGeoL5Block, isSbasL1Preamble, isSbasL5Correction, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoL5, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfPvt, parseSbfReceiverSetup, sbasL5MessageName, sbasL5MessageType, sbfCrc16, scanSbfFrames } from './sbf.js';
|
|
16
16
|
export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, NovatelPvtResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelPvt, parseNovatelRange } from './novatel.js';
|
|
17
17
|
export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, TrimbleParseResult, parseTrimble, parseTrimbleNav, trimbleFrames } from './trimble.js';
|
|
18
18
|
export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.js';
|
|
19
19
|
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';
|
|
20
20
|
export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.js';
|
|
21
|
-
export { AntennaOffset, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, RawObservation, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkTrackPoint, SatGeom, SbasCorrectionSource, SbasIonoDelay, SbasProcessor, SbasSatCorrection, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, resolvePppAmbiguities, satClockCorrection, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.js';
|
|
21
|
+
export { AntennaOffset, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, RawObservation, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkTrackPoint, SatGeom, SbasCorrectionSource, SbasIonoDelay, SbasProcessor, SbasSatCorrection, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.js';
|
|
22
22
|
export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.js';
|
|
23
23
|
export { CompleteSatSignal, CompleteSignalStats, CompletenessAccumulator, CompletenessResult, CycleSlipAccumulator, CycleSlipEvent, CycleSlipResult, CycleSlipSignalStats, IonoAccumulator, IonoDcbResult, IonoPoint, IonoRatePoint, IonoRateSeries, IonoResult, IonoSeries, MultipathAccumulator, MultipathPoint, MultipathResult, MultipathSeries, MultipathSignalStat, QualityResult, SatDcbMap, analyzeQuality, applyIonoDcb, computeIonoRate, detrendIonoArcs, parseSinexBiasDcb } from './analysis.js';
|
|
24
24
|
export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.js';
|
package/dist/index.js
CHANGED
|
@@ -53,13 +53,19 @@ import {
|
|
|
53
53
|
ubxFrames
|
|
54
54
|
} from "./chunk-MRC6LIPM.js";
|
|
55
55
|
import {
|
|
56
|
+
SBAS_L5_MT_NAMES,
|
|
57
|
+
SBAS_L5_PREAMBLE_UW,
|
|
56
58
|
crc16,
|
|
57
59
|
decodeSbfNavigation,
|
|
58
60
|
feedGeoBlock,
|
|
61
|
+
feedGeoL5Block,
|
|
62
|
+
isSbasL1Preamble,
|
|
63
|
+
isSbasL5Correction,
|
|
59
64
|
parseSbfAlmanac,
|
|
60
65
|
parseSbfBdsNav,
|
|
61
66
|
parseSbfCnav,
|
|
62
67
|
parseSbfGalNav,
|
|
68
|
+
parseSbfGeoL5,
|
|
63
69
|
parseSbfGeoNav,
|
|
64
70
|
parseSbfGloNav,
|
|
65
71
|
parseSbfGpsNav,
|
|
@@ -69,8 +75,10 @@ import {
|
|
|
69
75
|
parseSbfNav,
|
|
70
76
|
parseSbfPvt,
|
|
71
77
|
parseSbfReceiverSetup,
|
|
78
|
+
sbasL5MessageName,
|
|
79
|
+
sbasL5MessageType,
|
|
72
80
|
scanSbfFrames
|
|
73
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-UHLUAU6H.js";
|
|
74
82
|
import "./chunk-FA2UTLEQ.js";
|
|
75
83
|
import {
|
|
76
84
|
OEM4_HLEN,
|
|
@@ -160,6 +168,8 @@ import {
|
|
|
160
168
|
postProcessRtk,
|
|
161
169
|
resolvePppAmbiguities,
|
|
162
170
|
satClockCorrection,
|
|
171
|
+
sbasIonoDeg,
|
|
172
|
+
sbasLongTermDeg,
|
|
163
173
|
sbasProtectionLevels,
|
|
164
174
|
solidEarthTide,
|
|
165
175
|
solveDgnss,
|
|
@@ -168,7 +178,7 @@ import {
|
|
|
168
178
|
sunEcef,
|
|
169
179
|
toRtkEpoch,
|
|
170
180
|
wlWavelength
|
|
171
|
-
} from "./chunk-
|
|
181
|
+
} from "./chunk-SWVIBUHS.js";
|
|
172
182
|
import "./chunk-WQX354KD.js";
|
|
173
183
|
import {
|
|
174
184
|
almanacEpochMs,
|
|
@@ -424,6 +434,8 @@ export {
|
|
|
424
434
|
RTCM3_MESSAGE_NAMES,
|
|
425
435
|
Rtcm3Decoder,
|
|
426
436
|
RtkFloatEngine,
|
|
437
|
+
SBAS_L5_MT_NAMES,
|
|
438
|
+
SBAS_L5_PREAMBLE_UW,
|
|
427
439
|
SECONDS_IN_DAY,
|
|
428
440
|
SECONDS_IN_HOUR,
|
|
429
441
|
SECONDS_IN_MINUTE,
|
|
@@ -497,6 +509,7 @@ export {
|
|
|
497
509
|
euclidean3D,
|
|
498
510
|
extractWidelaneArcs,
|
|
499
511
|
feedGeoBlock,
|
|
512
|
+
feedGeoL5Block,
|
|
500
513
|
fetchSourcetable,
|
|
501
514
|
findSatBias,
|
|
502
515
|
fixPppPosition,
|
|
@@ -573,6 +586,8 @@ export {
|
|
|
573
586
|
hdrLine,
|
|
574
587
|
horizonDistance,
|
|
575
588
|
ionoFree,
|
|
589
|
+
isSbasL1Preamble,
|
|
590
|
+
isSbasL5Correction,
|
|
576
591
|
keplerPosition,
|
|
577
592
|
klobucharDelay,
|
|
578
593
|
lambdaReduction,
|
|
@@ -603,6 +618,7 @@ export {
|
|
|
603
618
|
parseSbfBdsNav,
|
|
604
619
|
parseSbfCnav,
|
|
605
620
|
parseSbfGalNav,
|
|
621
|
+
parseSbfGeoL5,
|
|
606
622
|
parseSbfGeoNav,
|
|
607
623
|
parseSbfGloNav,
|
|
608
624
|
parseSbfGpsNav,
|
|
@@ -637,6 +653,10 @@ export {
|
|
|
637
653
|
rhumbLine,
|
|
638
654
|
rtcm3Constellation,
|
|
639
655
|
satClockCorrection,
|
|
656
|
+
sbasIonoDeg,
|
|
657
|
+
sbasL5MessageName,
|
|
658
|
+
sbasL5MessageType,
|
|
659
|
+
sbasLongTermDeg,
|
|
640
660
|
sbasProtectionLevels,
|
|
641
661
|
crc16 as sbfCrc16,
|
|
642
662
|
scanSbfFrames,
|