gnss-js 2.8.2 → 2.10.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-6SWJTN6H.js → chunk-56HM5B6T.js} +19 -5
- package/dist/{chunk-5OWRCF56.js → chunk-7T5DLVZL.js} +43 -15
- package/dist/{chunk-CLNLOYBX.js → chunk-K3GLUWZI.js} +62 -1
- package/dist/{chunk-7GNRNKBR.js → chunk-N6GQUHM4.js} +27 -9
- package/dist/index.cjs +172 -46
- package/dist/index.d.cts +5 -4
- package/dist/index.d.ts +5 -4
- package/dist/index.js +14 -4
- package/dist/msm-CcQJV3PC.d.ts +108 -0
- package/dist/msm-DWtoTvx2.d.cts +108 -0
- package/dist/orbit.cjs +46 -15
- package/dist/orbit.d.cts +39 -4
- package/dist/orbit.d.ts +39 -4
- package/dist/orbit.js +7 -1
- package/dist/positioning.cjs +109 -26
- package/dist/positioning.d.cts +19 -1
- package/dist/positioning.d.ts +19 -1
- package/dist/positioning.js +4 -2
- package/dist/rinex.cjs +20 -5
- package/dist/rinex.d.cts +10 -1
- package/dist/rinex.d.ts +10 -1
- package/dist/rinex.js +3 -1
- package/dist/rtcm3.cjs +27 -9
- package/dist/rtcm3.d.cts +6 -88
- package/dist/rtcm3.d.ts +6 -88
- package/dist/rtcm3.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -36,6 +36,7 @@ __export(src_exports, {
|
|
|
36
36
|
DELTA_GLO_L2: () => DELTA_GLO_L2,
|
|
37
37
|
DUAL_FREQ_PAIRS: () => DUAL_FREQ_PAIRS,
|
|
38
38
|
EMPTY_WARNINGS: () => EMPTY_WARNINGS,
|
|
39
|
+
EPHEMERIS_VALIDITY_MS: () => EPHEMERIS_VALIDITY_MS,
|
|
39
40
|
FREQ: () => FREQ,
|
|
40
41
|
FREQ_BDS_B1A: () => FREQ_BDS_B1A,
|
|
41
42
|
FREQ_BDS_B1C: () => FREQ_BDS_B1C,
|
|
@@ -252,6 +253,7 @@ __export(src_exports, {
|
|
|
252
253
|
hdrLine: () => hdrLine,
|
|
253
254
|
horizonDistance: () => horizonDistance,
|
|
254
255
|
ionoFree: () => ionoFree,
|
|
256
|
+
isEphemerisValid: () => isEphemerisValid,
|
|
255
257
|
isSbasL1Preamble: () => isSbasL1Preamble,
|
|
256
258
|
isSbasL5Correction: () => isSbasL5Correction,
|
|
257
259
|
isSsrMessage: () => isSsrMessage,
|
|
@@ -262,8 +264,10 @@ __export(src_exports, {
|
|
|
262
264
|
looksLikeRtcm2: () => looksLikeRtcm2,
|
|
263
265
|
maskRadForAzimuth: () => maskRadForAzimuth,
|
|
264
266
|
meridianArc: () => meridianArc,
|
|
267
|
+
modalIntervalS: () => modalIntervalS,
|
|
265
268
|
moonEcef: () => moonEcef,
|
|
266
269
|
navTimesFromEph: () => navTimesFromEph,
|
|
270
|
+
nearestValidEphemeris: () => nearestValidEphemeris,
|
|
267
271
|
niellMapping: () => niellMapping,
|
|
268
272
|
nlWavelength: () => nlWavelength,
|
|
269
273
|
nmeaCoordToDecimal: () => nmeaCoordToDecimal,
|
|
@@ -320,6 +324,7 @@ __export(src_exports, {
|
|
|
320
324
|
readString: () => readString,
|
|
321
325
|
reportDecodeError: () => reportDecodeError,
|
|
322
326
|
resetGloFreqCache: () => resetGloFreqCache,
|
|
327
|
+
resolveMsmRanges: () => resolveMsmRanges,
|
|
323
328
|
resolvePppAmbiguities: () => resolvePppAmbiguities,
|
|
324
329
|
rhumbLine: () => rhumbLine,
|
|
325
330
|
rtcm2Dgps: () => rtcm2Dgps,
|
|
@@ -4256,6 +4261,21 @@ function writeRinexObsBlob(header, epochs, obsTypes) {
|
|
|
4256
4261
|
comment: "Merged from multiple RINEX files"
|
|
4257
4262
|
});
|
|
4258
4263
|
}
|
|
4264
|
+
function modalIntervalS(epochs) {
|
|
4265
|
+
const counts = /* @__PURE__ */ new Map();
|
|
4266
|
+
for (let i = 1; i < epochs.length; i++) {
|
|
4267
|
+
const d = Math.round(epochs[i].time - epochs[i - 1].time);
|
|
4268
|
+
if (d > 0) counts.set(d, (counts.get(d) ?? 0) + 1);
|
|
4269
|
+
}
|
|
4270
|
+
let best = null;
|
|
4271
|
+
let bestN = 0;
|
|
4272
|
+
for (const [d, n] of counts)
|
|
4273
|
+
if (n > bestN || n === bestN && best !== null && d < best) {
|
|
4274
|
+
best = d;
|
|
4275
|
+
bestN = n;
|
|
4276
|
+
}
|
|
4277
|
+
return best === null ? null : best / 1e3;
|
|
4278
|
+
}
|
|
4259
4279
|
async function writeModernObsBlob(header, epochs, obsTypes, opts) {
|
|
4260
4280
|
if (epochs.length === 0) return new Blob([], { type: "application/gzip" });
|
|
4261
4281
|
const sink = createGzipLineSink();
|
|
@@ -4302,11 +4322,9 @@ async function writeModernObsBlob(header, epochs, obsTypes, opts) {
|
|
|
4302
4322
|
"TIME OF LAST OBS"
|
|
4303
4323
|
)
|
|
4304
4324
|
);
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
|
|
4308
|
-
sink.push(hdrLine(fmtF(interval, 10, 3), "INTERVAL"));
|
|
4309
|
-
}
|
|
4325
|
+
const interval = modalIntervalS(epochs);
|
|
4326
|
+
if (interval !== null && interval < 3600) {
|
|
4327
|
+
sink.push(hdrLine(fmtF(interval, 10, 3), "INTERVAL"));
|
|
4310
4328
|
}
|
|
4311
4329
|
if (header.glonassSlots && Object.keys(header.glonassSlots).length > 0) {
|
|
4312
4330
|
const entries = Object.entries(header.glonassSlots).sort(
|
|
@@ -5941,12 +5959,14 @@ function satPrn(sys, satIdx1) {
|
|
|
5941
5959
|
const num = sys === "S" ? satIdx1 + 119 : satIdx1;
|
|
5942
5960
|
return `${prefix}${String(num).padStart(2, "0")}`;
|
|
5943
5961
|
}
|
|
5944
|
-
function decodeMsmFull(frame) {
|
|
5962
|
+
function decodeMsmFull(frame, opts = {}) {
|
|
5945
5963
|
const type = frame.messageType;
|
|
5946
5964
|
const sys = msmSystem(type);
|
|
5947
5965
|
if (!sys) return null;
|
|
5948
5966
|
const variant = type % 10;
|
|
5949
|
-
if (variant <
|
|
5967
|
+
if (variant < 1 || variant > 7) return null;
|
|
5968
|
+
const compact = variant <= 3;
|
|
5969
|
+
if (compact && !opts.compactMsm) return null;
|
|
5950
5970
|
const payload = frame.payload;
|
|
5951
5971
|
if (!payload || payload.length < 10) return null;
|
|
5952
5972
|
try {
|
|
@@ -5991,7 +6011,9 @@ function decodeMsmFull(frame) {
|
|
|
5991
6011
|
const rrmod = new Float64Array(numSat);
|
|
5992
6012
|
const extsat = new Int8Array(numSat);
|
|
5993
6013
|
const rdop = new Float64Array(numSat);
|
|
5994
|
-
if (
|
|
6014
|
+
if (compact) {
|
|
6015
|
+
for (let j = 0; j < numSat; j++) rrmod[j] = bits.readU(10) / 1024;
|
|
6016
|
+
} else if (variant === 4 || variant === 6) {
|
|
5995
6017
|
for (let j = 0; j < numSat; j++) rrint[j] = bits.readU(8);
|
|
5996
6018
|
for (let j = 0; j < numSat; j++) rrmod[j] = bits.readU(10) / 1024;
|
|
5997
6019
|
} else {
|
|
@@ -6017,7 +6039,18 @@ function decodeMsmFull(frame) {
|
|
|
6017
6039
|
psr.fill(-1e30);
|
|
6018
6040
|
cp.fill(-1e30);
|
|
6019
6041
|
dop.fill(-1e30);
|
|
6020
|
-
if (variant ===
|
|
6042
|
+
if (variant === 1) {
|
|
6043
|
+
for (let i = 0; i < activeCells; i++) psr[i] = bits.readS(15) / 2 ** 24;
|
|
6044
|
+
} else if (variant === 2) {
|
|
6045
|
+
for (let i = 0; i < activeCells; i++) cp[i] = bits.readS(22) / 2 ** 29;
|
|
6046
|
+
for (let i = 0; i < activeCells; i++) ll[i] = bits.readU(4);
|
|
6047
|
+
for (let i = 0; i < activeCells; i++) hc[i] = bits.readU(1);
|
|
6048
|
+
} else if (variant === 3) {
|
|
6049
|
+
for (let i = 0; i < activeCells; i++) psr[i] = bits.readS(15) / 2 ** 24;
|
|
6050
|
+
for (let i = 0; i < activeCells; i++) cp[i] = bits.readS(22) / 2 ** 29;
|
|
6051
|
+
for (let i = 0; i < activeCells; i++) ll[i] = bits.readU(4);
|
|
6052
|
+
for (let i = 0; i < activeCells; i++) hc[i] = bits.readU(1);
|
|
6053
|
+
} else if (variant === 4) {
|
|
6021
6054
|
for (let i = 0; i < activeCells; i++) psr[i] = bits.readS(15) / 2 ** 24;
|
|
6022
6055
|
for (let i = 0; i < activeCells; i++) cp[i] = bits.readS(22) / 2 ** 29;
|
|
6023
6056
|
for (let i = 0; i < activeCells; i++) ll[i] = bits.readU(4);
|
|
@@ -6093,8 +6126,10 @@ function decodeMsmFull(frame) {
|
|
|
6093
6126
|
if (cnrVal > 0) {
|
|
6094
6127
|
signal.cn0 = cnrVal;
|
|
6095
6128
|
}
|
|
6096
|
-
|
|
6097
|
-
|
|
6129
|
+
if (variant !== 1) {
|
|
6130
|
+
signal.lockTime = lockTimeSec(type, ll[cellIdx]);
|
|
6131
|
+
signal.halfCycle = hc[cellIdx] === 1;
|
|
6132
|
+
}
|
|
6098
6133
|
signals.push(signal);
|
|
6099
6134
|
cellIdx++;
|
|
6100
6135
|
}
|
|
@@ -6106,7 +6141,8 @@ function decodeMsmFull(frame) {
|
|
|
6106
6141
|
messageType: type,
|
|
6107
6142
|
epochMs,
|
|
6108
6143
|
system: sys,
|
|
6109
|
-
observations
|
|
6144
|
+
observations,
|
|
6145
|
+
...compact ? { rangeModulo1ms: true } : {}
|
|
6110
6146
|
};
|
|
6111
6147
|
} catch (err) {
|
|
6112
6148
|
reportDecodeError("msm", err);
|
|
@@ -6260,8 +6296,8 @@ function decodeLegacyObs(frame) {
|
|
|
6260
6296
|
}
|
|
6261
6297
|
return { messageType: type, epochMs, system, observations };
|
|
6262
6298
|
}
|
|
6263
|
-
function decodeObs(frame) {
|
|
6264
|
-
return decodeMsmFull(frame) ?? decodeLegacyObs(frame);
|
|
6299
|
+
function decodeObs(frame, opts = {}) {
|
|
6300
|
+
return decodeMsmFull(frame, opts) ?? decodeLegacyObs(frame);
|
|
6265
6301
|
}
|
|
6266
6302
|
|
|
6267
6303
|
// src/rtcm3/ssr.ts
|
|
@@ -12312,6 +12348,42 @@ function invertMatrix(A) {
|
|
|
12312
12348
|
return M.map((row) => row.slice(n));
|
|
12313
12349
|
}
|
|
12314
12350
|
|
|
12351
|
+
// src/orbit/validity.ts
|
|
12352
|
+
var H = 36e5;
|
|
12353
|
+
var MIN = 6e4;
|
|
12354
|
+
var EPHEMERIS_VALIDITY_MS = {
|
|
12355
|
+
G: 2 * H,
|
|
12356
|
+
J: 2 * H,
|
|
12357
|
+
E: 2.5 * H,
|
|
12358
|
+
C: 90 * MIN,
|
|
12359
|
+
R: 15 * MIN,
|
|
12360
|
+
I: 2 * H,
|
|
12361
|
+
S: 6 * MIN
|
|
12362
|
+
};
|
|
12363
|
+
function tocDistanceMs(eph, tGpsMs) {
|
|
12364
|
+
const t = eph.system === "R" || eph.system === "S" ? tGpsMs - getGpsLeap(new Date(tGpsMs)) * 1e3 : tGpsMs;
|
|
12365
|
+
return Math.abs(eph.tocDate.getTime() - t);
|
|
12366
|
+
}
|
|
12367
|
+
function isEphemerisValid(eph, tGpsMs) {
|
|
12368
|
+
const w = EPHEMERIS_VALIDITY_MS[eph.system];
|
|
12369
|
+
return w !== void 0 && tocDistanceMs(eph, tGpsMs) <= w;
|
|
12370
|
+
}
|
|
12371
|
+
function nearestValidEphemeris(ephs, tGpsMs) {
|
|
12372
|
+
if (!ephs) return null;
|
|
12373
|
+
let best = null;
|
|
12374
|
+
let bestDt = Infinity;
|
|
12375
|
+
for (const eph of ephs) {
|
|
12376
|
+
const dt = tocDistanceMs(eph, tGpsMs);
|
|
12377
|
+
const w = EPHEMERIS_VALIDITY_MS[eph.system];
|
|
12378
|
+
if (w === void 0 || dt > w) continue;
|
|
12379
|
+
if (dt < bestDt) {
|
|
12380
|
+
bestDt = dt;
|
|
12381
|
+
best = eph;
|
|
12382
|
+
}
|
|
12383
|
+
}
|
|
12384
|
+
return best;
|
|
12385
|
+
}
|
|
12386
|
+
|
|
12315
12387
|
// src/orbit/almanac.ts
|
|
12316
12388
|
var GM_GPS = 3986005e8;
|
|
12317
12389
|
var GM_GAL = 3986004418e5;
|
|
@@ -12808,18 +12880,7 @@ function computeAllPositions(ephemerides, times, rxPos) {
|
|
|
12808
12880
|
return { prns, times, positions };
|
|
12809
12881
|
}
|
|
12810
12882
|
function selectBest(ephs, timeMs) {
|
|
12811
|
-
|
|
12812
|
-
let bestDt = Infinity;
|
|
12813
|
-
for (const eph of ephs) {
|
|
12814
|
-
const dt = Math.abs(timeMs - eph.tocDate.getTime());
|
|
12815
|
-
const maxAge = eph.system === "R" || eph.system === "S" ? 18e5 : 4 * 36e5;
|
|
12816
|
-
if (dt > maxAge) continue;
|
|
12817
|
-
if (dt < bestDt) {
|
|
12818
|
-
bestDt = dt;
|
|
12819
|
-
best = eph;
|
|
12820
|
-
}
|
|
12821
|
-
}
|
|
12822
|
-
return best;
|
|
12883
|
+
return nearestValidEphemeris(ephs, timeMs);
|
|
12823
12884
|
}
|
|
12824
12885
|
var GPS_EPOCH_MS24 = START_GPS_TIME.getTime();
|
|
12825
12886
|
var MS_PER_WEEK13 = 7 * 864e5;
|
|
@@ -13060,14 +13121,14 @@ function computeVisibilityFromPositions(all, elevationMaskDeg = 10) {
|
|
|
13060
13121
|
}
|
|
13061
13122
|
|
|
13062
13123
|
// src/frames/index.ts
|
|
13063
|
-
var
|
|
13124
|
+
var H2 = (t, d, r, tDot, dDot, rDot, epoch) => ({ t, d, r, tDot, dDot, rDot, epoch });
|
|
13064
13125
|
var Z = [0, 0, 0];
|
|
13065
13126
|
var FROM_ITRF2020 = {
|
|
13066
|
-
ITRF2014:
|
|
13067
|
-
ITRF2008:
|
|
13068
|
-
ITRF2005:
|
|
13069
|
-
ITRF2000:
|
|
13070
|
-
ITRF97:
|
|
13127
|
+
ITRF2014: H2([-1.4, -0.9, 1.4], -0.42, Z, [0, -0.1, 0.2], 0, Z, 2015),
|
|
13128
|
+
ITRF2008: H2([0.2, 1, 3.3], -0.29, Z, [0, -0.1, 0.1], 0.03, Z, 2015),
|
|
13129
|
+
ITRF2005: H2([2.7, 0.1, -1.4], 0.65, Z, [0.3, -0.1, 0.1], 0.03, Z, 2015),
|
|
13130
|
+
ITRF2000: H2([-0.2, 0.8, -34.2], 2.25, Z, [0.1, 0, -1.7], 0.11, Z, 2015),
|
|
13131
|
+
ITRF97: H2(
|
|
13071
13132
|
[6.5, -3.9, -77.9],
|
|
13072
13133
|
3.98,
|
|
13073
13134
|
[0, 0, 0.36],
|
|
@@ -13076,7 +13137,7 @@ var FROM_ITRF2020 = {
|
|
|
13076
13137
|
[0, 0, 0.02],
|
|
13077
13138
|
2015
|
|
13078
13139
|
),
|
|
13079
|
-
ITRF96:
|
|
13140
|
+
ITRF96: H2(
|
|
13080
13141
|
[6.5, -3.9, -77.9],
|
|
13081
13142
|
3.98,
|
|
13082
13143
|
[0, 0, 0.36],
|
|
@@ -13085,7 +13146,7 @@ var FROM_ITRF2020 = {
|
|
|
13085
13146
|
[0, 0, 0.02],
|
|
13086
13147
|
2015
|
|
13087
13148
|
),
|
|
13088
|
-
ITRF94:
|
|
13149
|
+
ITRF94: H2(
|
|
13089
13150
|
[6.5, -3.9, -77.9],
|
|
13090
13151
|
3.98,
|
|
13091
13152
|
[0, 0, 0.36],
|
|
@@ -13094,7 +13155,7 @@ var FROM_ITRF2020 = {
|
|
|
13094
13155
|
[0, 0, 0.02],
|
|
13095
13156
|
2015
|
|
13096
13157
|
),
|
|
13097
|
-
ITRF93:
|
|
13158
|
+
ITRF93: H2(
|
|
13098
13159
|
[-65.8, 1.9, -71.3],
|
|
13099
13160
|
4.47,
|
|
13100
13161
|
[-3.36, -4.33, 0.75],
|
|
@@ -13103,7 +13164,7 @@ var FROM_ITRF2020 = {
|
|
|
13103
13164
|
[-0.11, -0.19, 0.07],
|
|
13104
13165
|
2015
|
|
13105
13166
|
),
|
|
13106
|
-
ITRF92:
|
|
13167
|
+
ITRF92: H2(
|
|
13107
13168
|
[14.5, -1.9, -85.9],
|
|
13108
13169
|
3.27,
|
|
13109
13170
|
[0, 0, 0.36],
|
|
@@ -13112,7 +13173,7 @@ var FROM_ITRF2020 = {
|
|
|
13112
13173
|
[0, 0, 0.02],
|
|
13113
13174
|
2015
|
|
13114
13175
|
),
|
|
13115
|
-
ITRF91:
|
|
13176
|
+
ITRF91: H2(
|
|
13116
13177
|
[26.5, 12.1, -91.9],
|
|
13117
13178
|
4.67,
|
|
13118
13179
|
[0, 0, 0.36],
|
|
@@ -13121,7 +13182,7 @@ var FROM_ITRF2020 = {
|
|
|
13121
13182
|
[0, 0, 0.02],
|
|
13122
13183
|
2015
|
|
13123
13184
|
),
|
|
13124
|
-
ITRF90:
|
|
13185
|
+
ITRF90: H2(
|
|
13125
13186
|
[24.5, 8.1, -107.9],
|
|
13126
13187
|
4.97,
|
|
13127
13188
|
[0, 0, 0.36],
|
|
@@ -13130,7 +13191,7 @@ var FROM_ITRF2020 = {
|
|
|
13130
13191
|
[0, 0, 0.02],
|
|
13131
13192
|
2015
|
|
13132
13193
|
),
|
|
13133
|
-
ITRF89:
|
|
13194
|
+
ITRF89: H2(
|
|
13134
13195
|
[29.5, 32.1, -145.9],
|
|
13135
13196
|
8.37,
|
|
13136
13197
|
[0, 0, 0.36],
|
|
@@ -13139,7 +13200,7 @@ var FROM_ITRF2020 = {
|
|
|
13139
13200
|
[0, 0, 0.02],
|
|
13140
13201
|
2015
|
|
13141
13202
|
),
|
|
13142
|
-
ITRF88:
|
|
13203
|
+
ITRF88: H2(
|
|
13143
13204
|
[24.5, -3.9, -169.9],
|
|
13144
13205
|
11.47,
|
|
13145
13206
|
[0.1, 0, 0.36],
|
|
@@ -13149,10 +13210,10 @@ var FROM_ITRF2020 = {
|
|
|
13149
13210
|
2015
|
|
13150
13211
|
),
|
|
13151
13212
|
/** ITRF2020 → ETRF2020, EPSG:10572 (epoch-1989 variant) */
|
|
13152
|
-
ETRF2020:
|
|
13213
|
+
ETRF2020: H2(Z, 0, Z, Z, 0, [0.086, 0.519, -0.753], 1989)
|
|
13153
13214
|
};
|
|
13154
|
-
var ITRF2014_TO_ETRF2014 =
|
|
13155
|
-
var ITRF2014_TO_ETRF2000 =
|
|
13215
|
+
var ITRF2014_TO_ETRF2014 = H2(Z, 0, Z, Z, 0, [0.085, 0.531, -0.77], 1989);
|
|
13216
|
+
var ITRF2014_TO_ETRF2000 = H2(
|
|
13156
13217
|
[54.7, 52.2, -74.1],
|
|
13157
13218
|
2.12,
|
|
13158
13219
|
[1.701, 10.29, -16.632],
|
|
@@ -13161,7 +13222,7 @@ var ITRF2014_TO_ETRF2000 = H(
|
|
|
13161
13222
|
[0.081, 0.49, -0.792],
|
|
13162
13223
|
2010
|
|
13163
13224
|
);
|
|
13164
|
-
var ITRF2014_TO_NAD83_2011 =
|
|
13225
|
+
var ITRF2014_TO_NAD83_2011 = H2(
|
|
13165
13226
|
[1005.3, -1909.21, -541.57],
|
|
13166
13227
|
0.36891,
|
|
13167
13228
|
[-26.78138, 0.42027, -10.93206],
|
|
@@ -14870,6 +14931,66 @@ var ZeroBaselineEngine = class {
|
|
|
14870
14931
|
}
|
|
14871
14932
|
};
|
|
14872
14933
|
|
|
14934
|
+
// src/positioning/msm-resolve.ts
|
|
14935
|
+
var LIGHT_MS = C_LIGHT / 1e3;
|
|
14936
|
+
var MAX_FRACTION_MISFIT = 0.25;
|
|
14937
|
+
function predictedRange(eph, timeMs, rx) {
|
|
14938
|
+
let tau = 0.075;
|
|
14939
|
+
for (let i = 0; i < 2; i++) {
|
|
14940
|
+
const tEmit = timeMs - tau * 1e3;
|
|
14941
|
+
const p = computeSatPosition(eph, tEmit);
|
|
14942
|
+
if (!Number.isFinite(p.x)) return null;
|
|
14943
|
+
const rho = Math.hypot(p.x - rx[0], p.y - rx[1], p.z - rx[2]);
|
|
14944
|
+
tau = rho / C_LIGHT;
|
|
14945
|
+
if (i === 1) return rho - C_LIGHT * satClockCorrection(eph, tEmit);
|
|
14946
|
+
}
|
|
14947
|
+
return null;
|
|
14948
|
+
}
|
|
14949
|
+
function moduloRange(sat) {
|
|
14950
|
+
for (const s of sat.signals)
|
|
14951
|
+
if (s.pseudorange !== void 0) return s.pseudorange;
|
|
14952
|
+
for (const s of sat.signals)
|
|
14953
|
+
if (s.phase !== void 0 && s.wavelength > 0)
|
|
14954
|
+
return s.phase * s.wavelength;
|
|
14955
|
+
return null;
|
|
14956
|
+
}
|
|
14957
|
+
function resolveMsmRanges(epoch, opts) {
|
|
14958
|
+
if (!epoch.rangeModulo1ms) return epoch;
|
|
14959
|
+
const cand = [];
|
|
14960
|
+
for (const sat of epoch.observations) {
|
|
14961
|
+
const eph = opts.ephFor(sat.prn);
|
|
14962
|
+
const mod = moduloRange(sat);
|
|
14963
|
+
if (!eph || mod === null) continue;
|
|
14964
|
+
const pred = predictedRange(eph, opts.timeMs, opts.rxEcef);
|
|
14965
|
+
if (pred === null) continue;
|
|
14966
|
+
cand.push({ sat, k: (pred - mod) / LIGHT_MS });
|
|
14967
|
+
}
|
|
14968
|
+
const { rangeModulo1ms: _drop, ...rest } = epoch;
|
|
14969
|
+
if (cand.length === 0) return { ...rest, observations: [] };
|
|
14970
|
+
let sx = 0;
|
|
14971
|
+
let sy = 0;
|
|
14972
|
+
for (const c of cand) {
|
|
14973
|
+
sx += Math.cos(2 * Math.PI * c.k);
|
|
14974
|
+
sy += Math.sin(2 * Math.PI * c.k);
|
|
14975
|
+
}
|
|
14976
|
+
const b = Math.atan2(sy, sx) / (2 * Math.PI);
|
|
14977
|
+
const observations = [];
|
|
14978
|
+
for (const { sat, k } of cand) {
|
|
14979
|
+
const n = Math.round(k - b);
|
|
14980
|
+
if (Math.abs(k - b - n) > MAX_FRACTION_MISFIT) continue;
|
|
14981
|
+
const add = n * LIGHT_MS;
|
|
14982
|
+
observations.push({
|
|
14983
|
+
...sat,
|
|
14984
|
+
signals: sat.signals.map((s) => ({
|
|
14985
|
+
...s,
|
|
14986
|
+
...s.pseudorange !== void 0 ? { pseudorange: s.pseudorange + add } : {},
|
|
14987
|
+
...s.phase !== void 0 && s.wavelength > 0 ? { phase: s.phase + add / s.wavelength } : {}
|
|
14988
|
+
}))
|
|
14989
|
+
});
|
|
14990
|
+
}
|
|
14991
|
+
return { ...rest, observations };
|
|
14992
|
+
}
|
|
14993
|
+
|
|
14873
14994
|
// src/positioning/sbas.ts
|
|
14874
14995
|
var P2_11 = 2 ** -11;
|
|
14875
14996
|
var P2_31 = 2 ** -31;
|
|
@@ -15837,7 +15958,7 @@ function moonEcef(timeMs) {
|
|
|
15837
15958
|
];
|
|
15838
15959
|
return eciToEcef(eci, gmst(timeMs));
|
|
15839
15960
|
}
|
|
15840
|
-
var
|
|
15961
|
+
var H22 = 0.6078;
|
|
15841
15962
|
var L2 = 0.0847;
|
|
15842
15963
|
var RE = 6378137;
|
|
15843
15964
|
var GM_SUN_RATIO = 332946.0482;
|
|
@@ -15862,7 +15983,7 @@ function solidEarthTide(rcv, sun, moon) {
|
|
|
15862
15983
|
];
|
|
15863
15984
|
const dot2 = rHat[0] * jHat[0] + rHat[1] * jHat[1] + rHat[2] * jHat[2];
|
|
15864
15985
|
const factor = ratio * RE * RE * RE * RE / (rj * rj * rj);
|
|
15865
|
-
const radialScale =
|
|
15986
|
+
const radialScale = H22 * (1.5 * dot2 * dot2 - 0.5);
|
|
15866
15987
|
const tanScale = 3 * L2 * dot2;
|
|
15867
15988
|
for (let k = 0; k < 3; k++) {
|
|
15868
15989
|
disp[k] += factor * (radialScale * rHat[k] + tanScale * (jHat[k] - dot2 * rHat[k]));
|
|
@@ -19522,6 +19643,7 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
19522
19643
|
DELTA_GLO_L2,
|
|
19523
19644
|
DUAL_FREQ_PAIRS,
|
|
19524
19645
|
EMPTY_WARNINGS,
|
|
19646
|
+
EPHEMERIS_VALIDITY_MS,
|
|
19525
19647
|
FREQ,
|
|
19526
19648
|
FREQ_BDS_B1A,
|
|
19527
19649
|
FREQ_BDS_B1C,
|
|
@@ -19738,6 +19860,7 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
19738
19860
|
hdrLine,
|
|
19739
19861
|
horizonDistance,
|
|
19740
19862
|
ionoFree,
|
|
19863
|
+
isEphemerisValid,
|
|
19741
19864
|
isSbasL1Preamble,
|
|
19742
19865
|
isSbasL5Correction,
|
|
19743
19866
|
isSsrMessage,
|
|
@@ -19748,8 +19871,10 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
19748
19871
|
looksLikeRtcm2,
|
|
19749
19872
|
maskRadForAzimuth,
|
|
19750
19873
|
meridianArc,
|
|
19874
|
+
modalIntervalS,
|
|
19751
19875
|
moonEcef,
|
|
19752
19876
|
navTimesFromEph,
|
|
19877
|
+
nearestValidEphemeris,
|
|
19753
19878
|
niellMapping,
|
|
19754
19879
|
nlWavelength,
|
|
19755
19880
|
nmeaCoordToDecimal,
|
|
@@ -19806,6 +19931,7 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
19806
19931
|
readString,
|
|
19807
19932
|
reportDecodeError,
|
|
19808
19933
|
resetGloFreqCache,
|
|
19934
|
+
resolveMsmRanges,
|
|
19809
19935
|
resolvePppAmbiguities,
|
|
19810
19936
|
rhumbLine,
|
|
19811
19937
|
rtcm2Dgps,
|
package/dist/index.d.cts
CHANGED
|
@@ -5,21 +5,22 @@ export { A as ARC_GAP_FACTOR, B as BAND_LABELS, a as BDS_SATELLITES, b as BdsSat
|
|
|
5
5
|
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';
|
|
6
6
|
export { deg2dms, deg2rad, euclidean3D, geodeticToGeohash, geodeticToMaidenhead, geodeticToUtm, greatCircleMidpoint, horizonDistance, meridianArc, rad2deg, rhumbLine, vincenty, vincentyDirect } from './coordinates.cjs';
|
|
7
7
|
export { c as clampUnit, e as ecefToGeodetic, g as geodeticToEcef, a as getAer, b as getEnuDifference } from './ecef-CF0uAysr.cjs';
|
|
8
|
-
export { BiasRecord, BiasSinex, CompactEpoch, CrxField, DiffState, EMPTY_WARNINGS, Nav4Input, RinexWarning, RinexWarnings, WarningAccumulator, WarningSeverity, WriteCrxOptions, biasMetres, createGzipLineSink, crxDecompress, crxRepair, findSatBias, fmtD, fmtF, hdrLine, padL, padR, parseBiasSinex, parseCrxDataLine, stationHeaderLines, writeCrx, writeModernObsBlob, writeRinex2ObsBlob, writeRinex4ObsBlob, writeRinexNav, writeRinexNav4, writeRinexObsBlob } from './rinex.cjs';
|
|
8
|
+
export { BiasRecord, BiasSinex, CompactEpoch, CrxField, DiffState, EMPTY_WARNINGS, Nav4Input, RinexWarning, RinexWarnings, WarningAccumulator, WarningSeverity, WriteCrxOptions, biasMetres, createGzipLineSink, crxDecompress, crxRepair, findSatBias, fmtD, fmtF, hdrLine, modalIntervalS, padL, padR, parseBiasSinex, parseCrxDataLine, stationHeaderLines, writeCrx, writeModernObsBlob, writeRinex2ObsBlob, writeRinex4ObsBlob, writeRinexNav, writeRinexNav4, writeRinexObsBlob } from './rinex.cjs';
|
|
9
9
|
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';
|
|
10
10
|
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';
|
|
11
11
|
export { C as ClkFile, I as IonexGrid, S as Sp3File, a as Sp3Sample, c as clkBias, p as parseClk, b as parseIonex, d as parseSp3, s as sp3Position } from './clk-DGVBGRzA.cjs';
|
|
12
12
|
export { RTCM2_MESSAGE_NAMES, Rtcm2Correction, Rtcm2Decoder, Rtcm2Frame, Rtcm2ObsRecord, Rtcm2Station, looksLikeRtcm2, rtcm2Dgps, rtcm2Observation, rtcm2Station, rtcm2Text, rtcm2Time } from './rtcm2.cjs';
|
|
13
13
|
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-BAnBLLB9.cjs';
|
|
14
|
-
export { IgsSsrIonoLayer, IgsSsrMessage, MessageTypeStats,
|
|
14
|
+
export { IgsSsrIonoLayer, IgsSsrMessage, MessageTypeStats, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, SsrCodeBias, SsrKind, SsrMessage, SsrPhaseBias, SsrSatCorrection, StationMeta, StreamStats, SystemParams, SystemParamsMessage, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeObs, decodeSsr, decodeSystemParams, isSsrMessage, rtcm3Constellation, updateStationMeta, updateStreamStats } from './rtcm3.cjs';
|
|
15
|
+
export { O as ObsDecodeOptions, a as ObsEpoch, b as ObsSatObs, c as ObsSignal, d as decodeMsmFull, o as obsEpochToDate, r as resetGloFreqCache, s as setGloFreqNumber } from './msm-DWtoTvx2.cjs';
|
|
15
16
|
export { UbxCnavResult, UbxFrame, UbxIonoUtcResult, UbxMeasurement, UbxNavOptions, UbxNavResult, UbxParseResult, UbxPvtResult, UbxRawNavOptions, UbxRawNavResult, UbxRawxEpoch, parseUbxCnav, parseUbxIonoUtc, parseUbxNav, parseUbxPvt, parseUbxRawNav, parseUbxRawx, ubxFrames } from './ubx.cjs';
|
|
16
17
|
export { DfmcCensus, DfmcMessageCb, GeoL5Result, SBAS_L5_MT_NAMES, SBAS_L5_PREAMBLE_UW, SbasMessageCb, SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGeoL5Result, SbfGeoNavResult, SbfGloNavResult, SbfGpsNavResult, SbfHasMessage, SbfHasResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfNavCounts, SbfNavicResult, SbfNavigation, SbfParseResult, SbfPvt, SbfPvtResult, SbfReceiverSetup, decodeSbfNavigation, extractSbfNavicSubframe, feedGeoBlock, feedGeoL5Block, feedNavicBlock, isSbasL1Preamble, isSbasL5Correction, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoL5, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfNavic, parseSbfPvt, parseSbfReceiverSetup, sbasL5MessageName, sbasL5MessageType, sbfCrc16, scanSbfFrames } from './sbf.cjs';
|
|
17
18
|
export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, NovatelPvtResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelPvt, parseNovatelRange } from './novatel.cjs';
|
|
18
19
|
export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, TrimbleParseResult, parseTrimble, parseTrimbleNav, trimbleFrames } from './trimble.cjs';
|
|
19
20
|
export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.cjs';
|
|
20
|
-
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';
|
|
21
|
+
export { AllPositionsData, AlmanacPosition, DopValues, EPHEMERIS_VALIDITY_MS, EpochSkyData, SatAzEl, SatPoint, SatPosition, VisibilityPass, VisibilityResult, almanacEpochMs, almanacSatPosition, computeAllPositions, computeDop, computeLiveSkyPositions, computeSatPosition, computeVisibility, computeVisibilityFromPositions, dopplerHz, ecefToAzEl, ephInfoToEphemeris, glonassAlmanacEpochMs, glonassAlmanacPosition, glonassPosition, isEphemerisValid, keplerPosition, maskRadForAzimuth, navTimesFromEph, nearestValidEphemeris, rangeRate, selectEphemeris } from './orbit.cjs';
|
|
21
22
|
export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.cjs';
|
|
22
|
-
export { AntennaOffset, AppliedOrbitClock, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, OrbitClockCorrection, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEngine, PppEphemerisSource, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, RawObservation, ReceiverBias, ReceiverClockSample, RtkAntennaConfig, RtkAntennaModel, RtkAntennaOffset, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkReceiverAntenna, RtkTrackPoint, SatGeom, SatSample, SbasCorrectionSource, SbasIgp, SbasIonoDelay, SbasProcessor, SbasSatCorrection, Sp3EphemerisSource, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, ZeroBaselineEngine, ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, rcvAntennaRangeM, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.cjs';
|
|
23
|
+
export { AntennaOffset, AppliedOrbitClock, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, MsmResolveOptions, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, OrbitClockCorrection, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEngine, PppEphemerisSource, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, RawObservation, ReceiverBias, ReceiverClockSample, RtkAntennaConfig, RtkAntennaModel, RtkAntennaOffset, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkReceiverAntenna, RtkTrackPoint, SatGeom, SatSample, SbasCorrectionSource, SbasIgp, SbasIonoDelay, SbasProcessor, SbasSatCorrection, Sp3EphemerisSource, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, ZeroBaselineEngine, ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.cjs';
|
|
23
24
|
export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.cjs';
|
|
24
25
|
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';
|
|
25
26
|
export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -5,21 +5,22 @@ export { A as ARC_GAP_FACTOR, B as BAND_LABELS, a as BDS_SATELLITES, b as BdsSat
|
|
|
5
5
|
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';
|
|
6
6
|
export { deg2dms, deg2rad, euclidean3D, geodeticToGeohash, geodeticToMaidenhead, geodeticToUtm, greatCircleMidpoint, horizonDistance, meridianArc, rad2deg, rhumbLine, vincenty, vincentyDirect } from './coordinates.js';
|
|
7
7
|
export { c as clampUnit, e as ecefToGeodetic, g as geodeticToEcef, a as getAer, b as getEnuDifference } from './ecef-CF0uAysr.js';
|
|
8
|
-
export { BiasRecord, BiasSinex, CompactEpoch, CrxField, DiffState, EMPTY_WARNINGS, Nav4Input, RinexWarning, RinexWarnings, WarningAccumulator, WarningSeverity, WriteCrxOptions, biasMetres, createGzipLineSink, crxDecompress, crxRepair, findSatBias, fmtD, fmtF, hdrLine, padL, padR, parseBiasSinex, parseCrxDataLine, stationHeaderLines, writeCrx, writeModernObsBlob, writeRinex2ObsBlob, writeRinex4ObsBlob, writeRinexNav, writeRinexNav4, writeRinexObsBlob } from './rinex.js';
|
|
8
|
+
export { BiasRecord, BiasSinex, CompactEpoch, CrxField, DiffState, EMPTY_WARNINGS, Nav4Input, RinexWarning, RinexWarnings, WarningAccumulator, WarningSeverity, WriteCrxOptions, biasMetres, createGzipLineSink, crxDecompress, crxRepair, findSatBias, fmtD, fmtF, hdrLine, modalIntervalS, padL, padR, parseBiasSinex, parseCrxDataLine, stationHeaderLines, writeCrx, writeModernObsBlob, writeRinex2ObsBlob, writeRinex4ObsBlob, writeRinexNav, writeRinexNav4, writeRinexObsBlob } from './rinex.js';
|
|
9
9
|
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';
|
|
10
10
|
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';
|
|
11
11
|
export { C as ClkFile, I as IonexGrid, S as Sp3File, a as Sp3Sample, c as clkBias, p as parseClk, b as parseIonex, d as parseSp3, s as sp3Position } from './clk-DGVBGRzA.js';
|
|
12
12
|
export { RTCM2_MESSAGE_NAMES, Rtcm2Correction, Rtcm2Decoder, Rtcm2Frame, Rtcm2ObsRecord, Rtcm2Station, looksLikeRtcm2, rtcm2Dgps, rtcm2Observation, rtcm2Station, rtcm2Text, rtcm2Time } from './rtcm2.js';
|
|
13
13
|
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-BAnBLLB9.js';
|
|
14
|
-
export { IgsSsrIonoLayer, IgsSsrMessage, MessageTypeStats,
|
|
14
|
+
export { IgsSsrIonoLayer, IgsSsrMessage, MessageTypeStats, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, SsrCodeBias, SsrKind, SsrMessage, SsrPhaseBias, SsrSatCorrection, StationMeta, StreamStats, SystemParams, SystemParamsMessage, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeObs, decodeSsr, decodeSystemParams, isSsrMessage, rtcm3Constellation, updateStationMeta, updateStreamStats } from './rtcm3.js';
|
|
15
|
+
export { O as ObsDecodeOptions, a as ObsEpoch, b as ObsSatObs, c as ObsSignal, d as decodeMsmFull, o as obsEpochToDate, r as resetGloFreqCache, s as setGloFreqNumber } from './msm-CcQJV3PC.js';
|
|
15
16
|
export { UbxCnavResult, UbxFrame, UbxIonoUtcResult, UbxMeasurement, UbxNavOptions, UbxNavResult, UbxParseResult, UbxPvtResult, UbxRawNavOptions, UbxRawNavResult, UbxRawxEpoch, parseUbxCnav, parseUbxIonoUtc, parseUbxNav, parseUbxPvt, parseUbxRawNav, parseUbxRawx, ubxFrames } from './ubx.js';
|
|
16
17
|
export { DfmcCensus, DfmcMessageCb, GeoL5Result, SBAS_L5_MT_NAMES, SBAS_L5_PREAMBLE_UW, SbasMessageCb, SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGeoL5Result, SbfGeoNavResult, SbfGloNavResult, SbfGpsNavResult, SbfHasMessage, SbfHasResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfNavCounts, SbfNavicResult, SbfNavigation, SbfParseResult, SbfPvt, SbfPvtResult, SbfReceiverSetup, decodeSbfNavigation, extractSbfNavicSubframe, feedGeoBlock, feedGeoL5Block, feedNavicBlock, isSbasL1Preamble, isSbasL5Correction, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoL5, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfNavic, parseSbfPvt, parseSbfReceiverSetup, sbasL5MessageName, sbasL5MessageType, sbfCrc16, scanSbfFrames } from './sbf.js';
|
|
17
18
|
export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, NovatelPvtResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelPvt, parseNovatelRange } from './novatel.js';
|
|
18
19
|
export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, TrimbleParseResult, parseTrimble, parseTrimbleNav, trimbleFrames } from './trimble.js';
|
|
19
20
|
export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.js';
|
|
20
|
-
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';
|
|
21
|
+
export { AllPositionsData, AlmanacPosition, DopValues, EPHEMERIS_VALIDITY_MS, EpochSkyData, SatAzEl, SatPoint, SatPosition, VisibilityPass, VisibilityResult, almanacEpochMs, almanacSatPosition, computeAllPositions, computeDop, computeLiveSkyPositions, computeSatPosition, computeVisibility, computeVisibilityFromPositions, dopplerHz, ecefToAzEl, ephInfoToEphemeris, glonassAlmanacEpochMs, glonassAlmanacPosition, glonassPosition, isEphemerisValid, keplerPosition, maskRadForAzimuth, navTimesFromEph, nearestValidEphemeris, rangeRate, selectEphemeris } from './orbit.js';
|
|
21
22
|
export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.js';
|
|
22
|
-
export { AntennaOffset, AppliedOrbitClock, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, OrbitClockCorrection, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEngine, PppEphemerisSource, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, RawObservation, ReceiverBias, ReceiverClockSample, RtkAntennaConfig, RtkAntennaModel, RtkAntennaOffset, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkReceiverAntenna, RtkTrackPoint, SatGeom, SatSample, SbasCorrectionSource, SbasIgp, SbasIonoDelay, SbasProcessor, SbasSatCorrection, Sp3EphemerisSource, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, ZeroBaselineEngine, ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, rcvAntennaRangeM, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.js';
|
|
23
|
+
export { AntennaOffset, AppliedOrbitClock, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, MsmResolveOptions, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, OrbitClockCorrection, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEngine, PppEphemerisSource, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, RawObservation, ReceiverBias, ReceiverClockSample, RtkAntennaConfig, RtkAntennaModel, RtkAntennaOffset, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkReceiverAntenna, RtkTrackPoint, SatGeom, SatSample, SbasCorrectionSource, SbasIgp, SbasIonoDelay, SbasProcessor, SbasSatCorrection, Sp3EphemerisSource, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, ZeroBaselineEngine, ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.js';
|
|
23
24
|
export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.js';
|
|
24
25
|
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';
|
|
25
26
|
export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.js';
|
package/dist/index.js
CHANGED
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
setRtcm3DebugHandler,
|
|
78
78
|
updateStationMeta,
|
|
79
79
|
updateStreamStats
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-N6GQUHM4.js";
|
|
81
81
|
import {
|
|
82
82
|
parseUbxCnav,
|
|
83
83
|
parseUbxIonoUtc,
|
|
@@ -201,6 +201,7 @@ import {
|
|
|
201
201
|
nlWavelength,
|
|
202
202
|
postProcessRtk,
|
|
203
203
|
rcvAntennaRangeM,
|
|
204
|
+
resolveMsmRanges,
|
|
204
205
|
resolvePppAmbiguities,
|
|
205
206
|
satClockCorrection,
|
|
206
207
|
sbasIonoDeg,
|
|
@@ -213,9 +214,10 @@ import {
|
|
|
213
214
|
sunEcef,
|
|
214
215
|
toRtkEpoch,
|
|
215
216
|
wlWavelength
|
|
216
|
-
} from "./chunk-
|
|
217
|
+
} from "./chunk-K3GLUWZI.js";
|
|
217
218
|
import "./chunk-WQX354KD.js";
|
|
218
219
|
import {
|
|
220
|
+
EPHEMERIS_VALIDITY_MS,
|
|
219
221
|
almanacEpochMs,
|
|
220
222
|
almanacSatPosition,
|
|
221
223
|
computeAllPositions,
|
|
@@ -230,12 +232,14 @@ import {
|
|
|
230
232
|
glonassAlmanacEpochMs,
|
|
231
233
|
glonassAlmanacPosition,
|
|
232
234
|
glonassPosition,
|
|
235
|
+
isEphemerisValid,
|
|
233
236
|
keplerPosition,
|
|
234
237
|
maskRadForAzimuth,
|
|
235
238
|
navTimesFromEph,
|
|
239
|
+
nearestValidEphemeris,
|
|
236
240
|
rangeRate,
|
|
237
241
|
selectEphemeris
|
|
238
|
-
} from "./chunk-
|
|
242
|
+
} from "./chunk-7T5DLVZL.js";
|
|
239
243
|
import {
|
|
240
244
|
getBdsTime,
|
|
241
245
|
getDateFromBdsTime,
|
|
@@ -334,6 +338,7 @@ import {
|
|
|
334
338
|
fmtD,
|
|
335
339
|
fmtF,
|
|
336
340
|
hdrLine,
|
|
341
|
+
modalIntervalS,
|
|
337
342
|
padL,
|
|
338
343
|
padR,
|
|
339
344
|
parseBiasSinex,
|
|
@@ -347,7 +352,7 @@ import {
|
|
|
347
352
|
writeRinexNav,
|
|
348
353
|
writeRinexNav4,
|
|
349
354
|
writeRinexObsBlob
|
|
350
|
-
} from "./chunk-
|
|
355
|
+
} from "./chunk-56HM5B6T.js";
|
|
351
356
|
import {
|
|
352
357
|
SYSTEM_ORDER,
|
|
353
358
|
crxDecompress,
|
|
@@ -415,6 +420,7 @@ export {
|
|
|
415
420
|
DELTA_GLO_L2,
|
|
416
421
|
DUAL_FREQ_PAIRS,
|
|
417
422
|
EMPTY_WARNINGS,
|
|
423
|
+
EPHEMERIS_VALIDITY_MS,
|
|
418
424
|
FREQ,
|
|
419
425
|
FREQ_BDS_B1A,
|
|
420
426
|
FREQ_BDS_B1C,
|
|
@@ -631,6 +637,7 @@ export {
|
|
|
631
637
|
hdrLine,
|
|
632
638
|
horizonDistance,
|
|
633
639
|
ionoFree,
|
|
640
|
+
isEphemerisValid,
|
|
634
641
|
isSbasL1Preamble,
|
|
635
642
|
isSbasL5Correction,
|
|
636
643
|
isSsrMessage,
|
|
@@ -641,8 +648,10 @@ export {
|
|
|
641
648
|
looksLikeRtcm2,
|
|
642
649
|
maskRadForAzimuth,
|
|
643
650
|
meridianArc,
|
|
651
|
+
modalIntervalS,
|
|
644
652
|
moonEcef,
|
|
645
653
|
navTimesFromEph,
|
|
654
|
+
nearestValidEphemeris,
|
|
646
655
|
niellMapping,
|
|
647
656
|
nlWavelength,
|
|
648
657
|
nmeaCoordToDecimal,
|
|
@@ -699,6 +708,7 @@ export {
|
|
|
699
708
|
readString,
|
|
700
709
|
reportDecodeError,
|
|
701
710
|
resetGloFreqCache,
|
|
711
|
+
resolveMsmRanges,
|
|
702
712
|
resolvePppAmbiguities,
|
|
703
713
|
rhumbLine,
|
|
704
714
|
rtcm2Dgps,
|