gnss-js 2.13.1 → 2.14.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/analysis.cjs +525 -0
- package/dist/analysis.d.cts +135 -1
- package/dist/analysis.d.ts +135 -1
- package/dist/analysis.js +9 -1
- package/dist/{chunk-MFCPYUEI.js → chunk-GGWK7XLZ.js} +496 -1
- package/dist/{chunk-PQLPPFIK.js → chunk-TETPRPZ2.js} +122 -4
- package/dist/index.cjs +620 -4
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +14 -2
- package/dist/positioning.cjs +125 -4
- package/dist/positioning.d.cts +47 -1
- package/dist/positioning.d.ts +47 -1
- package/dist/positioning.js +7 -1
- package/dist/troposphere.cjs +5056 -0
- package/dist/troposphere.d.cts +78 -0
- package/dist/troposphere.d.ts +78 -0
- package/dist/troposphere.js +5025 -0
- package/package.json +6 -1
package/dist/index.d.cts
CHANGED
|
@@ -20,9 +20,9 @@ export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, Trimb
|
|
|
20
20
|
export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.cjs';
|
|
21
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';
|
|
22
22
|
export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.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
|
+
export { AntennaOffset, AppliedOrbitClock, ArFixedSat, ArOptions, ArResult, ArSat, BLQ_CONSTITUENTS, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, MsmResolveOptions, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, OceanLoadingCoefficients, OrbitClockCorrection, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEngine, PppEphemerisSource, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, PppTroposphereModel, 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, oceanLoadingEnu, parseBlq, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.cjs';
|
|
24
24
|
export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.cjs';
|
|
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
|
+
export { CompleteSatSignal, CompleteSignalStats, CompletenessAccumulator, CompletenessResult, CoordinateSample, CycleSlipAccumulator, CycleSlipEvent, CycleSlipResult, CycleSlipSignalStats, HelmertFit, HelmertModel, HelmertOptions, IonoAccumulator, IonoDcbResult, IonoPoint, IonoRatePoint, IonoRateSeries, IonoResult, IonoSeries, MultipathAccumulator, MultipathPoint, MultipathResult, MultipathSeries, MultipathSignalStat, QualityResult, SatDcbMap, SeriesComponent, SeriesFit, SeriesFitOptions, SeriesPoint, analyzeQuality, applyHelmertFit, applyIonoDcb, computeIonoRate, detrendIonoArcs, estimateHelmert, fitCoordinateSeries, parseSinexBiasDcb } from './analysis.cjs';
|
|
26
26
|
export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.cjs';
|
|
27
27
|
export { NmeaFix, NmeaStats, NmeaTrack, computeStats, nmeaCoordToDecimal, parseNmeaFile, verifyChecksum } from './nmea.cjs';
|
|
28
28
|
export { BAND_PRESETS, BandPreset, CONSTELLATIONS, ConstellationRow, DELTA_GLO_L1, DELTA_GLO_L2, FREQ_BDS_B1A, FREQ_BDS_B1C, FREQ_BDS_B1I, FREQ_BDS_B2I, FREQ_BDS_B3A, FREQ_BDS_B3I, FREQ_GAL_E1, FREQ_GAL_E5, FREQ_GAL_E5a, FREQ_GAL_E5b, FREQ_GAL_E6, FREQ_GLO_L1, FREQ_GLO_L1OC, FREQ_GLO_L2, FREQ_GLO_L2OC, FREQ_GLO_L3OC, FREQ_GPS_L1, FREQ_GPS_L2, FREQ_GPS_L5, FREQ_NAVIC_L5, FREQ_QZS_L1, FREQ_QZS_L2, FREQ_QZS_L5, FREQ_QZS_L6, Modulation, SignalDef, computePsdDb, phiAltBOC, phiBOCc, phiBOCs, phiBPSK } from './signals.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -20,9 +20,9 @@ export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, Trimb
|
|
|
20
20
|
export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.js';
|
|
21
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';
|
|
22
22
|
export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.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
|
+
export { AntennaOffset, AppliedOrbitClock, ArFixedSat, ArOptions, ArResult, ArSat, BLQ_CONSTITUENTS, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, MsmResolveOptions, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, OceanLoadingCoefficients, OrbitClockCorrection, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEngine, PppEphemerisSource, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, PppTroposphereModel, 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, oceanLoadingEnu, parseBlq, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.js';
|
|
24
24
|
export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.js';
|
|
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
|
+
export { CompleteSatSignal, CompleteSignalStats, CompletenessAccumulator, CompletenessResult, CoordinateSample, CycleSlipAccumulator, CycleSlipEvent, CycleSlipResult, CycleSlipSignalStats, HelmertFit, HelmertModel, HelmertOptions, IonoAccumulator, IonoDcbResult, IonoPoint, IonoRatePoint, IonoRateSeries, IonoResult, IonoSeries, MultipathAccumulator, MultipathPoint, MultipathResult, MultipathSeries, MultipathSignalStat, QualityResult, SatDcbMap, SeriesComponent, SeriesFit, SeriesFitOptions, SeriesPoint, analyzeQuality, applyHelmertFit, applyIonoDcb, computeIonoRate, detrendIonoArcs, estimateHelmert, fitCoordinateSeries, parseSinexBiasDcb } from './analysis.js';
|
|
26
26
|
export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.js';
|
|
27
27
|
export { NmeaFix, NmeaStats, NmeaTrack, computeStats, nmeaCoordToDecimal, parseNmeaFile, verifyChecksum } from './nmea.js';
|
|
28
28
|
export { BAND_PRESETS, BandPreset, CONSTELLATIONS, ConstellationRow, DELTA_GLO_L1, DELTA_GLO_L2, FREQ_BDS_B1A, FREQ_BDS_B1C, FREQ_BDS_B1I, FREQ_BDS_B2I, FREQ_BDS_B3A, FREQ_BDS_B3I, FREQ_GAL_E1, FREQ_GAL_E5, FREQ_GAL_E5a, FREQ_GAL_E5b, FREQ_GAL_E6, FREQ_GLO_L1, FREQ_GLO_L1OC, FREQ_GLO_L2, FREQ_GLO_L2OC, FREQ_GLO_L3OC, FREQ_GPS_L1, FREQ_GPS_L2, FREQ_GPS_L5, FREQ_NAVIC_L5, FREQ_QZS_L1, FREQ_QZS_L2, FREQ_QZS_L5, FREQ_QZS_L6, Modulation, SignalDef, computePsdDb, phiAltBOC, phiBOCc, phiBOCs, phiBPSK } from './signals.js';
|
package/dist/index.js
CHANGED
|
@@ -4,11 +4,14 @@ import {
|
|
|
4
4
|
IonoAccumulator,
|
|
5
5
|
MultipathAccumulator,
|
|
6
6
|
analyzeQuality,
|
|
7
|
+
applyHelmertFit,
|
|
7
8
|
applyIonoDcb,
|
|
8
9
|
computeIonoRate,
|
|
9
10
|
detrendIonoArcs,
|
|
11
|
+
estimateHelmert,
|
|
12
|
+
fitCoordinateSeries,
|
|
10
13
|
parseSinexBiasDcb
|
|
11
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-GGWK7XLZ.js";
|
|
12
15
|
import {
|
|
13
16
|
frequencyLabel,
|
|
14
17
|
parseAntex
|
|
@@ -176,6 +179,7 @@ import {
|
|
|
176
179
|
transformFrame
|
|
177
180
|
} from "./chunk-4KOXMHUW.js";
|
|
178
181
|
import {
|
|
182
|
+
BLQ_CONSTITUENTS,
|
|
179
183
|
IONO_L1_M_PER_TECU,
|
|
180
184
|
PppEngine,
|
|
181
185
|
RtkFloatEngine,
|
|
@@ -203,6 +207,8 @@ import {
|
|
|
203
207
|
moonEcef,
|
|
204
208
|
niellMapping,
|
|
205
209
|
nlWavelength,
|
|
210
|
+
oceanLoadingEnu,
|
|
211
|
+
parseBlq,
|
|
206
212
|
postProcessRtk,
|
|
207
213
|
rcvAntennaRangeM,
|
|
208
214
|
resolveMsmRanges,
|
|
@@ -218,7 +224,7 @@ import {
|
|
|
218
224
|
sunEcef,
|
|
219
225
|
toRtkEpoch,
|
|
220
226
|
wlWavelength
|
|
221
|
-
} from "./chunk-
|
|
227
|
+
} from "./chunk-TETPRPZ2.js";
|
|
222
228
|
import "./chunk-H3AKFD25.js";
|
|
223
229
|
import {
|
|
224
230
|
EPHEMERIS_VALIDITY_MS,
|
|
@@ -414,6 +420,7 @@ export {
|
|
|
414
420
|
BAND_LABELS,
|
|
415
421
|
BAND_PRESETS,
|
|
416
422
|
BDS_SATELLITES,
|
|
423
|
+
BLQ_CONSTITUENTS,
|
|
417
424
|
BitReader,
|
|
418
425
|
CONSTELLATIONS,
|
|
419
426
|
C_LIGHT,
|
|
@@ -511,6 +518,7 @@ export {
|
|
|
511
518
|
analyzeQuality,
|
|
512
519
|
antexFreqOfGroup,
|
|
513
520
|
applyHelmert,
|
|
521
|
+
applyHelmertFit,
|
|
514
522
|
applyIonoDcb,
|
|
515
523
|
applyOrbitClock,
|
|
516
524
|
biasMetres,
|
|
@@ -558,6 +566,7 @@ export {
|
|
|
558
566
|
ecefToAzEl,
|
|
559
567
|
ecefToGeodetic,
|
|
560
568
|
ephInfoToEphemeris,
|
|
569
|
+
estimateHelmert,
|
|
561
570
|
estimateNarrowlaneFcb,
|
|
562
571
|
estimateNetworkFcbs,
|
|
563
572
|
estimateWidelaneFcb,
|
|
@@ -569,6 +578,7 @@ export {
|
|
|
569
578
|
feedNavicBlock,
|
|
570
579
|
fetchSourcetable,
|
|
571
580
|
findSatBias,
|
|
581
|
+
fitCoordinateSeries,
|
|
572
582
|
fixPppPosition,
|
|
573
583
|
fmtD,
|
|
574
584
|
fmtF,
|
|
@@ -663,12 +673,14 @@ export {
|
|
|
663
673
|
nlWavelength,
|
|
664
674
|
nmeaCoordToDecimal,
|
|
665
675
|
obsEpochToDate,
|
|
676
|
+
oceanLoadingEnu,
|
|
666
677
|
oem4Frames,
|
|
667
678
|
padL,
|
|
668
679
|
padR,
|
|
669
680
|
parseAntex,
|
|
670
681
|
parseBiasSinex,
|
|
671
682
|
parseBinex,
|
|
683
|
+
parseBlq,
|
|
672
684
|
parseClk,
|
|
673
685
|
parseCrxDataLine,
|
|
674
686
|
parseIonex,
|
package/dist/positioning.cjs
CHANGED
|
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/positioning/index.ts
|
|
21
21
|
var positioning_exports = {};
|
|
22
22
|
__export(positioning_exports, {
|
|
23
|
+
BLQ_CONSTITUENTS: () => BLQ_CONSTITUENTS,
|
|
23
24
|
IONO_L1_M_PER_TECU: () => IONO_L1_M_PER_TECU,
|
|
24
25
|
PppEngine: () => PppEngine,
|
|
25
26
|
RtkFloatEngine: () => RtkFloatEngine,
|
|
@@ -47,6 +48,8 @@ __export(positioning_exports, {
|
|
|
47
48
|
moonEcef: () => moonEcef,
|
|
48
49
|
niellMapping: () => niellMapping,
|
|
49
50
|
nlWavelength: () => nlWavelength,
|
|
51
|
+
oceanLoadingEnu: () => oceanLoadingEnu,
|
|
52
|
+
parseBlq: () => parseBlq,
|
|
50
53
|
postProcessRtk: () => postProcessRtk,
|
|
51
54
|
rcvAntennaRangeM: () => rcvAntennaRangeM,
|
|
52
55
|
resolveMsmRanges: () => resolveMsmRanges,
|
|
@@ -3544,6 +3547,103 @@ function solidEarthTide(rcv, sun, moon) {
|
|
|
3544
3547
|
return disp;
|
|
3545
3548
|
}
|
|
3546
3549
|
|
|
3550
|
+
// src/positioning/ocean-loading.ts
|
|
3551
|
+
var BLQ_CONSTITUENTS = [
|
|
3552
|
+
"M2",
|
|
3553
|
+
"S2",
|
|
3554
|
+
"N2",
|
|
3555
|
+
"K2",
|
|
3556
|
+
"K1",
|
|
3557
|
+
"O1",
|
|
3558
|
+
"P1",
|
|
3559
|
+
"Q1",
|
|
3560
|
+
"Mf",
|
|
3561
|
+
"Mm",
|
|
3562
|
+
"Ssa"
|
|
3563
|
+
];
|
|
3564
|
+
var ARGS = [
|
|
3565
|
+
[140519e-9, 2, -2, 0, 0],
|
|
3566
|
+
// M2
|
|
3567
|
+
[145444e-9, 0, 0, 0, 0],
|
|
3568
|
+
// S2
|
|
3569
|
+
[13788e-8, 2, -3, 1, 0],
|
|
3570
|
+
// N2
|
|
3571
|
+
[145842e-9, 2, 0, 0, 0],
|
|
3572
|
+
// K2
|
|
3573
|
+
[72921e-9, 1, 0, 0, 0.25],
|
|
3574
|
+
// K1
|
|
3575
|
+
[67598e-9, 1, -2, 0, -0.25],
|
|
3576
|
+
// O1
|
|
3577
|
+
[72523e-9, -1, 0, 0, -0.25],
|
|
3578
|
+
// P1
|
|
3579
|
+
[64959e-9, 1, -3, 1, -0.25],
|
|
3580
|
+
// Q1
|
|
3581
|
+
[53234e-10, 0, 2, 0, 0],
|
|
3582
|
+
// Mf
|
|
3583
|
+
[26392e-10, 0, 1, -1, 0],
|
|
3584
|
+
// Mm
|
|
3585
|
+
[3982e-10, 2, 0, 0, 0]
|
|
3586
|
+
// Ssa
|
|
3587
|
+
];
|
|
3588
|
+
var D2R2 = Math.PI / 180;
|
|
3589
|
+
function oceanLoadingEnu(c, utcMs) {
|
|
3590
|
+
const day = Math.floor(utcMs / 864e5);
|
|
3591
|
+
const fday = (utcMs - day * 864e5) / 1e3;
|
|
3592
|
+
const days = day - Date.UTC(1975, 0, 1) / 864e5 + 1;
|
|
3593
|
+
const t = (27392.500528 + 1.000000035 * days) / 36525;
|
|
3594
|
+
const t2 = t * t;
|
|
3595
|
+
const t3 = t2 * t;
|
|
3596
|
+
const a = [
|
|
3597
|
+
fday,
|
|
3598
|
+
(279.69668 + 36000.768930485 * t + 303e-6 * t2) * D2R2,
|
|
3599
|
+
// H0
|
|
3600
|
+
(270.434358 + 481267.88314137 * t - 1133e-6 * t2 + 19e-7 * t3) * D2R2,
|
|
3601
|
+
// S0
|
|
3602
|
+
(334.329653 + 4069.0340329577 * t - 0.010325 * t2 - 12e-6 * t3) * D2R2,
|
|
3603
|
+
// P0
|
|
3604
|
+
2 * Math.PI
|
|
3605
|
+
];
|
|
3606
|
+
const dp = [0, 0, 0];
|
|
3607
|
+
for (let i = 0; i < ARGS.length; i++) {
|
|
3608
|
+
let ang = 0;
|
|
3609
|
+
for (let j = 0; j < 5; j++) ang += a[j] * ARGS[i][j];
|
|
3610
|
+
for (let k = 0; k < 3; k++)
|
|
3611
|
+
dp[k] += c.amplitude[i][k] * Math.cos(ang - c.phase[i][k] * D2R2);
|
|
3612
|
+
}
|
|
3613
|
+
return [-dp[1], -dp[2], dp[0]];
|
|
3614
|
+
}
|
|
3615
|
+
function parseBlq(text) {
|
|
3616
|
+
const out = /* @__PURE__ */ new Map();
|
|
3617
|
+
const lines = text.split(/\r?\n/);
|
|
3618
|
+
for (let i = 0; i < lines.length; i++) {
|
|
3619
|
+
const l = lines[i];
|
|
3620
|
+
if (!l.trim() || l.startsWith("$$")) continue;
|
|
3621
|
+
const name = l.trim().split(/\s+/)[0].toUpperCase();
|
|
3622
|
+
const rows = [];
|
|
3623
|
+
let j = i + 1;
|
|
3624
|
+
while (j < lines.length && rows.length < 6) {
|
|
3625
|
+
const r = lines[j];
|
|
3626
|
+
j++;
|
|
3627
|
+
if (r.startsWith("$$") || !r.trim()) continue;
|
|
3628
|
+
const v = r.trim().split(/\s+/).map(Number);
|
|
3629
|
+
if (v.length !== 11 || v.some((x) => !Number.isFinite(x))) break;
|
|
3630
|
+
rows.push(v);
|
|
3631
|
+
}
|
|
3632
|
+
if (rows.length === 6) {
|
|
3633
|
+
out.set(name, {
|
|
3634
|
+
amplitude: BLQ_CONSTITUENTS.map(
|
|
3635
|
+
(_, k) => [rows[0][k], rows[1][k], rows[2][k]]
|
|
3636
|
+
),
|
|
3637
|
+
phase: BLQ_CONSTITUENTS.map(
|
|
3638
|
+
(_, k) => [rows[3][k], rows[4][k], rows[5][k]]
|
|
3639
|
+
)
|
|
3640
|
+
});
|
|
3641
|
+
i = j - 1;
|
|
3642
|
+
}
|
|
3643
|
+
}
|
|
3644
|
+
return out;
|
|
3645
|
+
}
|
|
3646
|
+
|
|
3547
3647
|
// src/positioning/ppp-corrections.ts
|
|
3548
3648
|
function applyCorrections(corrections, geom, ctx) {
|
|
3549
3649
|
if (corrections.evaluate) return corrections.evaluate(geom, ctx);
|
|
@@ -3561,6 +3661,14 @@ function createPppCorrections(cfg) {
|
|
|
3561
3661
|
const sun = sunEcef(timeMs);
|
|
3562
3662
|
const moon = moonEcef(timeMs);
|
|
3563
3663
|
const tideDisp = useTides ? solidEarthTide(rcvEcef, sun, moon) : [0, 0, 0];
|
|
3664
|
+
if (cfg.oceanLoading) {
|
|
3665
|
+
const [e, n, u] = oceanLoadingEnu(cfg.oceanLoading, timeMs);
|
|
3666
|
+
const [lat, lon] = ecefToGeodetic(rcvEcef[0], rcvEcef[1], rcvEcef[2]);
|
|
3667
|
+
const d = enuToEcef([e, n, u], lat, lon);
|
|
3668
|
+
tideDisp[0] += d[0];
|
|
3669
|
+
tideDisp[1] += d[1];
|
|
3670
|
+
tideDisp[2] += d[2];
|
|
3671
|
+
}
|
|
3564
3672
|
return { timeMs, sun, moon, tideDisp };
|
|
3565
3673
|
},
|
|
3566
3674
|
evaluate(geom, ctx) {
|
|
@@ -3615,7 +3723,7 @@ function createPppCorrections(cfg) {
|
|
|
3615
3723
|
rangeM += interpPcv(off, zenithDeg);
|
|
3616
3724
|
}
|
|
3617
3725
|
}
|
|
3618
|
-
if (
|
|
3726
|
+
if (ctx) {
|
|
3619
3727
|
rangeM -= dot(e, ctx.tideDisp);
|
|
3620
3728
|
}
|
|
3621
3729
|
if (useWindup && frame) {
|
|
@@ -4001,7 +4109,7 @@ var PppEngine = class {
|
|
|
4001
4109
|
for (const ci of clkIdx.values()) P[ci][ci] = CLK_VAR;
|
|
4002
4110
|
P[IDX_ZWD][IDX_ZWD] += ztdQ * (ei > 0 ? 1 : 0);
|
|
4003
4111
|
const rcv = [x[IDX_X], x[IDX_Y], x[IDX_Z]];
|
|
4004
|
-
const [latRad, , heightM] = ecefToGeodetic(rcv[0], rcv[1], rcv[2]);
|
|
4112
|
+
const [latRad, lonRad, heightM] = ecefToGeodetic(rcv[0], rcv[1], rcv[2]);
|
|
4005
4113
|
const epochCtx = corrections?.epochContext?.(epoch.timeMs, rcv) ?? null;
|
|
4006
4114
|
const vis = [];
|
|
4007
4115
|
let epochZhd = 0;
|
|
@@ -4034,7 +4142,17 @@ var PppEngine = class {
|
|
|
4034
4142
|
const pIf = g * o.c1 - (g - 1) * o.c2;
|
|
4035
4143
|
const lIf = g * (o.l1 * lam1) - (g - 1) * (o.l2 * lam2);
|
|
4036
4144
|
if (!Number.isFinite(pIf) || !Number.isFinite(lIf)) continue;
|
|
4037
|
-
const trop = opts.troposphere ?? true ?
|
|
4145
|
+
const trop = opts.troposphere ?? true ? opts.troposphereModel ? opts.troposphereModel.delays(
|
|
4146
|
+
epoch.timeMs,
|
|
4147
|
+
latRad,
|
|
4148
|
+
lonRad,
|
|
4149
|
+
heightM,
|
|
4150
|
+
elRad,
|
|
4151
|
+
azRad
|
|
4152
|
+
) : {
|
|
4153
|
+
...niellMapping(elRad, latRad, heightM, epoch.timeMs),
|
|
4154
|
+
gradient: 0
|
|
4155
|
+
} : { zhd: 0, mh: 0, mw: 0, gradient: 0 };
|
|
4038
4156
|
const { zhd, mh, mw } = trop;
|
|
4039
4157
|
epochZhd = zhd;
|
|
4040
4158
|
const geom = {
|
|
@@ -4059,7 +4177,7 @@ var PppEngine = class {
|
|
|
4059
4177
|
lIf,
|
|
4060
4178
|
satClkM: sat.state.clkM,
|
|
4061
4179
|
range,
|
|
4062
|
-
tropoFixed: zhd * mh + corr.rangeM,
|
|
4180
|
+
tropoFixed: zhd * mh + trop.gradient + corr.rangeM,
|
|
4063
4181
|
mw,
|
|
4064
4182
|
windupM: corr.phaseWindupM,
|
|
4065
4183
|
slip,
|
|
@@ -4984,6 +5102,7 @@ function solveSpp(pseudoranges, ephemerides, timeMs, opts = {}) {
|
|
|
4984
5102
|
}
|
|
4985
5103
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4986
5104
|
0 && (module.exports = {
|
|
5105
|
+
BLQ_CONSTITUENTS,
|
|
4987
5106
|
IONO_L1_M_PER_TECU,
|
|
4988
5107
|
PppEngine,
|
|
4989
5108
|
RtkFloatEngine,
|
|
@@ -5011,6 +5130,8 @@ function solveSpp(pseudoranges, ephemerides, timeMs, opts = {}) {
|
|
|
5011
5130
|
moonEcef,
|
|
5012
5131
|
niellMapping,
|
|
5013
5132
|
nlWavelength,
|
|
5133
|
+
oceanLoadingEnu,
|
|
5134
|
+
parseBlq,
|
|
5014
5135
|
postProcessRtk,
|
|
5015
5136
|
rcvAntennaRangeM,
|
|
5016
5137
|
resolveMsmRanges,
|
package/dist/positioning.d.cts
CHANGED
|
@@ -969,6 +969,36 @@ declare function applyOrbitClock(eph: Ephemeris, corr: OrbitClockCorrection, tim
|
|
|
969
969
|
*/
|
|
970
970
|
declare function hasToOrbitClock(orbit: HasOrbitCorrection, clock: HasClockCorrection | undefined, refTimeMs: number, validitySeconds: number | null): OrbitClockCorrection | null;
|
|
971
971
|
|
|
972
|
+
/**
|
|
973
|
+
* Ocean tide loading: the crust deforms under the weight of the ocean
|
|
974
|
+
* tides, up to several centimetres vertically near tidal coasts. Given a
|
|
975
|
+
* station's BLQ coefficients (amplitude and phase of 11 tidal constituents
|
|
976
|
+
* for the radial, west and south displacement — the format of Onsala's
|
|
977
|
+
* ocean loading service), the displacement at any instant is the sum of the
|
|
978
|
+
* constituents with their astronomical arguments (IERS ARG.f; the method of
|
|
979
|
+
* RTKLIB's tide_oload, without nodal corrections).
|
|
980
|
+
*/
|
|
981
|
+
/** Constituent order of BLQ files. */
|
|
982
|
+
declare const BLQ_CONSTITUENTS: readonly ["M2", "S2", "N2", "K2", "K1", "O1", "P1", "Q1", "Mf", "Mm", "Ssa"];
|
|
983
|
+
/** One station's BLQ coefficients. */
|
|
984
|
+
interface OceanLoadingCoefficients {
|
|
985
|
+
/** Amplitudes (m) [radial, west, south] per constituent (BLQ order). */
|
|
986
|
+
amplitude: [number, number, number][];
|
|
987
|
+
/** Phases (degrees, Greenwich lag) [radial, west, south] per constituent. */
|
|
988
|
+
phase: [number, number, number][];
|
|
989
|
+
}
|
|
990
|
+
/**
|
|
991
|
+
* Ocean loading displacement (m) at `utcMs`, local [East, North, Up].
|
|
992
|
+
* UTC stands in for UT1 (≤ 0.9 s, negligible for tides).
|
|
993
|
+
*/
|
|
994
|
+
declare function oceanLoadingEnu(c: OceanLoadingCoefficients, utcMs: number): [number, number, number];
|
|
995
|
+
/**
|
|
996
|
+
* Read the coefficients of every station in a BLQ file (Onsala format:
|
|
997
|
+
* `$$` comments, a station line, then 3 amplitude rows and 3 phase rows of
|
|
998
|
+
* 11 values). Station names are upper-cased, keyed by their first word.
|
|
999
|
+
*/
|
|
1000
|
+
declare function parseBlq(text: string): Map<string, OceanLoadingCoefficients>;
|
|
1001
|
+
|
|
972
1002
|
/**
|
|
973
1003
|
* Optional PPP range corrections: satellite & receiver antenna phase-centre
|
|
974
1004
|
* offsets, phase wind-up, and solid-earth tides. These take a converged
|
|
@@ -1029,6 +1059,8 @@ interface PppCorrectionConfig {
|
|
|
1029
1059
|
rcvPco?: boolean;
|
|
1030
1060
|
tides?: boolean;
|
|
1031
1061
|
windup?: boolean;
|
|
1062
|
+
/** The station's ocean tide loading coefficients (BLQ), when known. */
|
|
1063
|
+
oceanLoading?: OceanLoadingCoefficients;
|
|
1032
1064
|
}
|
|
1033
1065
|
/** Wire satellite/receiver antenna + tides + wind-up into a PppCorrections. */
|
|
1034
1066
|
declare function createPppCorrections(cfg: PppCorrectionConfig): PppCorrections;
|
|
@@ -1115,6 +1147,10 @@ interface PppOptions {
|
|
|
1115
1147
|
ztdProcessNoise?: number;
|
|
1116
1148
|
/** Model + estimate the troposphere. Default true. */
|
|
1117
1149
|
troposphere?: boolean;
|
|
1150
|
+
/** A-priori troposphere model (zenith hydrostatic delay, mapping
|
|
1151
|
+
* functions, gradients) — e.g. GPT3 + VMF3 from `gnss-js/troposphere`.
|
|
1152
|
+
* Default: Saastamoinen with the standard atmosphere + Niell. */
|
|
1153
|
+
troposphereModel?: PppTroposphereModel;
|
|
1118
1154
|
/** Expose the final EKF state (position + ambiguities + covariance) in the
|
|
1119
1155
|
* solution for ambiguity-resolved positioning. Default false. */
|
|
1120
1156
|
exposeState?: boolean;
|
|
@@ -1155,6 +1191,16 @@ interface PppOptions {
|
|
|
1155
1191
|
maxChi2?: number;
|
|
1156
1192
|
};
|
|
1157
1193
|
}
|
|
1194
|
+
/** A troposphere model the PPP engine can use (structurally the
|
|
1195
|
+
* `TroposphereModel` of `gnss-js/troposphere`). */
|
|
1196
|
+
interface PppTroposphereModel {
|
|
1197
|
+
delays(utcMs: number, latRad: number, lonRad: number, hEll: number, elRad: number, azRad: number): {
|
|
1198
|
+
zhd: number;
|
|
1199
|
+
mh: number;
|
|
1200
|
+
mw: number;
|
|
1201
|
+
gradient: number;
|
|
1202
|
+
};
|
|
1203
|
+
}
|
|
1158
1204
|
interface PppEpochResult {
|
|
1159
1205
|
timeMs: number;
|
|
1160
1206
|
/** ENU error vs ground truth (m), if truth given. */
|
|
@@ -1842,4 +1888,4 @@ declare function sbasProtectionLevels(sats: readonly {
|
|
|
1842
1888
|
*/
|
|
1843
1889
|
declare function solveSpp(pseudoranges: Map<string, number>, ephemerides: Map<string, Ephemeris>, timeMs: number, opts?: SppOptions): SppSolution | null;
|
|
1844
1890
|
|
|
1845
|
-
export { type AntennaOffset, type AppliedOrbitClock, type ArFixedSat, type ArOptions, type ArResult, type ArSat, type CorrectionResult, type Degradation, type DgnssOptions, type DgnssSolution, type EphemerisSource, type FixedPositionResult, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type MsmResolveOptions, type NetworkFcbResult, type NetworkFcbSummary, type NlArc, type NlFcbResult, type OrbitClockCorrection, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, PppEngine, type PppEphemerisSource, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppFixState, type PppOptions, type PppSatObs, type PppSolution, type RawObservation, type ReceiverBias, type ReceiverClockSample, type RtkAntennaConfig, type RtkAntennaModel, type RtkAntennaOffset, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type RtkObsEpoch, type RtkObsInput, type RtkPostProcessOptions, type RtkPostProcessResult, type RtkReceiverAntenna, type RtkTrackPoint, type SatGeom, type SatSample, type SbasCorrectionSource, type SbasIgp, type SbasIonoDelay, SbasProcessor, type SbasSatCorrection, Sp3EphemerisSource, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, ZeroBaselineEngine, type 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 };
|
|
1891
|
+
export { type AntennaOffset, type AppliedOrbitClock, type ArFixedSat, type ArOptions, type ArResult, type ArSat, BLQ_CONSTITUENTS, type CorrectionResult, type Degradation, type DgnssOptions, type DgnssSolution, type EphemerisSource, type FixedPositionResult, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type MsmResolveOptions, type NetworkFcbResult, type NetworkFcbSummary, type NlArc, type NlFcbResult, type OceanLoadingCoefficients, type OrbitClockCorrection, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, PppEngine, type PppEphemerisSource, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppFixState, type PppOptions, type PppSatObs, type PppSolution, type PppTroposphereModel, type RawObservation, type ReceiverBias, type ReceiverClockSample, type RtkAntennaConfig, type RtkAntennaModel, type RtkAntennaOffset, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type RtkObsEpoch, type RtkObsInput, type RtkPostProcessOptions, type RtkPostProcessResult, type RtkReceiverAntenna, type RtkTrackPoint, type SatGeom, type SatSample, type SbasCorrectionSource, type SbasIgp, type SbasIonoDelay, SbasProcessor, type SbasSatCorrection, Sp3EphemerisSource, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, ZeroBaselineEngine, type ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, oceanLoadingEnu, parseBlq, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
|
package/dist/positioning.d.ts
CHANGED
|
@@ -969,6 +969,36 @@ declare function applyOrbitClock(eph: Ephemeris, corr: OrbitClockCorrection, tim
|
|
|
969
969
|
*/
|
|
970
970
|
declare function hasToOrbitClock(orbit: HasOrbitCorrection, clock: HasClockCorrection | undefined, refTimeMs: number, validitySeconds: number | null): OrbitClockCorrection | null;
|
|
971
971
|
|
|
972
|
+
/**
|
|
973
|
+
* Ocean tide loading: the crust deforms under the weight of the ocean
|
|
974
|
+
* tides, up to several centimetres vertically near tidal coasts. Given a
|
|
975
|
+
* station's BLQ coefficients (amplitude and phase of 11 tidal constituents
|
|
976
|
+
* for the radial, west and south displacement — the format of Onsala's
|
|
977
|
+
* ocean loading service), the displacement at any instant is the sum of the
|
|
978
|
+
* constituents with their astronomical arguments (IERS ARG.f; the method of
|
|
979
|
+
* RTKLIB's tide_oload, without nodal corrections).
|
|
980
|
+
*/
|
|
981
|
+
/** Constituent order of BLQ files. */
|
|
982
|
+
declare const BLQ_CONSTITUENTS: readonly ["M2", "S2", "N2", "K2", "K1", "O1", "P1", "Q1", "Mf", "Mm", "Ssa"];
|
|
983
|
+
/** One station's BLQ coefficients. */
|
|
984
|
+
interface OceanLoadingCoefficients {
|
|
985
|
+
/** Amplitudes (m) [radial, west, south] per constituent (BLQ order). */
|
|
986
|
+
amplitude: [number, number, number][];
|
|
987
|
+
/** Phases (degrees, Greenwich lag) [radial, west, south] per constituent. */
|
|
988
|
+
phase: [number, number, number][];
|
|
989
|
+
}
|
|
990
|
+
/**
|
|
991
|
+
* Ocean loading displacement (m) at `utcMs`, local [East, North, Up].
|
|
992
|
+
* UTC stands in for UT1 (≤ 0.9 s, negligible for tides).
|
|
993
|
+
*/
|
|
994
|
+
declare function oceanLoadingEnu(c: OceanLoadingCoefficients, utcMs: number): [number, number, number];
|
|
995
|
+
/**
|
|
996
|
+
* Read the coefficients of every station in a BLQ file (Onsala format:
|
|
997
|
+
* `$$` comments, a station line, then 3 amplitude rows and 3 phase rows of
|
|
998
|
+
* 11 values). Station names are upper-cased, keyed by their first word.
|
|
999
|
+
*/
|
|
1000
|
+
declare function parseBlq(text: string): Map<string, OceanLoadingCoefficients>;
|
|
1001
|
+
|
|
972
1002
|
/**
|
|
973
1003
|
* Optional PPP range corrections: satellite & receiver antenna phase-centre
|
|
974
1004
|
* offsets, phase wind-up, and solid-earth tides. These take a converged
|
|
@@ -1029,6 +1059,8 @@ interface PppCorrectionConfig {
|
|
|
1029
1059
|
rcvPco?: boolean;
|
|
1030
1060
|
tides?: boolean;
|
|
1031
1061
|
windup?: boolean;
|
|
1062
|
+
/** The station's ocean tide loading coefficients (BLQ), when known. */
|
|
1063
|
+
oceanLoading?: OceanLoadingCoefficients;
|
|
1032
1064
|
}
|
|
1033
1065
|
/** Wire satellite/receiver antenna + tides + wind-up into a PppCorrections. */
|
|
1034
1066
|
declare function createPppCorrections(cfg: PppCorrectionConfig): PppCorrections;
|
|
@@ -1115,6 +1147,10 @@ interface PppOptions {
|
|
|
1115
1147
|
ztdProcessNoise?: number;
|
|
1116
1148
|
/** Model + estimate the troposphere. Default true. */
|
|
1117
1149
|
troposphere?: boolean;
|
|
1150
|
+
/** A-priori troposphere model (zenith hydrostatic delay, mapping
|
|
1151
|
+
* functions, gradients) — e.g. GPT3 + VMF3 from `gnss-js/troposphere`.
|
|
1152
|
+
* Default: Saastamoinen with the standard atmosphere + Niell. */
|
|
1153
|
+
troposphereModel?: PppTroposphereModel;
|
|
1118
1154
|
/** Expose the final EKF state (position + ambiguities + covariance) in the
|
|
1119
1155
|
* solution for ambiguity-resolved positioning. Default false. */
|
|
1120
1156
|
exposeState?: boolean;
|
|
@@ -1155,6 +1191,16 @@ interface PppOptions {
|
|
|
1155
1191
|
maxChi2?: number;
|
|
1156
1192
|
};
|
|
1157
1193
|
}
|
|
1194
|
+
/** A troposphere model the PPP engine can use (structurally the
|
|
1195
|
+
* `TroposphereModel` of `gnss-js/troposphere`). */
|
|
1196
|
+
interface PppTroposphereModel {
|
|
1197
|
+
delays(utcMs: number, latRad: number, lonRad: number, hEll: number, elRad: number, azRad: number): {
|
|
1198
|
+
zhd: number;
|
|
1199
|
+
mh: number;
|
|
1200
|
+
mw: number;
|
|
1201
|
+
gradient: number;
|
|
1202
|
+
};
|
|
1203
|
+
}
|
|
1158
1204
|
interface PppEpochResult {
|
|
1159
1205
|
timeMs: number;
|
|
1160
1206
|
/** ENU error vs ground truth (m), if truth given. */
|
|
@@ -1842,4 +1888,4 @@ declare function sbasProtectionLevels(sats: readonly {
|
|
|
1842
1888
|
*/
|
|
1843
1889
|
declare function solveSpp(pseudoranges: Map<string, number>, ephemerides: Map<string, Ephemeris>, timeMs: number, opts?: SppOptions): SppSolution | null;
|
|
1844
1890
|
|
|
1845
|
-
export { type AntennaOffset, type AppliedOrbitClock, type ArFixedSat, type ArOptions, type ArResult, type ArSat, type CorrectionResult, type Degradation, type DgnssOptions, type DgnssSolution, type EphemerisSource, type FixedPositionResult, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type MsmResolveOptions, type NetworkFcbResult, type NetworkFcbSummary, type NlArc, type NlFcbResult, type OrbitClockCorrection, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, PppEngine, type PppEphemerisSource, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppFixState, type PppOptions, type PppSatObs, type PppSolution, type RawObservation, type ReceiverBias, type ReceiverClockSample, type RtkAntennaConfig, type RtkAntennaModel, type RtkAntennaOffset, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type RtkObsEpoch, type RtkObsInput, type RtkPostProcessOptions, type RtkPostProcessResult, type RtkReceiverAntenna, type RtkTrackPoint, type SatGeom, type SatSample, type SbasCorrectionSource, type SbasIgp, type SbasIonoDelay, SbasProcessor, type SbasSatCorrection, Sp3EphemerisSource, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, ZeroBaselineEngine, type 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 };
|
|
1891
|
+
export { type AntennaOffset, type AppliedOrbitClock, type ArFixedSat, type ArOptions, type ArResult, type ArSat, BLQ_CONSTITUENTS, type CorrectionResult, type Degradation, type DgnssOptions, type DgnssSolution, type EphemerisSource, type FixedPositionResult, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type MsmResolveOptions, type NetworkFcbResult, type NetworkFcbSummary, type NlArc, type NlFcbResult, type OceanLoadingCoefficients, type OrbitClockCorrection, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, PppEngine, type PppEphemerisSource, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppFixState, type PppOptions, type PppSatObs, type PppSolution, type PppTroposphereModel, type RawObservation, type ReceiverBias, type ReceiverClockSample, type RtkAntennaConfig, type RtkAntennaModel, type RtkAntennaOffset, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type RtkObsEpoch, type RtkObsInput, type RtkPostProcessOptions, type RtkPostProcessResult, type RtkReceiverAntenna, type RtkTrackPoint, type SatGeom, type SatSample, type SbasCorrectionSource, type SbasIgp, type SbasIonoDelay, SbasProcessor, type SbasSatCorrection, Sp3EphemerisSource, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, ZeroBaselineEngine, type ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, oceanLoadingEnu, parseBlq, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
|
package/dist/positioning.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
BLQ_CONSTITUENTS,
|
|
2
3
|
IONO_L1_M_PER_TECU,
|
|
3
4
|
PppEngine,
|
|
4
5
|
RtkFloatEngine,
|
|
@@ -26,6 +27,8 @@ import {
|
|
|
26
27
|
moonEcef,
|
|
27
28
|
niellMapping,
|
|
28
29
|
nlWavelength,
|
|
30
|
+
oceanLoadingEnu,
|
|
31
|
+
parseBlq,
|
|
29
32
|
postProcessRtk,
|
|
30
33
|
rcvAntennaRangeM,
|
|
31
34
|
resolveMsmRanges,
|
|
@@ -41,7 +44,7 @@ import {
|
|
|
41
44
|
sunEcef,
|
|
42
45
|
toRtkEpoch,
|
|
43
46
|
wlWavelength
|
|
44
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-TETPRPZ2.js";
|
|
45
48
|
import "./chunk-H3AKFD25.js";
|
|
46
49
|
import "./chunk-7T5DLVZL.js";
|
|
47
50
|
import "./chunk-HVXYFUCB.js";
|
|
@@ -54,6 +57,7 @@ import "./chunk-HUXQABJI.js";
|
|
|
54
57
|
import "./chunk-V2D5KUKH.js";
|
|
55
58
|
import "./chunk-FIEWO4J4.js";
|
|
56
59
|
export {
|
|
60
|
+
BLQ_CONSTITUENTS,
|
|
57
61
|
IONO_L1_M_PER_TECU,
|
|
58
62
|
PppEngine,
|
|
59
63
|
RtkFloatEngine,
|
|
@@ -81,6 +85,8 @@ export {
|
|
|
81
85
|
moonEcef,
|
|
82
86
|
niellMapping,
|
|
83
87
|
nlWavelength,
|
|
88
|
+
oceanLoadingEnu,
|
|
89
|
+
parseBlq,
|
|
84
90
|
postProcessRtk,
|
|
85
91
|
rcvAntennaRangeM,
|
|
86
92
|
resolveMsmRanges,
|