gnss-js 1.34.0 → 1.35.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-H73PZB5C.js → chunk-BLGBMRX7.js} +34 -0
- package/dist/index.cjs +35 -0
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -1
- package/dist/positioning.cjs +35 -0
- package/dist/positioning.d.cts +35 -1
- package/dist/positioning.d.ts +35 -1
- package/dist/positioning.js +3 -1
- package/package.json +1 -1
|
@@ -2221,6 +2221,39 @@ function estimateNarrowlaneFcb(arcs, wl, opts = {}) {
|
|
|
2221
2221
|
const res = decomposeFcb(entries, { fixWindow: 0.15, ...opts });
|
|
2222
2222
|
return { ...res, usedArcs: entries.length, wlRejected };
|
|
2223
2223
|
}
|
|
2224
|
+
function estimateNetworkFcbs(arcs, opts = {}) {
|
|
2225
|
+
const minArcEpochs = opts.minArcEpochs ?? 120;
|
|
2226
|
+
const minWlObs = opts.minWlObs ?? 40;
|
|
2227
|
+
const fixWindow = opts.fixWindow ?? 0.15;
|
|
2228
|
+
const satWlFcb = /* @__PURE__ */ new Map();
|
|
2229
|
+
const satNlFcb = /* @__PURE__ */ new Map();
|
|
2230
|
+
const perSystem = {};
|
|
2231
|
+
const systems = [...new Set(arcs.map((a) => a.prn[0]))].sort();
|
|
2232
|
+
for (const sys of systems) {
|
|
2233
|
+
const sysArcs = arcs.filter((a) => a.prn[0] === sys);
|
|
2234
|
+
const wlArcs = sysArcs.filter((a) => a.nEpochs >= minWlObs).map((a) => ({
|
|
2235
|
+
station: a.station,
|
|
2236
|
+
prn: a.prn,
|
|
2237
|
+
wlFloat: a.mwCyc,
|
|
2238
|
+
nObs: a.nEpochs
|
|
2239
|
+
}));
|
|
2240
|
+
if (wlArcs.length < 3) continue;
|
|
2241
|
+
const wl = estimateWidelaneFcb(wlArcs, { fixWindow });
|
|
2242
|
+
const nlInput = sysArcs.filter((a) => a.nEpochs >= minArcEpochs);
|
|
2243
|
+
const nl = estimateNarrowlaneFcb(nlInput, wl, { fixWindow });
|
|
2244
|
+
for (const [prn, v] of wl.satFcb) satWlFcb.set(prn, v);
|
|
2245
|
+
for (const [prn, v] of nl.satFcb) satNlFcb.set(prn, v);
|
|
2246
|
+
perSystem[sys] = {
|
|
2247
|
+
wlFixRate: wl.fixRate,
|
|
2248
|
+
wlResidRms: wl.residRms,
|
|
2249
|
+
nlUsedArcs: nl.usedArcs,
|
|
2250
|
+
nlFixRate: nl.fixRate,
|
|
2251
|
+
nlResidRms: nl.residRms,
|
|
2252
|
+
wlRejected: nl.wlRejected
|
|
2253
|
+
};
|
|
2254
|
+
}
|
|
2255
|
+
return { satWlFcb, satNlFcb, perSystem };
|
|
2256
|
+
}
|
|
2224
2257
|
|
|
2225
2258
|
// src/positioning/index.ts
|
|
2226
2259
|
var GM_GPS = 3986005e8;
|
|
@@ -2474,6 +2507,7 @@ export {
|
|
|
2474
2507
|
extractWidelaneArcs,
|
|
2475
2508
|
estimateWidelaneFcb,
|
|
2476
2509
|
estimateNarrowlaneFcb,
|
|
2510
|
+
estimateNetworkFcbs,
|
|
2477
2511
|
satClockCorrection,
|
|
2478
2512
|
ionoFree,
|
|
2479
2513
|
solveSpp
|
package/dist/index.cjs
CHANGED
|
@@ -150,6 +150,7 @@ __export(src_exports, {
|
|
|
150
150
|
ecefToGeodetic: () => ecefToGeodetic,
|
|
151
151
|
ephInfoToEphemeris: () => ephInfoToEphemeris,
|
|
152
152
|
estimateNarrowlaneFcb: () => estimateNarrowlaneFcb,
|
|
153
|
+
estimateNetworkFcbs: () => estimateNetworkFcbs,
|
|
153
154
|
estimateWidelaneFcb: () => estimateWidelaneFcb,
|
|
154
155
|
euclidean3D: () => euclidean3D,
|
|
155
156
|
extractWidelaneArcs: () => extractWidelaneArcs,
|
|
@@ -13618,6 +13619,39 @@ function estimateNarrowlaneFcb(arcs, wl, opts = {}) {
|
|
|
13618
13619
|
const res = decomposeFcb(entries, { fixWindow: 0.15, ...opts });
|
|
13619
13620
|
return { ...res, usedArcs: entries.length, wlRejected };
|
|
13620
13621
|
}
|
|
13622
|
+
function estimateNetworkFcbs(arcs, opts = {}) {
|
|
13623
|
+
const minArcEpochs = opts.minArcEpochs ?? 120;
|
|
13624
|
+
const minWlObs = opts.minWlObs ?? 40;
|
|
13625
|
+
const fixWindow = opts.fixWindow ?? 0.15;
|
|
13626
|
+
const satWlFcb = /* @__PURE__ */ new Map();
|
|
13627
|
+
const satNlFcb = /* @__PURE__ */ new Map();
|
|
13628
|
+
const perSystem = {};
|
|
13629
|
+
const systems = [...new Set(arcs.map((a) => a.prn[0]))].sort();
|
|
13630
|
+
for (const sys of systems) {
|
|
13631
|
+
const sysArcs = arcs.filter((a) => a.prn[0] === sys);
|
|
13632
|
+
const wlArcs = sysArcs.filter((a) => a.nEpochs >= minWlObs).map((a) => ({
|
|
13633
|
+
station: a.station,
|
|
13634
|
+
prn: a.prn,
|
|
13635
|
+
wlFloat: a.mwCyc,
|
|
13636
|
+
nObs: a.nEpochs
|
|
13637
|
+
}));
|
|
13638
|
+
if (wlArcs.length < 3) continue;
|
|
13639
|
+
const wl = estimateWidelaneFcb(wlArcs, { fixWindow });
|
|
13640
|
+
const nlInput = sysArcs.filter((a) => a.nEpochs >= minArcEpochs);
|
|
13641
|
+
const nl = estimateNarrowlaneFcb(nlInput, wl, { fixWindow });
|
|
13642
|
+
for (const [prn, v] of wl.satFcb) satWlFcb.set(prn, v);
|
|
13643
|
+
for (const [prn, v] of nl.satFcb) satNlFcb.set(prn, v);
|
|
13644
|
+
perSystem[sys] = {
|
|
13645
|
+
wlFixRate: wl.fixRate,
|
|
13646
|
+
wlResidRms: wl.residRms,
|
|
13647
|
+
nlUsedArcs: nl.usedArcs,
|
|
13648
|
+
nlFixRate: nl.fixRate,
|
|
13649
|
+
nlResidRms: nl.residRms,
|
|
13650
|
+
wlRejected: nl.wlRejected
|
|
13651
|
+
};
|
|
13652
|
+
}
|
|
13653
|
+
return { satWlFcb, satNlFcb, perSystem };
|
|
13654
|
+
}
|
|
13621
13655
|
|
|
13622
13656
|
// src/positioning/index.ts
|
|
13623
13657
|
var GM_GPS3 = 3986005e8;
|
|
@@ -16237,6 +16271,7 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
16237
16271
|
ecefToGeodetic,
|
|
16238
16272
|
ephInfoToEphemeris,
|
|
16239
16273
|
estimateNarrowlaneFcb,
|
|
16274
|
+
estimateNetworkFcbs,
|
|
16240
16275
|
estimateWidelaneFcb,
|
|
16241
16276
|
euclidean3D,
|
|
16242
16277
|
extractWidelaneArcs,
|
package/dist/index.d.cts
CHANGED
|
@@ -17,7 +17,7 @@ export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, Trimb
|
|
|
17
17
|
export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.cjs';
|
|
18
18
|
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';
|
|
19
19
|
export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.cjs';
|
|
20
|
-
export { AntennaOffset, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, DgnssOptions, DgnssSolution, EphemerisSource, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, NlArc, NlFcbResult, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEpoch, PppEpochContext, PppEpochResult, PppOptions, PppSatObs, PppSolution, RawObservation, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, SatGeom, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateWidelaneFcb, extractWidelaneArcs, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, resolvePppAmbiguities, satClockCorrection, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.cjs';
|
|
20
|
+
export { AntennaOffset, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, DgnssOptions, DgnssSolution, EphemerisSource, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEpoch, PppEpochContext, PppEpochResult, PppOptions, PppSatObs, PppSolution, RawObservation, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, SatGeom, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, resolvePppAmbiguities, satClockCorrection, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.cjs';
|
|
21
21
|
export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.cjs';
|
|
22
22
|
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';
|
|
23
23
|
export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, Trimb
|
|
|
17
17
|
export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.js';
|
|
18
18
|
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';
|
|
19
19
|
export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.js';
|
|
20
|
-
export { AntennaOffset, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, DgnssOptions, DgnssSolution, EphemerisSource, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, NlArc, NlFcbResult, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEpoch, PppEpochContext, PppEpochResult, PppOptions, PppSatObs, PppSolution, RawObservation, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, SatGeom, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateWidelaneFcb, extractWidelaneArcs, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, resolvePppAmbiguities, satClockCorrection, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.js';
|
|
20
|
+
export { AntennaOffset, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, DgnssOptions, DgnssSolution, EphemerisSource, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEpoch, PppEpochContext, PppEpochResult, PppOptions, PppSatObs, PppSolution, RawObservation, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, SatGeom, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, resolvePppAmbiguities, satClockCorrection, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.js';
|
|
21
21
|
export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.js';
|
|
22
22
|
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';
|
|
23
23
|
export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.js';
|
package/dist/index.js
CHANGED
|
@@ -147,6 +147,7 @@ import {
|
|
|
147
147
|
buildPppAntenna,
|
|
148
148
|
createPppCorrections,
|
|
149
149
|
estimateNarrowlaneFcb,
|
|
150
|
+
estimateNetworkFcbs,
|
|
150
151
|
estimateWidelaneFcb,
|
|
151
152
|
extractWidelaneArcs,
|
|
152
153
|
gimSlantIonoDelayL1,
|
|
@@ -168,7 +169,7 @@ import {
|
|
|
168
169
|
sunEcef,
|
|
169
170
|
toRtkEpoch,
|
|
170
171
|
wlWavelength
|
|
171
|
-
} from "./chunk-
|
|
172
|
+
} from "./chunk-BLGBMRX7.js";
|
|
172
173
|
import {
|
|
173
174
|
almanacEpochMs,
|
|
174
175
|
almanacSatPosition,
|
|
@@ -476,6 +477,7 @@ export {
|
|
|
476
477
|
ecefToGeodetic,
|
|
477
478
|
ephInfoToEphemeris,
|
|
478
479
|
estimateNarrowlaneFcb,
|
|
480
|
+
estimateNetworkFcbs,
|
|
479
481
|
estimateWidelaneFcb,
|
|
480
482
|
euclidean3D,
|
|
481
483
|
extractWidelaneArcs,
|
package/dist/positioning.cjs
CHANGED
|
@@ -25,6 +25,7 @@ __export(positioning_exports, {
|
|
|
25
25
|
buildPppAntenna: () => buildPppAntenna,
|
|
26
26
|
createPppCorrections: () => createPppCorrections,
|
|
27
27
|
estimateNarrowlaneFcb: () => estimateNarrowlaneFcb,
|
|
28
|
+
estimateNetworkFcbs: () => estimateNetworkFcbs,
|
|
28
29
|
estimateWidelaneFcb: () => estimateWidelaneFcb,
|
|
29
30
|
extractWidelaneArcs: () => extractWidelaneArcs,
|
|
30
31
|
gimSlantIonoDelayL1: () => gimSlantIonoDelayL1,
|
|
@@ -2746,6 +2747,39 @@ function estimateNarrowlaneFcb(arcs, wl, opts = {}) {
|
|
|
2746
2747
|
const res = decomposeFcb(entries, { fixWindow: 0.15, ...opts });
|
|
2747
2748
|
return { ...res, usedArcs: entries.length, wlRejected };
|
|
2748
2749
|
}
|
|
2750
|
+
function estimateNetworkFcbs(arcs, opts = {}) {
|
|
2751
|
+
const minArcEpochs = opts.minArcEpochs ?? 120;
|
|
2752
|
+
const minWlObs = opts.minWlObs ?? 40;
|
|
2753
|
+
const fixWindow = opts.fixWindow ?? 0.15;
|
|
2754
|
+
const satWlFcb = /* @__PURE__ */ new Map();
|
|
2755
|
+
const satNlFcb = /* @__PURE__ */ new Map();
|
|
2756
|
+
const perSystem = {};
|
|
2757
|
+
const systems = [...new Set(arcs.map((a) => a.prn[0]))].sort();
|
|
2758
|
+
for (const sys of systems) {
|
|
2759
|
+
const sysArcs = arcs.filter((a) => a.prn[0] === sys);
|
|
2760
|
+
const wlArcs = sysArcs.filter((a) => a.nEpochs >= minWlObs).map((a) => ({
|
|
2761
|
+
station: a.station,
|
|
2762
|
+
prn: a.prn,
|
|
2763
|
+
wlFloat: a.mwCyc,
|
|
2764
|
+
nObs: a.nEpochs
|
|
2765
|
+
}));
|
|
2766
|
+
if (wlArcs.length < 3) continue;
|
|
2767
|
+
const wl = estimateWidelaneFcb(wlArcs, { fixWindow });
|
|
2768
|
+
const nlInput = sysArcs.filter((a) => a.nEpochs >= minArcEpochs);
|
|
2769
|
+
const nl = estimateNarrowlaneFcb(nlInput, wl, { fixWindow });
|
|
2770
|
+
for (const [prn, v] of wl.satFcb) satWlFcb.set(prn, v);
|
|
2771
|
+
for (const [prn, v] of nl.satFcb) satNlFcb.set(prn, v);
|
|
2772
|
+
perSystem[sys] = {
|
|
2773
|
+
wlFixRate: wl.fixRate,
|
|
2774
|
+
wlResidRms: wl.residRms,
|
|
2775
|
+
nlUsedArcs: nl.usedArcs,
|
|
2776
|
+
nlFixRate: nl.fixRate,
|
|
2777
|
+
nlResidRms: nl.residRms,
|
|
2778
|
+
wlRejected: nl.wlRejected
|
|
2779
|
+
};
|
|
2780
|
+
}
|
|
2781
|
+
return { satWlFcb, satNlFcb, perSystem };
|
|
2782
|
+
}
|
|
2749
2783
|
|
|
2750
2784
|
// src/positioning/index.ts
|
|
2751
2785
|
var GM_GPS2 = 3986005e8;
|
|
@@ -2981,6 +3015,7 @@ function solveSpp(pseudoranges, ephemerides, timeMs, opts = {}) {
|
|
|
2981
3015
|
buildPppAntenna,
|
|
2982
3016
|
createPppCorrections,
|
|
2983
3017
|
estimateNarrowlaneFcb,
|
|
3018
|
+
estimateNetworkFcbs,
|
|
2984
3019
|
estimateWidelaneFcb,
|
|
2985
3020
|
extractWidelaneArcs,
|
|
2986
3021
|
gimSlantIonoDelayL1,
|
package/dist/positioning.d.cts
CHANGED
|
@@ -932,6 +932,40 @@ interface NlFcbResult extends WlFcbResult {
|
|
|
932
932
|
* — the fix rate is the honest measure of how close the network is to cm.
|
|
933
933
|
*/
|
|
934
934
|
declare function estimateNarrowlaneFcb(arcs: NlArc[], wl: WlFcbResult, opts?: WlFcbOptions): NlFcbResult;
|
|
935
|
+
interface NetworkFcbSummary {
|
|
936
|
+
wlFixRate: number;
|
|
937
|
+
wlResidRms: number;
|
|
938
|
+
nlUsedArcs: number;
|
|
939
|
+
nlFixRate: number;
|
|
940
|
+
nlResidRms: number;
|
|
941
|
+
wlRejected: number;
|
|
942
|
+
}
|
|
943
|
+
interface NetworkFcbResult {
|
|
944
|
+
/** Per-satellite wide-lane FCB (cycles), all constellations merged. */
|
|
945
|
+
satWlFcb: Map<string, number>;
|
|
946
|
+
/** Per-satellite narrow-lane FCB (cycles), all constellations merged. */
|
|
947
|
+
satNlFcb: Map<string, number>;
|
|
948
|
+
/** Per-constellation fix-rate / residual summary, keyed by system letter. */
|
|
949
|
+
perSystem: Record<string, NetworkFcbSummary>;
|
|
950
|
+
}
|
|
951
|
+
/**
|
|
952
|
+
* Full network FCB calibration for PPP-AR from a set of `solvePpp` arcs (each
|
|
953
|
+
* tagged with its station), **per constellation** — the receiver wide- and
|
|
954
|
+
* narrow-lane biases are system-specific, so lumping GPS/Galileo/BeiDou under
|
|
955
|
+
* one datum corrupts the fit. Runs the wide-lane then narrow-lane
|
|
956
|
+
* decomposition for each system and merges the per-satellite biases.
|
|
957
|
+
*
|
|
958
|
+
* The satellite FCBs (`satWlFcb`/`satNlFcb`) are the reusable product: a rover
|
|
959
|
+
* applies them and solves only its own receiver bias. Multi-GNSS input
|
|
960
|
+
* multiplies the fixable arcs (Galileo roughly doubles GPS-only) without
|
|
961
|
+
* changing per-arc behaviour — each satellite's arc length is independent of
|
|
962
|
+
* how many constellations are present.
|
|
963
|
+
*/
|
|
964
|
+
declare function estimateNetworkFcbs(arcs: NlArc[], opts?: {
|
|
965
|
+
minArcEpochs?: number;
|
|
966
|
+
minWlObs?: number;
|
|
967
|
+
fixWindow?: number;
|
|
968
|
+
}): NetworkFcbResult;
|
|
935
969
|
|
|
936
970
|
/**
|
|
937
971
|
* Single-point positioning (SPP) from pseudoranges and broadcast
|
|
@@ -1022,4 +1056,4 @@ declare function ionoFree(p1: number, p2: number, f1: number, f2: number): numbe
|
|
|
1022
1056
|
*/
|
|
1023
1057
|
declare function solveSpp(pseudoranges: Map<string, number>, ephemerides: Map<string, Ephemeris>, timeMs: number, opts?: SppOptions): SppSolution | null;
|
|
1024
1058
|
|
|
1025
|
-
export { type AntennaOffset, type ArFixedSat, type ArOptions, type ArResult, type ArSat, type CorrectionResult, type DgnssOptions, type DgnssSolution, type EphemerisSource, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type NlArc, type NlFcbResult, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppOptions, type PppSatObs, type PppSolution, type RawObservation, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type SatGeom, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateWidelaneFcb, extractWidelaneArcs, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, resolvePppAmbiguities, satClockCorrection, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
|
|
1059
|
+
export { type AntennaOffset, type ArFixedSat, type ArOptions, type ArResult, type ArSat, type CorrectionResult, type DgnssOptions, type DgnssSolution, type EphemerisSource, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type NetworkFcbResult, type NetworkFcbSummary, type NlArc, type NlFcbResult, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppOptions, type PppSatObs, type PppSolution, type RawObservation, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type SatGeom, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, resolvePppAmbiguities, satClockCorrection, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
|
package/dist/positioning.d.ts
CHANGED
|
@@ -932,6 +932,40 @@ interface NlFcbResult extends WlFcbResult {
|
|
|
932
932
|
* — the fix rate is the honest measure of how close the network is to cm.
|
|
933
933
|
*/
|
|
934
934
|
declare function estimateNarrowlaneFcb(arcs: NlArc[], wl: WlFcbResult, opts?: WlFcbOptions): NlFcbResult;
|
|
935
|
+
interface NetworkFcbSummary {
|
|
936
|
+
wlFixRate: number;
|
|
937
|
+
wlResidRms: number;
|
|
938
|
+
nlUsedArcs: number;
|
|
939
|
+
nlFixRate: number;
|
|
940
|
+
nlResidRms: number;
|
|
941
|
+
wlRejected: number;
|
|
942
|
+
}
|
|
943
|
+
interface NetworkFcbResult {
|
|
944
|
+
/** Per-satellite wide-lane FCB (cycles), all constellations merged. */
|
|
945
|
+
satWlFcb: Map<string, number>;
|
|
946
|
+
/** Per-satellite narrow-lane FCB (cycles), all constellations merged. */
|
|
947
|
+
satNlFcb: Map<string, number>;
|
|
948
|
+
/** Per-constellation fix-rate / residual summary, keyed by system letter. */
|
|
949
|
+
perSystem: Record<string, NetworkFcbSummary>;
|
|
950
|
+
}
|
|
951
|
+
/**
|
|
952
|
+
* Full network FCB calibration for PPP-AR from a set of `solvePpp` arcs (each
|
|
953
|
+
* tagged with its station), **per constellation** — the receiver wide- and
|
|
954
|
+
* narrow-lane biases are system-specific, so lumping GPS/Galileo/BeiDou under
|
|
955
|
+
* one datum corrupts the fit. Runs the wide-lane then narrow-lane
|
|
956
|
+
* decomposition for each system and merges the per-satellite biases.
|
|
957
|
+
*
|
|
958
|
+
* The satellite FCBs (`satWlFcb`/`satNlFcb`) are the reusable product: a rover
|
|
959
|
+
* applies them and solves only its own receiver bias. Multi-GNSS input
|
|
960
|
+
* multiplies the fixable arcs (Galileo roughly doubles GPS-only) without
|
|
961
|
+
* changing per-arc behaviour — each satellite's arc length is independent of
|
|
962
|
+
* how many constellations are present.
|
|
963
|
+
*/
|
|
964
|
+
declare function estimateNetworkFcbs(arcs: NlArc[], opts?: {
|
|
965
|
+
minArcEpochs?: number;
|
|
966
|
+
minWlObs?: number;
|
|
967
|
+
fixWindow?: number;
|
|
968
|
+
}): NetworkFcbResult;
|
|
935
969
|
|
|
936
970
|
/**
|
|
937
971
|
* Single-point positioning (SPP) from pseudoranges and broadcast
|
|
@@ -1022,4 +1056,4 @@ declare function ionoFree(p1: number, p2: number, f1: number, f2: number): numbe
|
|
|
1022
1056
|
*/
|
|
1023
1057
|
declare function solveSpp(pseudoranges: Map<string, number>, ephemerides: Map<string, Ephemeris>, timeMs: number, opts?: SppOptions): SppSolution | null;
|
|
1024
1058
|
|
|
1025
|
-
export { type AntennaOffset, type ArFixedSat, type ArOptions, type ArResult, type ArSat, type CorrectionResult, type DgnssOptions, type DgnssSolution, type EphemerisSource, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type NlArc, type NlFcbResult, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppOptions, type PppSatObs, type PppSolution, type RawObservation, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type SatGeom, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateWidelaneFcb, extractWidelaneArcs, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, resolvePppAmbiguities, satClockCorrection, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
|
|
1059
|
+
export { type AntennaOffset, type ArFixedSat, type ArOptions, type ArResult, type ArSat, type CorrectionResult, type DgnssOptions, type DgnssSolution, type EphemerisSource, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type NetworkFcbResult, type NetworkFcbSummary, type NlArc, type NlFcbResult, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppOptions, type PppSatObs, type PppSolution, type RawObservation, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type SatGeom, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, gimSlantIonoDelayL1, gimVerticalTec, gmst, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, resolvePppAmbiguities, satClockCorrection, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
|
package/dist/positioning.js
CHANGED
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
buildPppAntenna,
|
|
5
5
|
createPppCorrections,
|
|
6
6
|
estimateNarrowlaneFcb,
|
|
7
|
+
estimateNetworkFcbs,
|
|
7
8
|
estimateWidelaneFcb,
|
|
8
9
|
extractWidelaneArcs,
|
|
9
10
|
gimSlantIonoDelayL1,
|
|
@@ -25,7 +26,7 @@ import {
|
|
|
25
26
|
sunEcef,
|
|
26
27
|
toRtkEpoch,
|
|
27
28
|
wlWavelength
|
|
28
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-BLGBMRX7.js";
|
|
29
30
|
import "./chunk-MHGNKSSH.js";
|
|
30
31
|
import "./chunk-37QNKGTC.js";
|
|
31
32
|
import "./chunk-6FAL6P4G.js";
|
|
@@ -39,6 +40,7 @@ export {
|
|
|
39
40
|
buildPppAntenna,
|
|
40
41
|
createPppCorrections,
|
|
41
42
|
estimateNarrowlaneFcb,
|
|
43
|
+
estimateNetworkFcbs,
|
|
42
44
|
estimateWidelaneFcb,
|
|
43
45
|
extractWidelaneArcs,
|
|
44
46
|
gimSlantIonoDelayL1,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gnss-js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.35.0",
|
|
4
4
|
"description": "Comprehensive GNSS library for JavaScript — time scales, coordinates, RINEX parsing, RTCM3 decoding, orbit computation, and signal analysis",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|