gnss-js 2.8.1 → 2.8.2
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-T5M3LVBJ.js → chunk-5OWRCF56.js} +9 -3
- package/dist/{chunk-F6KOFOXN.js → chunk-CLNLOYBX.js} +1 -1
- package/dist/index.cjs +9 -3
- package/dist/index.js +2 -2
- package/dist/orbit.cjs +9 -3
- package/dist/orbit.d.cts +5 -2
- package/dist/orbit.d.ts +5 -2
- package/dist/orbit.js +1 -1
- package/dist/positioning.cjs +9 -3
- package/dist/positioning.js +2 -2
- package/package.json +1 -1
|
@@ -409,12 +409,18 @@ function dopClock(prn) {
|
|
|
409
409
|
return sys === "J" || sys === "S" ? "G" : sys;
|
|
410
410
|
}
|
|
411
411
|
function computeDop(satAzEls) {
|
|
412
|
-
const
|
|
413
|
-
const
|
|
412
|
+
const perClock = /* @__PURE__ */ new Map();
|
|
413
|
+
for (const s of satAzEls) {
|
|
414
|
+
const c = dopClock(s.prn);
|
|
415
|
+
perClock.set(c, (perClock.get(c) ?? 0) + 1);
|
|
416
|
+
}
|
|
417
|
+
const sats = perClock.size > 1 ? satAzEls.filter((s) => perClock.get(dopClock(s.prn)) > 1) : satAzEls;
|
|
418
|
+
const n = sats.length;
|
|
419
|
+
const clocks = [...new Set(sats.map((s) => dopClock(s.prn)))];
|
|
414
420
|
const m = 3 + clocks.length;
|
|
415
421
|
if (n < Math.max(4, m)) return null;
|
|
416
422
|
const H = [];
|
|
417
|
-
for (const { az, el, prn } of
|
|
423
|
+
for (const { az, el, prn } of sats) {
|
|
418
424
|
const cosEl = Math.cos(el);
|
|
419
425
|
const row = [cosEl * Math.sin(az), cosEl * Math.cos(az), Math.sin(el)];
|
|
420
426
|
const clock = dopClock(prn);
|
package/dist/index.cjs
CHANGED
|
@@ -12684,12 +12684,18 @@ function dopClock(prn) {
|
|
|
12684
12684
|
return sys === "J" || sys === "S" ? "G" : sys;
|
|
12685
12685
|
}
|
|
12686
12686
|
function computeDop(satAzEls) {
|
|
12687
|
-
const
|
|
12688
|
-
const
|
|
12687
|
+
const perClock = /* @__PURE__ */ new Map();
|
|
12688
|
+
for (const s of satAzEls) {
|
|
12689
|
+
const c = dopClock(s.prn);
|
|
12690
|
+
perClock.set(c, (perClock.get(c) ?? 0) + 1);
|
|
12691
|
+
}
|
|
12692
|
+
const sats = perClock.size > 1 ? satAzEls.filter((s) => perClock.get(dopClock(s.prn)) > 1) : satAzEls;
|
|
12693
|
+
const n = sats.length;
|
|
12694
|
+
const clocks = [...new Set(sats.map((s) => dopClock(s.prn)))];
|
|
12689
12695
|
const m = 3 + clocks.length;
|
|
12690
12696
|
if (n < Math.max(4, m)) return null;
|
|
12691
12697
|
const H3 = [];
|
|
12692
|
-
for (const { az, el, prn } of
|
|
12698
|
+
for (const { az, el, prn } of sats) {
|
|
12693
12699
|
const cosEl = Math.cos(el);
|
|
12694
12700
|
const row = [cosEl * Math.sin(az), cosEl * Math.cos(az), Math.sin(el)];
|
|
12695
12701
|
const clock = dopClock(prn);
|
package/dist/index.js
CHANGED
|
@@ -213,7 +213,7 @@ import {
|
|
|
213
213
|
sunEcef,
|
|
214
214
|
toRtkEpoch,
|
|
215
215
|
wlWavelength
|
|
216
|
-
} from "./chunk-
|
|
216
|
+
} from "./chunk-CLNLOYBX.js";
|
|
217
217
|
import "./chunk-WQX354KD.js";
|
|
218
218
|
import {
|
|
219
219
|
almanacEpochMs,
|
|
@@ -235,7 +235,7 @@ import {
|
|
|
235
235
|
navTimesFromEph,
|
|
236
236
|
rangeRate,
|
|
237
237
|
selectEphemeris
|
|
238
|
-
} from "./chunk-
|
|
238
|
+
} from "./chunk-5OWRCF56.js";
|
|
239
239
|
import {
|
|
240
240
|
getBdsTime,
|
|
241
241
|
getDateFromBdsTime,
|
package/dist/orbit.cjs
CHANGED
|
@@ -570,12 +570,18 @@ function dopClock(prn) {
|
|
|
570
570
|
return sys === "J" || sys === "S" ? "G" : sys;
|
|
571
571
|
}
|
|
572
572
|
function computeDop(satAzEls) {
|
|
573
|
-
const
|
|
574
|
-
const
|
|
573
|
+
const perClock = /* @__PURE__ */ new Map();
|
|
574
|
+
for (const s of satAzEls) {
|
|
575
|
+
const c = dopClock(s.prn);
|
|
576
|
+
perClock.set(c, (perClock.get(c) ?? 0) + 1);
|
|
577
|
+
}
|
|
578
|
+
const sats = perClock.size > 1 ? satAzEls.filter((s) => perClock.get(dopClock(s.prn)) > 1) : satAzEls;
|
|
579
|
+
const n = sats.length;
|
|
580
|
+
const clocks = [...new Set(sats.map((s) => dopClock(s.prn)))];
|
|
575
581
|
const m = 3 + clocks.length;
|
|
576
582
|
if (n < Math.max(4, m)) return null;
|
|
577
583
|
const H = [];
|
|
578
|
-
for (const { az, el, prn } of
|
|
584
|
+
for (const { az, el, prn } of sats) {
|
|
579
585
|
const cosEl = Math.cos(el);
|
|
580
586
|
const row = [cosEl * Math.sin(az), cosEl * Math.cos(az), Math.sin(el)];
|
|
581
587
|
const clock = dopClock(prn);
|
package/dist/orbit.d.cts
CHANGED
|
@@ -164,8 +164,11 @@ declare function ecefToAzEl(rxX: number, rxY: number, rxZ: number, satX: number,
|
|
|
164
164
|
* constellation time scale, as a multi-GNSS receiver solves: every extra
|
|
165
165
|
* time scale costs one observation. QZSS and SBAS share the GPS clock —
|
|
166
166
|
* QZSST and SBAS network time are steered to GPST (RTKLIB pntpos does the
|
|
167
|
-
* same) — so a lone SBAS GEO doesn't inflate TDOP/GDOP.
|
|
168
|
-
*
|
|
167
|
+
* same) — so a lone SBAS GEO doesn't inflate TDOP/GDOP. A time scale
|
|
168
|
+
* with a single satellite in view is left out: that satellite only fixes
|
|
169
|
+
* its own clock, adding nothing to PDOP/HDOP/VDOP and an unrecoverable ~1
|
|
170
|
+
* to TDOP². Untagged satellites share a single clock (the classic
|
|
171
|
+
* single-system model).
|
|
169
172
|
*
|
|
170
173
|
* @param satAzEls Satellite azimuth/elevation pairs (radians), optionally
|
|
171
174
|
* tagged with their PRN.
|
package/dist/orbit.d.ts
CHANGED
|
@@ -164,8 +164,11 @@ declare function ecefToAzEl(rxX: number, rxY: number, rxZ: number, satX: number,
|
|
|
164
164
|
* constellation time scale, as a multi-GNSS receiver solves: every extra
|
|
165
165
|
* time scale costs one observation. QZSS and SBAS share the GPS clock —
|
|
166
166
|
* QZSST and SBAS network time are steered to GPST (RTKLIB pntpos does the
|
|
167
|
-
* same) — so a lone SBAS GEO doesn't inflate TDOP/GDOP.
|
|
168
|
-
*
|
|
167
|
+
* same) — so a lone SBAS GEO doesn't inflate TDOP/GDOP. A time scale
|
|
168
|
+
* with a single satellite in view is left out: that satellite only fixes
|
|
169
|
+
* its own clock, adding nothing to PDOP/HDOP/VDOP and an unrecoverable ~1
|
|
170
|
+
* to TDOP². Untagged satellites share a single clock (the classic
|
|
171
|
+
* single-system model).
|
|
169
172
|
*
|
|
170
173
|
* @param satAzEls Satellite azimuth/elevation pairs (radians), optionally
|
|
171
174
|
* tagged with their PRN.
|
package/dist/orbit.js
CHANGED
package/dist/positioning.cjs
CHANGED
|
@@ -442,12 +442,18 @@ function dopClock(prn) {
|
|
|
442
442
|
return sys === "J" || sys === "S" ? "G" : sys;
|
|
443
443
|
}
|
|
444
444
|
function computeDop(satAzEls) {
|
|
445
|
-
const
|
|
446
|
-
const
|
|
445
|
+
const perClock = /* @__PURE__ */ new Map();
|
|
446
|
+
for (const s of satAzEls) {
|
|
447
|
+
const c = dopClock(s.prn);
|
|
448
|
+
perClock.set(c, (perClock.get(c) ?? 0) + 1);
|
|
449
|
+
}
|
|
450
|
+
const sats = perClock.size > 1 ? satAzEls.filter((s) => perClock.get(dopClock(s.prn)) > 1) : satAzEls;
|
|
451
|
+
const n = sats.length;
|
|
452
|
+
const clocks = [...new Set(sats.map((s) => dopClock(s.prn)))];
|
|
447
453
|
const m = 3 + clocks.length;
|
|
448
454
|
if (n < Math.max(4, m)) return null;
|
|
449
455
|
const H = [];
|
|
450
|
-
for (const { az, el, prn } of
|
|
456
|
+
for (const { az, el, prn } of sats) {
|
|
451
457
|
const cosEl = Math.cos(el);
|
|
452
458
|
const row = [cosEl * Math.sin(az), cosEl * Math.cos(az), Math.sin(el)];
|
|
453
459
|
const clock = dopClock(prn);
|
package/dist/positioning.js
CHANGED
|
@@ -40,9 +40,9 @@ import {
|
|
|
40
40
|
sunEcef,
|
|
41
41
|
toRtkEpoch,
|
|
42
42
|
wlWavelength
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-CLNLOYBX.js";
|
|
44
44
|
import "./chunk-WQX354KD.js";
|
|
45
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-5OWRCF56.js";
|
|
46
46
|
import "./chunk-HVXYFUCB.js";
|
|
47
47
|
import "./chunk-CVCTRIWU.js";
|
|
48
48
|
import "./chunk-37QNKGTC.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gnss-js",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.2",
|
|
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,
|