gnss-js 2.2.0 → 2.3.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-DWUQRJ37.js → chunk-TYJNN77C.js} +275 -178
- package/dist/index.cjs +277 -177
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7 -1
- package/dist/positioning.cjs +277 -177
- package/dist/positioning.d.cts +91 -23
- package/dist/positioning.d.ts +91 -23
- package/dist/positioning.js +7 -1
- package/package.json +1 -1
package/dist/positioning.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { E as Ephemeris } from './nav-DImXUdbp.cjs';
|
|
2
2
|
import { DopValues } from './orbit.cjs';
|
|
3
3
|
import { I as IonexGrid, C as ClkFile, S as Sp3File } from './clk-DGVBGRzA.cjs';
|
|
4
|
-
import { a as HasOrbitCorrection, b as HasClockCorrection } from './has-BaXnQarR.cjs';
|
|
5
4
|
import { AntexFile } from './antex.cjs';
|
|
5
|
+
import { a as HasOrbitCorrection, b as HasClockCorrection } from './has-BaXnQarR.cjs';
|
|
6
6
|
import './ephemeris-BAnBLLB9.cjs';
|
|
7
7
|
import './ecef-CF0uAysr.cjs';
|
|
8
8
|
import './nav-BYmYoh9A.cjs';
|
|
@@ -83,6 +83,87 @@ declare function gimVerticalTec(grid: IonexGrid, timeMs: number, latDeg: number,
|
|
|
83
83
|
*/
|
|
84
84
|
declare function gimSlantIonoDelayL1(grid: IonexGrid, latRad: number, lonRad: number, azRad: number, elRad: number, timeMs: number): number | null;
|
|
85
85
|
|
|
86
|
+
/**
|
|
87
|
+
* ANTEX phase-centre application for PPP: satellite and receiver antenna
|
|
88
|
+
* PCO (offset) + PCV (elevation-dependent variation), ionosphere-free
|
|
89
|
+
* combined, with the nominal yaw-steering satellite attitude used to
|
|
90
|
+
* rotate the satellite PCO from the body frame into ECEF.
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
interface AntennaOffset {
|
|
94
|
+
/** IF-combined PCO (m): satellite → body-frame [X,Y,Z]; receiver → ENU. */
|
|
95
|
+
pco: [number, number, number];
|
|
96
|
+
/** IF-combined no-azimuth PCV samples (m) over zenith/nadir angle. */
|
|
97
|
+
pcvZen1Deg: number;
|
|
98
|
+
pcvDzenDeg: number;
|
|
99
|
+
pcvNoazi: number[];
|
|
100
|
+
}
|
|
101
|
+
interface PppAntennaModel {
|
|
102
|
+
satOffset(prn: string, dateMs: number, band1: string, band2: string, f1: number, f2: number): AntennaOffset | null;
|
|
103
|
+
rcvOffset(antType: string, band1: string, band2: string, f1: number, f2: number): AntennaOffset | null;
|
|
104
|
+
}
|
|
105
|
+
declare function buildPppAntenna(antex: AntexFile): PppAntennaModel;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Per-frequency receiver antenna corrections for RTK.
|
|
109
|
+
*
|
|
110
|
+
* RTK forms double differences per signal (L1, L2, … separately), so — unlike
|
|
111
|
+
* PPP, which works on the ionosphere-free combination — it needs the antenna
|
|
112
|
+
* phase-centre offset (PCO) and no-azimuth phase-centre variation (PCV) for
|
|
113
|
+
* each frequency in isolation, not IF-combined. This module is therefore a
|
|
114
|
+
* deliberately separate model from {@link buildPppAntenna}.
|
|
115
|
+
*
|
|
116
|
+
* The satellite antenna cancels in the base↔rover double difference, so only
|
|
117
|
+
* the *receiver* antennas matter — and only when base and rover differ (same
|
|
118
|
+
* antenna type + orientation cancels too). The correction is the same range
|
|
119
|
+
* quantity the PPP receiver term applies (PCO projected on the line of sight +
|
|
120
|
+
* elevation PCV + marker→ARP delta), added to the modelled geometric range.
|
|
121
|
+
*/
|
|
122
|
+
|
|
123
|
+
/** A single-frequency receiver antenna offset (PCO in ENU metres + no-azimuth
|
|
124
|
+
* PCV over zenith). Shares {@link AntennaOffset}'s shape so {@link interpPcv}
|
|
125
|
+
* applies directly. */
|
|
126
|
+
type RtkAntennaOffset = AntennaOffset;
|
|
127
|
+
interface RtkAntennaModel {
|
|
128
|
+
/** Receiver PCO + PCV for one ANTEX frequency code (e.g. 'G01', 'E05'), or
|
|
129
|
+
* null when the antenna type or that frequency isn't calibrated. */
|
|
130
|
+
rcvOffset(antType: string, freq: string): RtkAntennaOffset | null;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Build a per-frequency receiver antenna model from an ANTEX file (e.g.
|
|
134
|
+
* igs20.atx). Receiver antennas are keyed by their 20-char type (RINEX header
|
|
135
|
+
* "ANT # / TYPE"); satellite entries are ignored (they cancel in the DD).
|
|
136
|
+
*/
|
|
137
|
+
declare function buildRtkAntenna(antex: AntexFile): RtkAntennaModel;
|
|
138
|
+
/**
|
|
139
|
+
* Additive range correction (m) for one receiver observing one satellite,
|
|
140
|
+
* matching the PPP receiver-antenna convention: it is *added to the modelled
|
|
141
|
+
* geometric range* (marker→satellite). `losRcvToSat` is the unit line of sight
|
|
142
|
+
* from the receiver to the satellite; `antDeltaEnu` is the marker→ARP offset
|
|
143
|
+
* in local ENU (m).
|
|
144
|
+
*/
|
|
145
|
+
declare function rcvAntennaRangeM(off: RtkAntennaOffset, losRcvToSat: [number, number, number], latRad: number, lonRad: number, elRad: number, antDeltaEnu?: readonly [number, number, number]): number;
|
|
146
|
+
/** Per-receiver antenna configuration for {@link RtkFloatOptions.antenna}. */
|
|
147
|
+
interface RtkReceiverAntenna {
|
|
148
|
+
/** RINEX antenna type (20-char "ANT # / TYPE"), keyed into the model. */
|
|
149
|
+
type: string;
|
|
150
|
+
/** Marker→ARP offset in local ENU (m). RINEX "ANTENNA: DELTA H/E/N" is
|
|
151
|
+
* [Up, East, North] → pass as [E, N, U]. Default [0,0,0]. */
|
|
152
|
+
deltaEnu?: [number, number, number];
|
|
153
|
+
}
|
|
154
|
+
/** RTK antenna configuration: a per-frequency model + the base/rover antennas.
|
|
155
|
+
* Corrections are applied only for a receiver whose antenna is supplied and
|
|
156
|
+
* found in the model; the satellite antenna is never needed (cancels in the
|
|
157
|
+
* double difference). */
|
|
158
|
+
interface RtkAntennaConfig {
|
|
159
|
+
model: RtkAntennaModel;
|
|
160
|
+
base?: RtkReceiverAntenna;
|
|
161
|
+
rover?: RtkReceiverAntenna;
|
|
162
|
+
}
|
|
163
|
+
/** ANTEX frequency code for an RTK signal group ("G1C" → "G01"): system letter
|
|
164
|
+
* + '0' + band digit. */
|
|
165
|
+
declare function antexFreqOfGroup(group: string): string;
|
|
166
|
+
|
|
86
167
|
/**
|
|
87
168
|
* RTK positioning, stage 1: epoch-wise double-differenced (DD)
|
|
88
169
|
* processing of a base/rover receiver pair.
|
|
@@ -306,6 +387,14 @@ interface RtkFloatOptions {
|
|
|
306
387
|
partialFixing?: boolean;
|
|
307
388
|
/** Minimum DD ambiguities to attempt/accept a fix. Default 4. */
|
|
308
389
|
minFixAmbiguities?: number;
|
|
390
|
+
/**
|
|
391
|
+
* Receiver antenna phase-centre corrections (per-frequency PCO + PCV) for
|
|
392
|
+
* the base and rover. Only worthwhile on mixed-antenna baselines — with the
|
|
393
|
+
* same antenna type + orientation at both ends the correction cancels in the
|
|
394
|
+
* double difference. The satellite antenna is never needed (it cancels too).
|
|
395
|
+
* Build the model with {@link buildRtkAntenna}. Default: none.
|
|
396
|
+
*/
|
|
397
|
+
antenna?: RtkAntennaConfig | null;
|
|
309
398
|
}
|
|
310
399
|
interface RtkFloatSolution {
|
|
311
400
|
/** Epoch, GPS-scale milliseconds. */
|
|
@@ -778,27 +867,6 @@ declare function applyOrbitClock(eph: Ephemeris, corr: OrbitClockCorrection, tim
|
|
|
778
867
|
*/
|
|
779
868
|
declare function hasToOrbitClock(orbit: HasOrbitCorrection, clock: HasClockCorrection | undefined, refTimeMs: number, validitySeconds: number | null): OrbitClockCorrection | null;
|
|
780
869
|
|
|
781
|
-
/**
|
|
782
|
-
* ANTEX phase-centre application for PPP: satellite and receiver antenna
|
|
783
|
-
* PCO (offset) + PCV (elevation-dependent variation), ionosphere-free
|
|
784
|
-
* combined, with the nominal yaw-steering satellite attitude used to
|
|
785
|
-
* rotate the satellite PCO from the body frame into ECEF.
|
|
786
|
-
*/
|
|
787
|
-
|
|
788
|
-
interface AntennaOffset {
|
|
789
|
-
/** IF-combined PCO (m): satellite → body-frame [X,Y,Z]; receiver → ENU. */
|
|
790
|
-
pco: [number, number, number];
|
|
791
|
-
/** IF-combined no-azimuth PCV samples (m) over zenith/nadir angle. */
|
|
792
|
-
pcvZen1Deg: number;
|
|
793
|
-
pcvDzenDeg: number;
|
|
794
|
-
pcvNoazi: number[];
|
|
795
|
-
}
|
|
796
|
-
interface PppAntennaModel {
|
|
797
|
-
satOffset(prn: string, dateMs: number, band1: string, band2: string, f1: number, f2: number): AntennaOffset | null;
|
|
798
|
-
rcvOffset(antType: string, band1: string, band2: string, f1: number, f2: number): AntennaOffset | null;
|
|
799
|
-
}
|
|
800
|
-
declare function buildPppAntenna(antex: AntexFile): PppAntennaModel;
|
|
801
|
-
|
|
802
870
|
/**
|
|
803
871
|
* Optional PPP range corrections: satellite & receiver antenna phase-centre
|
|
804
872
|
* offsets, phase wind-up, and solid-earth tides. These take a converged
|
|
@@ -1567,4 +1635,4 @@ declare function sbasProtectionLevels(sats: readonly {
|
|
|
1567
1635
|
*/
|
|
1568
1636
|
declare function solveSpp(pseudoranges: Map<string, number>, ephemerides: Map<string, Ephemeris>, timeMs: number, opts?: SppOptions): SppSolution | null;
|
|
1569
1637
|
|
|
1570
|
-
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 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 RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type RtkObsEpoch, type RtkObsInput, type RtkPostProcessOptions, type RtkPostProcessResult, 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, applyOrbitClock, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
|
|
1638
|
+
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 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 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, 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 };
|
package/dist/positioning.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { E as Ephemeris } from './nav-DImXUdbp.js';
|
|
2
2
|
import { DopValues } from './orbit.js';
|
|
3
3
|
import { I as IonexGrid, C as ClkFile, S as Sp3File } from './clk-DGVBGRzA.js';
|
|
4
|
-
import { a as HasOrbitCorrection, b as HasClockCorrection } from './has-BaXnQarR.js';
|
|
5
4
|
import { AntexFile } from './antex.js';
|
|
5
|
+
import { a as HasOrbitCorrection, b as HasClockCorrection } from './has-BaXnQarR.js';
|
|
6
6
|
import './ephemeris-BAnBLLB9.js';
|
|
7
7
|
import './ecef-CF0uAysr.js';
|
|
8
8
|
import './nav-CN8rxL4h.js';
|
|
@@ -83,6 +83,87 @@ declare function gimVerticalTec(grid: IonexGrid, timeMs: number, latDeg: number,
|
|
|
83
83
|
*/
|
|
84
84
|
declare function gimSlantIonoDelayL1(grid: IonexGrid, latRad: number, lonRad: number, azRad: number, elRad: number, timeMs: number): number | null;
|
|
85
85
|
|
|
86
|
+
/**
|
|
87
|
+
* ANTEX phase-centre application for PPP: satellite and receiver antenna
|
|
88
|
+
* PCO (offset) + PCV (elevation-dependent variation), ionosphere-free
|
|
89
|
+
* combined, with the nominal yaw-steering satellite attitude used to
|
|
90
|
+
* rotate the satellite PCO from the body frame into ECEF.
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
interface AntennaOffset {
|
|
94
|
+
/** IF-combined PCO (m): satellite → body-frame [X,Y,Z]; receiver → ENU. */
|
|
95
|
+
pco: [number, number, number];
|
|
96
|
+
/** IF-combined no-azimuth PCV samples (m) over zenith/nadir angle. */
|
|
97
|
+
pcvZen1Deg: number;
|
|
98
|
+
pcvDzenDeg: number;
|
|
99
|
+
pcvNoazi: number[];
|
|
100
|
+
}
|
|
101
|
+
interface PppAntennaModel {
|
|
102
|
+
satOffset(prn: string, dateMs: number, band1: string, band2: string, f1: number, f2: number): AntennaOffset | null;
|
|
103
|
+
rcvOffset(antType: string, band1: string, band2: string, f1: number, f2: number): AntennaOffset | null;
|
|
104
|
+
}
|
|
105
|
+
declare function buildPppAntenna(antex: AntexFile): PppAntennaModel;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Per-frequency receiver antenna corrections for RTK.
|
|
109
|
+
*
|
|
110
|
+
* RTK forms double differences per signal (L1, L2, … separately), so — unlike
|
|
111
|
+
* PPP, which works on the ionosphere-free combination — it needs the antenna
|
|
112
|
+
* phase-centre offset (PCO) and no-azimuth phase-centre variation (PCV) for
|
|
113
|
+
* each frequency in isolation, not IF-combined. This module is therefore a
|
|
114
|
+
* deliberately separate model from {@link buildPppAntenna}.
|
|
115
|
+
*
|
|
116
|
+
* The satellite antenna cancels in the base↔rover double difference, so only
|
|
117
|
+
* the *receiver* antennas matter — and only when base and rover differ (same
|
|
118
|
+
* antenna type + orientation cancels too). The correction is the same range
|
|
119
|
+
* quantity the PPP receiver term applies (PCO projected on the line of sight +
|
|
120
|
+
* elevation PCV + marker→ARP delta), added to the modelled geometric range.
|
|
121
|
+
*/
|
|
122
|
+
|
|
123
|
+
/** A single-frequency receiver antenna offset (PCO in ENU metres + no-azimuth
|
|
124
|
+
* PCV over zenith). Shares {@link AntennaOffset}'s shape so {@link interpPcv}
|
|
125
|
+
* applies directly. */
|
|
126
|
+
type RtkAntennaOffset = AntennaOffset;
|
|
127
|
+
interface RtkAntennaModel {
|
|
128
|
+
/** Receiver PCO + PCV for one ANTEX frequency code (e.g. 'G01', 'E05'), or
|
|
129
|
+
* null when the antenna type or that frequency isn't calibrated. */
|
|
130
|
+
rcvOffset(antType: string, freq: string): RtkAntennaOffset | null;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Build a per-frequency receiver antenna model from an ANTEX file (e.g.
|
|
134
|
+
* igs20.atx). Receiver antennas are keyed by their 20-char type (RINEX header
|
|
135
|
+
* "ANT # / TYPE"); satellite entries are ignored (they cancel in the DD).
|
|
136
|
+
*/
|
|
137
|
+
declare function buildRtkAntenna(antex: AntexFile): RtkAntennaModel;
|
|
138
|
+
/**
|
|
139
|
+
* Additive range correction (m) for one receiver observing one satellite,
|
|
140
|
+
* matching the PPP receiver-antenna convention: it is *added to the modelled
|
|
141
|
+
* geometric range* (marker→satellite). `losRcvToSat` is the unit line of sight
|
|
142
|
+
* from the receiver to the satellite; `antDeltaEnu` is the marker→ARP offset
|
|
143
|
+
* in local ENU (m).
|
|
144
|
+
*/
|
|
145
|
+
declare function rcvAntennaRangeM(off: RtkAntennaOffset, losRcvToSat: [number, number, number], latRad: number, lonRad: number, elRad: number, antDeltaEnu?: readonly [number, number, number]): number;
|
|
146
|
+
/** Per-receiver antenna configuration for {@link RtkFloatOptions.antenna}. */
|
|
147
|
+
interface RtkReceiverAntenna {
|
|
148
|
+
/** RINEX antenna type (20-char "ANT # / TYPE"), keyed into the model. */
|
|
149
|
+
type: string;
|
|
150
|
+
/** Marker→ARP offset in local ENU (m). RINEX "ANTENNA: DELTA H/E/N" is
|
|
151
|
+
* [Up, East, North] → pass as [E, N, U]. Default [0,0,0]. */
|
|
152
|
+
deltaEnu?: [number, number, number];
|
|
153
|
+
}
|
|
154
|
+
/** RTK antenna configuration: a per-frequency model + the base/rover antennas.
|
|
155
|
+
* Corrections are applied only for a receiver whose antenna is supplied and
|
|
156
|
+
* found in the model; the satellite antenna is never needed (cancels in the
|
|
157
|
+
* double difference). */
|
|
158
|
+
interface RtkAntennaConfig {
|
|
159
|
+
model: RtkAntennaModel;
|
|
160
|
+
base?: RtkReceiverAntenna;
|
|
161
|
+
rover?: RtkReceiverAntenna;
|
|
162
|
+
}
|
|
163
|
+
/** ANTEX frequency code for an RTK signal group ("G1C" → "G01"): system letter
|
|
164
|
+
* + '0' + band digit. */
|
|
165
|
+
declare function antexFreqOfGroup(group: string): string;
|
|
166
|
+
|
|
86
167
|
/**
|
|
87
168
|
* RTK positioning, stage 1: epoch-wise double-differenced (DD)
|
|
88
169
|
* processing of a base/rover receiver pair.
|
|
@@ -306,6 +387,14 @@ interface RtkFloatOptions {
|
|
|
306
387
|
partialFixing?: boolean;
|
|
307
388
|
/** Minimum DD ambiguities to attempt/accept a fix. Default 4. */
|
|
308
389
|
minFixAmbiguities?: number;
|
|
390
|
+
/**
|
|
391
|
+
* Receiver antenna phase-centre corrections (per-frequency PCO + PCV) for
|
|
392
|
+
* the base and rover. Only worthwhile on mixed-antenna baselines — with the
|
|
393
|
+
* same antenna type + orientation at both ends the correction cancels in the
|
|
394
|
+
* double difference. The satellite antenna is never needed (it cancels too).
|
|
395
|
+
* Build the model with {@link buildRtkAntenna}. Default: none.
|
|
396
|
+
*/
|
|
397
|
+
antenna?: RtkAntennaConfig | null;
|
|
309
398
|
}
|
|
310
399
|
interface RtkFloatSolution {
|
|
311
400
|
/** Epoch, GPS-scale milliseconds. */
|
|
@@ -778,27 +867,6 @@ declare function applyOrbitClock(eph: Ephemeris, corr: OrbitClockCorrection, tim
|
|
|
778
867
|
*/
|
|
779
868
|
declare function hasToOrbitClock(orbit: HasOrbitCorrection, clock: HasClockCorrection | undefined, refTimeMs: number, validitySeconds: number | null): OrbitClockCorrection | null;
|
|
780
869
|
|
|
781
|
-
/**
|
|
782
|
-
* ANTEX phase-centre application for PPP: satellite and receiver antenna
|
|
783
|
-
* PCO (offset) + PCV (elevation-dependent variation), ionosphere-free
|
|
784
|
-
* combined, with the nominal yaw-steering satellite attitude used to
|
|
785
|
-
* rotate the satellite PCO from the body frame into ECEF.
|
|
786
|
-
*/
|
|
787
|
-
|
|
788
|
-
interface AntennaOffset {
|
|
789
|
-
/** IF-combined PCO (m): satellite → body-frame [X,Y,Z]; receiver → ENU. */
|
|
790
|
-
pco: [number, number, number];
|
|
791
|
-
/** IF-combined no-azimuth PCV samples (m) over zenith/nadir angle. */
|
|
792
|
-
pcvZen1Deg: number;
|
|
793
|
-
pcvDzenDeg: number;
|
|
794
|
-
pcvNoazi: number[];
|
|
795
|
-
}
|
|
796
|
-
interface PppAntennaModel {
|
|
797
|
-
satOffset(prn: string, dateMs: number, band1: string, band2: string, f1: number, f2: number): AntennaOffset | null;
|
|
798
|
-
rcvOffset(antType: string, band1: string, band2: string, f1: number, f2: number): AntennaOffset | null;
|
|
799
|
-
}
|
|
800
|
-
declare function buildPppAntenna(antex: AntexFile): PppAntennaModel;
|
|
801
|
-
|
|
802
870
|
/**
|
|
803
871
|
* Optional PPP range corrections: satellite & receiver antenna phase-centre
|
|
804
872
|
* offsets, phase wind-up, and solid-earth tides. These take a converged
|
|
@@ -1567,4 +1635,4 @@ declare function sbasProtectionLevels(sats: readonly {
|
|
|
1567
1635
|
*/
|
|
1568
1636
|
declare function solveSpp(pseudoranges: Map<string, number>, ephemerides: Map<string, Ephemeris>, timeMs: number, opts?: SppOptions): SppSolution | null;
|
|
1569
1637
|
|
|
1570
|
-
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 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 RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type RtkObsEpoch, type RtkObsInput, type RtkPostProcessOptions, type RtkPostProcessResult, 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, applyOrbitClock, buildPppAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
|
|
1638
|
+
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 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 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, 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 };
|
package/dist/positioning.js
CHANGED
|
@@ -4,8 +4,10 @@ import {
|
|
|
4
4
|
RtkFloatEngine,
|
|
5
5
|
SbasProcessor,
|
|
6
6
|
Sp3EphemerisSource,
|
|
7
|
+
antexFreqOfGroup,
|
|
7
8
|
applyOrbitClock,
|
|
8
9
|
buildPppAntenna,
|
|
10
|
+
buildRtkAntenna,
|
|
9
11
|
createPppCorrections,
|
|
10
12
|
estimateNarrowlaneFcb,
|
|
11
13
|
estimateNetworkFcbs,
|
|
@@ -24,6 +26,7 @@ import {
|
|
|
24
26
|
niellMapping,
|
|
25
27
|
nlWavelength,
|
|
26
28
|
postProcessRtk,
|
|
29
|
+
rcvAntennaRangeM,
|
|
27
30
|
resolvePppAmbiguities,
|
|
28
31
|
satClockCorrection,
|
|
29
32
|
sbasIonoDeg,
|
|
@@ -36,7 +39,7 @@ import {
|
|
|
36
39
|
sunEcef,
|
|
37
40
|
toRtkEpoch,
|
|
38
41
|
wlWavelength
|
|
39
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-TYJNN77C.js";
|
|
40
43
|
import "./chunk-WQX354KD.js";
|
|
41
44
|
import "./chunk-JYWYQ7DW.js";
|
|
42
45
|
import "./chunk-HVXYFUCB.js";
|
|
@@ -54,8 +57,10 @@ export {
|
|
|
54
57
|
RtkFloatEngine,
|
|
55
58
|
SbasProcessor,
|
|
56
59
|
Sp3EphemerisSource,
|
|
60
|
+
antexFreqOfGroup,
|
|
57
61
|
applyOrbitClock,
|
|
58
62
|
buildPppAntenna,
|
|
63
|
+
buildRtkAntenna,
|
|
59
64
|
createPppCorrections,
|
|
60
65
|
estimateNarrowlaneFcb,
|
|
61
66
|
estimateNetworkFcbs,
|
|
@@ -74,6 +79,7 @@ export {
|
|
|
74
79
|
niellMapping,
|
|
75
80
|
nlWavelength,
|
|
76
81
|
postProcessRtk,
|
|
82
|
+
rcvAntennaRangeM,
|
|
77
83
|
resolvePppAmbiguities,
|
|
78
84
|
satClockCorrection,
|
|
79
85
|
sbasIonoDeg,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gnss-js",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.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,
|