gnss-js 2.13.0 → 2.13.1
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-RWFJEVLJ.js → chunk-PQLPPFIK.js} +27 -2
- package/dist/index.cjs +27 -2
- package/dist/index.js +1 -1
- package/dist/positioning.cjs +27 -2
- package/dist/positioning.js +1 -1
- package/package.json +1 -1
|
@@ -3144,7 +3144,32 @@ function sagnacRotate(x, y, z, travelS) {
|
|
|
3144
3144
|
const s = Math.sin(theta);
|
|
3145
3145
|
return [x * c + y * s, -x * s + y * c, z];
|
|
3146
3146
|
}
|
|
3147
|
-
function satStateAtEmission(source, prn, recvTimeMs, rcv) {
|
|
3147
|
+
function satStateAtEmission(source, prn, recvTimeMs, rcv, pseudorangeM) {
|
|
3148
|
+
if (pseudorangeM !== void 0 && pseudorangeM > 1e6) {
|
|
3149
|
+
let tEmit = recvTimeMs - pseudorangeM / C_LIGHT * 1e3;
|
|
3150
|
+
const s0 = source.satState(prn, tEmit);
|
|
3151
|
+
if (!s0) return null;
|
|
3152
|
+
tEmit -= s0.clkS * 1e3;
|
|
3153
|
+
const s = source.satState(prn, tEmit);
|
|
3154
|
+
if (!s) return null;
|
|
3155
|
+
let travelS2 = 0.075;
|
|
3156
|
+
let pos = [s.x, s.y, s.z];
|
|
3157
|
+
for (let iter = 0; iter < 3; iter++) {
|
|
3158
|
+
pos = sagnacRotate(s.x, s.y, s.z, travelS2);
|
|
3159
|
+
travelS2 = Math.hypot(pos[0] - rcv[0], pos[1] - rcv[1], pos[2] - rcv[2]) / C_LIGHT;
|
|
3160
|
+
}
|
|
3161
|
+
const velDotPos2 = s.x * s.vx + s.y * s.vy + s.z * s.vz;
|
|
3162
|
+
const relS2 = -2 * velDotPos2 / (C_LIGHT * C_LIGHT);
|
|
3163
|
+
return {
|
|
3164
|
+
state: {
|
|
3165
|
+
x: pos[0],
|
|
3166
|
+
y: pos[1],
|
|
3167
|
+
z: pos[2],
|
|
3168
|
+
clkM: C_LIGHT * (s.clkS + relS2)
|
|
3169
|
+
},
|
|
3170
|
+
travelS: travelS2
|
|
3171
|
+
};
|
|
3172
|
+
}
|
|
3148
3173
|
let travelS = 0.075;
|
|
3149
3174
|
let sx = 0;
|
|
3150
3175
|
let sy = 0;
|
|
@@ -3377,7 +3402,7 @@ var PppEngine = class {
|
|
|
3377
3402
|
const o = applySatBiases(source, raw, epoch.timeMs);
|
|
3378
3403
|
if (!o) continue;
|
|
3379
3404
|
const slip = detectSlip(o, ei);
|
|
3380
|
-
const sat = satStateAtEmission(source, o.prn, epoch.timeMs, rcv);
|
|
3405
|
+
const sat = satStateAtEmission(source, o.prn, epoch.timeMs, rcv, o.c1);
|
|
3381
3406
|
if (!sat) continue;
|
|
3382
3407
|
const [elRad, azRad] = getAer(
|
|
3383
3408
|
sat.state.x,
|
package/dist/index.cjs
CHANGED
|
@@ -17013,7 +17013,32 @@ function sagnacRotate(x, y, z, travelS) {
|
|
|
17013
17013
|
const s = Math.sin(theta);
|
|
17014
17014
|
return [x * c + y * s, -x * s + y * c, z];
|
|
17015
17015
|
}
|
|
17016
|
-
function satStateAtEmission(source, prn, recvTimeMs, rcv) {
|
|
17016
|
+
function satStateAtEmission(source, prn, recvTimeMs, rcv, pseudorangeM) {
|
|
17017
|
+
if (pseudorangeM !== void 0 && pseudorangeM > 1e6) {
|
|
17018
|
+
let tEmit = recvTimeMs - pseudorangeM / C_LIGHT * 1e3;
|
|
17019
|
+
const s0 = source.satState(prn, tEmit);
|
|
17020
|
+
if (!s0) return null;
|
|
17021
|
+
tEmit -= s0.clkS * 1e3;
|
|
17022
|
+
const s = source.satState(prn, tEmit);
|
|
17023
|
+
if (!s) return null;
|
|
17024
|
+
let travelS2 = 0.075;
|
|
17025
|
+
let pos = [s.x, s.y, s.z];
|
|
17026
|
+
for (let iter = 0; iter < 3; iter++) {
|
|
17027
|
+
pos = sagnacRotate(s.x, s.y, s.z, travelS2);
|
|
17028
|
+
travelS2 = Math.hypot(pos[0] - rcv[0], pos[1] - rcv[1], pos[2] - rcv[2]) / C_LIGHT;
|
|
17029
|
+
}
|
|
17030
|
+
const velDotPos2 = s.x * s.vx + s.y * s.vy + s.z * s.vz;
|
|
17031
|
+
const relS2 = -2 * velDotPos2 / (C_LIGHT * C_LIGHT);
|
|
17032
|
+
return {
|
|
17033
|
+
state: {
|
|
17034
|
+
x: pos[0],
|
|
17035
|
+
y: pos[1],
|
|
17036
|
+
z: pos[2],
|
|
17037
|
+
clkM: C_LIGHT * (s.clkS + relS2)
|
|
17038
|
+
},
|
|
17039
|
+
travelS: travelS2
|
|
17040
|
+
};
|
|
17041
|
+
}
|
|
17017
17042
|
let travelS = 0.075;
|
|
17018
17043
|
let sx = 0;
|
|
17019
17044
|
let sy = 0;
|
|
@@ -17246,7 +17271,7 @@ var PppEngine = class {
|
|
|
17246
17271
|
const o = applySatBiases(source, raw, epoch.timeMs);
|
|
17247
17272
|
if (!o) continue;
|
|
17248
17273
|
const slip = detectSlip(o, ei);
|
|
17249
|
-
const sat = satStateAtEmission(source, o.prn, epoch.timeMs, rcv);
|
|
17274
|
+
const sat = satStateAtEmission(source, o.prn, epoch.timeMs, rcv, o.c1);
|
|
17250
17275
|
if (!sat) continue;
|
|
17251
17276
|
const [elRad, azRad] = getAer(
|
|
17252
17277
|
sat.state.x,
|
package/dist/index.js
CHANGED
package/dist/positioning.cjs
CHANGED
|
@@ -3753,7 +3753,32 @@ function sagnacRotate(x, y, z, travelS) {
|
|
|
3753
3753
|
const s = Math.sin(theta);
|
|
3754
3754
|
return [x * c + y * s, -x * s + y * c, z];
|
|
3755
3755
|
}
|
|
3756
|
-
function satStateAtEmission(source, prn, recvTimeMs, rcv) {
|
|
3756
|
+
function satStateAtEmission(source, prn, recvTimeMs, rcv, pseudorangeM) {
|
|
3757
|
+
if (pseudorangeM !== void 0 && pseudorangeM > 1e6) {
|
|
3758
|
+
let tEmit = recvTimeMs - pseudorangeM / C_LIGHT * 1e3;
|
|
3759
|
+
const s0 = source.satState(prn, tEmit);
|
|
3760
|
+
if (!s0) return null;
|
|
3761
|
+
tEmit -= s0.clkS * 1e3;
|
|
3762
|
+
const s = source.satState(prn, tEmit);
|
|
3763
|
+
if (!s) return null;
|
|
3764
|
+
let travelS2 = 0.075;
|
|
3765
|
+
let pos = [s.x, s.y, s.z];
|
|
3766
|
+
for (let iter = 0; iter < 3; iter++) {
|
|
3767
|
+
pos = sagnacRotate(s.x, s.y, s.z, travelS2);
|
|
3768
|
+
travelS2 = Math.hypot(pos[0] - rcv[0], pos[1] - rcv[1], pos[2] - rcv[2]) / C_LIGHT;
|
|
3769
|
+
}
|
|
3770
|
+
const velDotPos2 = s.x * s.vx + s.y * s.vy + s.z * s.vz;
|
|
3771
|
+
const relS2 = -2 * velDotPos2 / (C_LIGHT * C_LIGHT);
|
|
3772
|
+
return {
|
|
3773
|
+
state: {
|
|
3774
|
+
x: pos[0],
|
|
3775
|
+
y: pos[1],
|
|
3776
|
+
z: pos[2],
|
|
3777
|
+
clkM: C_LIGHT * (s.clkS + relS2)
|
|
3778
|
+
},
|
|
3779
|
+
travelS: travelS2
|
|
3780
|
+
};
|
|
3781
|
+
}
|
|
3757
3782
|
let travelS = 0.075;
|
|
3758
3783
|
let sx = 0;
|
|
3759
3784
|
let sy = 0;
|
|
@@ -3986,7 +4011,7 @@ var PppEngine = class {
|
|
|
3986
4011
|
const o = applySatBiases(source, raw, epoch.timeMs);
|
|
3987
4012
|
if (!o) continue;
|
|
3988
4013
|
const slip = detectSlip(o, ei);
|
|
3989
|
-
const sat = satStateAtEmission(source, o.prn, epoch.timeMs, rcv);
|
|
4014
|
+
const sat = satStateAtEmission(source, o.prn, epoch.timeMs, rcv, o.c1);
|
|
3990
4015
|
if (!sat) continue;
|
|
3991
4016
|
const [elRad, azRad] = getAer(
|
|
3992
4017
|
sat.state.x,
|
package/dist/positioning.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gnss-js",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.1",
|
|
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,
|