gnss-js 1.27.0 → 1.28.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/rinex.d.ts CHANGED
@@ -2,7 +2,7 @@ import { R as RinexHeader } from './parser-JPjjFgeP.js';
2
2
  export { E as EpochSummary, P as ParseOptions, a as RinexResult, b as RinexStats, S as SYSTEM_ORDER, c as SatObsCallback, p as parseRinexStream, s as systemCmp, d as systemName } from './parser-JPjjFgeP.js';
3
3
  import { a as NavResult, N as NavHeader, E as Ephemeris, R as RinexCnavEphemeris } from './nav-DImXUdbp.js';
4
4
  export { G as GlonassEphemeris, K as KeplerEphemeris, p as parseNavFile } from './nav-DImXUdbp.js';
5
- export { I as IonexGrid, p as parseIonex } from './ionex-DaW5x9nq.js';
5
+ export { I as IonexGrid, S as Sp3File, a as Sp3Sample, p as parseIonex, b as parseSp3, s as sp3Position } from './sp3-BAq8l39b.js';
6
6
 
7
7
  /**
8
8
  * Compact RINEX (Hatanaka / CRX) decompression utilities.
@@ -182,53 +182,6 @@ interface Nav4Input {
182
182
  */
183
183
  declare function writeRinexNav4(nav: Nav4Input): string;
184
184
 
185
- /**
186
- * SP3-c/-d precise orbit and clock parser, with Lagrange interpolation
187
- * for evaluating positions between the tabulated epochs.
188
- *
189
- * Positions are converted to meters (SP3 tabulates km), clocks to
190
- * seconds (SP3 tabulates microseconds). Missing positions (all-zero
191
- * coordinates) and the 999999.999999 bad-clock sentinel become null.
192
- * Epoch tags are read in the file's own time scale (GPS for IGS/MGEX
193
- * products) as epoch milliseconds, matching the convention of the
194
- * RINEX parsers in this library.
195
- */
196
- interface Sp3Sample {
197
- /** ECEF meters. */
198
- x: number;
199
- y: number;
200
- z: number;
201
- /** Satellite clock offset in seconds, or null when flagged bad. */
202
- clk: number | null;
203
- }
204
- interface Sp3File {
205
- version: string;
206
- /** Epoch timestamps (ms). */
207
- epochs: number[];
208
- /** Tabulated interval in seconds (from the ## header line). */
209
- intervalSec: number;
210
- /** Time system from the %c line, e.g. 'GPS'. */
211
- timeSystem: string;
212
- /** prn → per-epoch samples (null where the satellite is missing). */
213
- satellites: Record<string, (Sp3Sample | null)[]>;
214
- }
215
- declare function parseSp3(text: string): Sp3File;
216
- /**
217
- * Satellite position at an arbitrary time by Lagrange interpolation
218
- * over the `order` nearest tabulated samples (default 9, the standard
219
- * choice for 5–15 min SP3 tables; centimetre-level between nodes).
220
- * Clock is interpolated linearly between the bracketing samples.
221
- *
222
- * Returns null outside the covered span, near data gaps, or when the
223
- * satellite is absent.
224
- */
225
- declare function sp3Position(sp3: Sp3File, prn: string, tMs: number, order?: number): {
226
- x: number;
227
- y: number;
228
- z: number;
229
- clk: number | null;
230
- } | null;
231
-
232
185
  /**
233
186
  * RINEX 3.04 / 4.01 observation file writer.
234
187
  *
@@ -310,4 +263,4 @@ declare function createGzipLineSink(): {
310
263
  */
311
264
  declare function stationHeaderLines(header: RinexHeader): string[];
312
265
 
313
- export { type CompactEpoch, type CrxField, type DiffState, EMPTY_WARNINGS, Ephemeris, type Nav4Input, NavHeader, NavResult, RinexCnavEphemeris, RinexHeader, type RinexWarning, type RinexWarnings, type Sp3File, type Sp3Sample, WarningAccumulator, type WarningSeverity, type WriteCrxOptions, createGzipLineSink, crxDecompress, crxRepair, fmtD, fmtF, hdrLine, padL, padR, parseCrxDataLine, parseSp3, sp3Position, stationHeaderLines, writeCrx, writeModernObsBlob, writeRinex2ObsBlob, writeRinex4ObsBlob, writeRinexNav, writeRinexNav4, writeRinexObsBlob };
266
+ export { type CompactEpoch, type CrxField, type DiffState, EMPTY_WARNINGS, Ephemeris, type Nav4Input, NavHeader, NavResult, RinexCnavEphemeris, RinexHeader, type RinexWarning, type RinexWarnings, WarningAccumulator, type WarningSeverity, type WriteCrxOptions, createGzipLineSink, crxDecompress, crxRepair, fmtD, fmtF, hdrLine, padL, padR, parseCrxDataLine, stationHeaderLines, writeCrx, writeModernObsBlob, writeRinex2ObsBlob, writeRinex4ObsBlob, writeRinexNav, writeRinexNav4, writeRinexObsBlob };
package/dist/rinex.js CHANGED
@@ -9,8 +9,6 @@ import {
9
9
  padR,
10
10
  parseIonex,
11
11
  parseNavFile,
12
- parseSp3,
13
- sp3Position,
14
12
  stationHeaderLines,
15
13
  writeCrx,
16
14
  writeModernObsBlob,
@@ -19,7 +17,7 @@ import {
19
17
  writeRinexNav,
20
18
  writeRinexNav4,
21
19
  writeRinexObsBlob
22
- } from "./chunk-QVNNHACQ.js";
20
+ } from "./chunk-6GTS5MVI.js";
23
21
  import "./chunk-726LQBGM.js";
24
22
  import "./chunk-IQ5OIMQD.js";
25
23
  import {
@@ -31,6 +29,10 @@ import {
31
29
  systemCmp,
32
30
  systemName
33
31
  } from "./chunk-3U5AX7PY.js";
32
+ import {
33
+ parseSp3,
34
+ sp3Position
35
+ } from "./chunk-4KMWWCUR.js";
34
36
  import "./chunk-FIEWO4J4.js";
35
37
  export {
36
38
  EMPTY_WARNINGS,
@@ -0,0 +1,70 @@
1
+ /**
2
+ * IONEX 1.0 parser — global ionosphere maps (GIMs) as published by
3
+ * the IGS analysis centres (e.g. ESA0OPSRAP_*_GIM.INX).
4
+ *
5
+ * Returns the TEC maps in TECU on a regular lat/lon grid, one map per
6
+ * epoch. RMS maps and the DCB auxiliary block are skipped.
7
+ */
8
+ interface IonexGrid {
9
+ /** Map epochs (Unix ms, UTC). */
10
+ epochs: number[];
11
+ /** Grid latitudes (degrees), in file order (typically 87.5 → −87.5). */
12
+ lats: number[];
13
+ /** Grid longitudes (degrees), in file order (typically −180 → 180). */
14
+ lons: number[];
15
+ /**
16
+ * TEC maps in TECU: maps[epochIdx][latIdx * lons.length + lonIdx].
17
+ * NaN where the file marks no value (9999).
18
+ */
19
+ maps: Float32Array[];
20
+ }
21
+ declare function parseIonex(text: string): IonexGrid;
22
+
23
+ /**
24
+ * SP3-c/-d precise orbit and clock parser, with Lagrange interpolation
25
+ * for evaluating positions between the tabulated epochs.
26
+ *
27
+ * Positions are converted to meters (SP3 tabulates km), clocks to
28
+ * seconds (SP3 tabulates microseconds). Missing positions (all-zero
29
+ * coordinates) and the 999999.999999 bad-clock sentinel become null.
30
+ * Epoch tags are read in the file's own time scale (GPS for IGS/MGEX
31
+ * products) as epoch milliseconds, matching the convention of the
32
+ * RINEX parsers in this library.
33
+ */
34
+ interface Sp3Sample {
35
+ /** ECEF meters. */
36
+ x: number;
37
+ y: number;
38
+ z: number;
39
+ /** Satellite clock offset in seconds, or null when flagged bad. */
40
+ clk: number | null;
41
+ }
42
+ interface Sp3File {
43
+ version: string;
44
+ /** Epoch timestamps (ms). */
45
+ epochs: number[];
46
+ /** Tabulated interval in seconds (from the ## header line). */
47
+ intervalSec: number;
48
+ /** Time system from the %c line, e.g. 'GPS'. */
49
+ timeSystem: string;
50
+ /** prn → per-epoch samples (null where the satellite is missing). */
51
+ satellites: Record<string, (Sp3Sample | null)[]>;
52
+ }
53
+ declare function parseSp3(text: string): Sp3File;
54
+ /**
55
+ * Satellite position at an arbitrary time by Lagrange interpolation
56
+ * over the `order` nearest tabulated samples (default 9, the standard
57
+ * choice for 5–15 min SP3 tables; centimetre-level between nodes).
58
+ * Clock is interpolated linearly between the bracketing samples.
59
+ *
60
+ * Returns null outside the covered span, near data gaps, or when the
61
+ * satellite is absent.
62
+ */
63
+ declare function sp3Position(sp3: Sp3File, prn: string, tMs: number, order?: number): {
64
+ x: number;
65
+ y: number;
66
+ z: number;
67
+ clk: number | null;
68
+ } | null;
69
+
70
+ export { type IonexGrid as I, type Sp3File as S, type Sp3Sample as a, parseSp3 as b, parseIonex as p, sp3Position as s };
@@ -0,0 +1,70 @@
1
+ /**
2
+ * IONEX 1.0 parser — global ionosphere maps (GIMs) as published by
3
+ * the IGS analysis centres (e.g. ESA0OPSRAP_*_GIM.INX).
4
+ *
5
+ * Returns the TEC maps in TECU on a regular lat/lon grid, one map per
6
+ * epoch. RMS maps and the DCB auxiliary block are skipped.
7
+ */
8
+ interface IonexGrid {
9
+ /** Map epochs (Unix ms, UTC). */
10
+ epochs: number[];
11
+ /** Grid latitudes (degrees), in file order (typically 87.5 → −87.5). */
12
+ lats: number[];
13
+ /** Grid longitudes (degrees), in file order (typically −180 → 180). */
14
+ lons: number[];
15
+ /**
16
+ * TEC maps in TECU: maps[epochIdx][latIdx * lons.length + lonIdx].
17
+ * NaN where the file marks no value (9999).
18
+ */
19
+ maps: Float32Array[];
20
+ }
21
+ declare function parseIonex(text: string): IonexGrid;
22
+
23
+ /**
24
+ * SP3-c/-d precise orbit and clock parser, with Lagrange interpolation
25
+ * for evaluating positions between the tabulated epochs.
26
+ *
27
+ * Positions are converted to meters (SP3 tabulates km), clocks to
28
+ * seconds (SP3 tabulates microseconds). Missing positions (all-zero
29
+ * coordinates) and the 999999.999999 bad-clock sentinel become null.
30
+ * Epoch tags are read in the file's own time scale (GPS for IGS/MGEX
31
+ * products) as epoch milliseconds, matching the convention of the
32
+ * RINEX parsers in this library.
33
+ */
34
+ interface Sp3Sample {
35
+ /** ECEF meters. */
36
+ x: number;
37
+ y: number;
38
+ z: number;
39
+ /** Satellite clock offset in seconds, or null when flagged bad. */
40
+ clk: number | null;
41
+ }
42
+ interface Sp3File {
43
+ version: string;
44
+ /** Epoch timestamps (ms). */
45
+ epochs: number[];
46
+ /** Tabulated interval in seconds (from the ## header line). */
47
+ intervalSec: number;
48
+ /** Time system from the %c line, e.g. 'GPS'. */
49
+ timeSystem: string;
50
+ /** prn → per-epoch samples (null where the satellite is missing). */
51
+ satellites: Record<string, (Sp3Sample | null)[]>;
52
+ }
53
+ declare function parseSp3(text: string): Sp3File;
54
+ /**
55
+ * Satellite position at an arbitrary time by Lagrange interpolation
56
+ * over the `order` nearest tabulated samples (default 9, the standard
57
+ * choice for 5–15 min SP3 tables; centimetre-level between nodes).
58
+ * Clock is interpolated linearly between the bracketing samples.
59
+ *
60
+ * Returns null outside the covered span, near data gaps, or when the
61
+ * satellite is absent.
62
+ */
63
+ declare function sp3Position(sp3: Sp3File, prn: string, tMs: number, order?: number): {
64
+ x: number;
65
+ y: number;
66
+ z: number;
67
+ clk: number | null;
68
+ } | null;
69
+
70
+ export { type IonexGrid as I, type Sp3File as S, type Sp3Sample as a, parseSp3 as b, parseIonex as p, sp3Position as s };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gnss-js",
3
- "version": "1.27.0",
3
+ "version": "1.28.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,
@@ -1,23 +0,0 @@
1
- /**
2
- * IONEX 1.0 parser — global ionosphere maps (GIMs) as published by
3
- * the IGS analysis centres (e.g. ESA0OPSRAP_*_GIM.INX).
4
- *
5
- * Returns the TEC maps in TECU on a regular lat/lon grid, one map per
6
- * epoch. RMS maps and the DCB auxiliary block are skipped.
7
- */
8
- interface IonexGrid {
9
- /** Map epochs (Unix ms, UTC). */
10
- epochs: number[];
11
- /** Grid latitudes (degrees), in file order (typically 87.5 → −87.5). */
12
- lats: number[];
13
- /** Grid longitudes (degrees), in file order (typically −180 → 180). */
14
- lons: number[];
15
- /**
16
- * TEC maps in TECU: maps[epochIdx][latIdx * lons.length + lonIdx].
17
- * NaN where the file marks no value (9999).
18
- */
19
- maps: Float32Array[];
20
- }
21
- declare function parseIonex(text: string): IonexGrid;
22
-
23
- export { type IonexGrid as I, parseIonex as p };
@@ -1,23 +0,0 @@
1
- /**
2
- * IONEX 1.0 parser — global ionosphere maps (GIMs) as published by
3
- * the IGS analysis centres (e.g. ESA0OPSRAP_*_GIM.INX).
4
- *
5
- * Returns the TEC maps in TECU on a regular lat/lon grid, one map per
6
- * epoch. RMS maps and the DCB auxiliary block are skipped.
7
- */
8
- interface IonexGrid {
9
- /** Map epochs (Unix ms, UTC). */
10
- epochs: number[];
11
- /** Grid latitudes (degrees), in file order (typically 87.5 → −87.5). */
12
- lats: number[];
13
- /** Grid longitudes (degrees), in file order (typically −180 → 180). */
14
- lons: number[];
15
- /**
16
- * TEC maps in TECU: maps[epochIdx][latIdx * lons.length + lonIdx].
17
- * NaN where the file marks no value (9999).
18
- */
19
- maps: Float32Array[];
20
- }
21
- declare function parseIonex(text: string): IonexGrid;
22
-
23
- export { type IonexGrid as I, parseIonex as p };