@neilberkman/sidereon 0.11.1 → 0.13.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/package.json +1 -1
- package/pkg/sidereon.d.ts +2296 -1277
- package/pkg/sidereon.js +2046 -170
- package/pkg/sidereon_bg.wasm +0 -0
- package/pkg/sidereon_bg.wasm.d.ts +1338 -1226
- package/pkg-node/sidereon.d.ts +907 -0
- package/pkg-node/sidereon.js +2098 -171
- package/pkg-node/sidereon_bg.wasm +0 -0
- package/pkg-node/sidereon_bg.wasm.d.ts +1338 -1226
package/pkg-node/sidereon.d.ts
CHANGED
|
@@ -305,6 +305,25 @@ export class BroadcastEphemeris {
|
|
|
305
305
|
* J2000 seconds. Returns `undefined` when no usable record covers the query.
|
|
306
306
|
*/
|
|
307
307
|
evaluate(satellite: string, t_j2000_s: number): BroadcastStoreEvaluation | undefined;
|
|
308
|
+
/**
|
|
309
|
+
* Query ECEF position and clock for parallel satellite and epoch arrays
|
|
310
|
+
* against this parsed broadcast ephemeris store.
|
|
311
|
+
*
|
|
312
|
+
* `satellites[i]` is evaluated at `epochsJ2000S[i]`, where epochs are
|
|
313
|
+
* seconds since J2000 in GPST for GNSS broadcast records. The returned
|
|
314
|
+
* plain object has aligned `positionsEcefM`, `clocksS`, `statuses`, and
|
|
315
|
+
* `elementResults` arrays.
|
|
316
|
+
*/
|
|
317
|
+
observableStatesAtJ2000S(satellites: any, epochs_j2000_s: any): any;
|
|
318
|
+
/**
|
|
319
|
+
* Query ECEF position and clock for many satellites at one epoch against
|
|
320
|
+
* this parsed broadcast ephemeris store.
|
|
321
|
+
*
|
|
322
|
+
* `epochJ2000S` is seconds since J2000 in GPST. The returned object follows
|
|
323
|
+
* the same contract as
|
|
324
|
+
* [`observableStatesAtJ2000S`](Self::observable_states_at_j2000_s).
|
|
325
|
+
*/
|
|
326
|
+
observableStatesAtSharedJ2000S(satellites: any, epoch_j2000_s: number): any;
|
|
308
327
|
/**
|
|
309
328
|
* Solve a receiver position from broadcast ephemeris ALONE: the supported
|
|
310
329
|
* real-time / offline single-point-positioning mode. `request` is the same
|
|
@@ -1454,14 +1473,84 @@ export class DragForce {
|
|
|
1454
1473
|
readonly spaceWeather: SpaceWeather;
|
|
1455
1474
|
}
|
|
1456
1475
|
|
|
1476
|
+
/**
|
|
1477
|
+
* A DTED terrain tile cache rooted at a directory of DTED Level 2 files.
|
|
1478
|
+
*
|
|
1479
|
+
* Heights are ORTHOMETRIC terrain elevations in meters. Point order is always
|
|
1480
|
+
* longitude first, then latitude, both in degrees.
|
|
1481
|
+
*/
|
|
1457
1482
|
export class DtedTerrain {
|
|
1458
1483
|
free(): void;
|
|
1459
1484
|
[Symbol.dispose](): void;
|
|
1485
|
+
/**
|
|
1486
|
+
* Batch terrain heights in ORTHOMETRIC meters for longitude-first points.
|
|
1487
|
+
*
|
|
1488
|
+
* `points` is an array of `[longitudeDeg, latitudeDeg]` pairs or
|
|
1489
|
+
* `{ longitudeDeg, latitudeDeg }` objects. `options.interpolation` is
|
|
1490
|
+
* `"bilinear"`, `"nearest"`, or `"nearestPosting"`. The return value is
|
|
1491
|
+
* index-aligned to `points`; each entry is `{ ok: true, heightM }` or
|
|
1492
|
+
* `{ ok: false, error }`. Missing tiles evaluate to `0.0`.
|
|
1493
|
+
*/
|
|
1494
|
+
heightBatch(points: any, options: any): any;
|
|
1495
|
+
/**
|
|
1496
|
+
* Terrain height in ORTHOMETRIC meters at `(longitudeDeg, latitudeDeg)`.
|
|
1497
|
+
*
|
|
1498
|
+
* Longitude and latitude are degrees. The lookup uses bilinear
|
|
1499
|
+
* interpolation. Missing tiles evaluate to `0.0`, matching the core DTED
|
|
1500
|
+
* fallback.
|
|
1501
|
+
*/
|
|
1460
1502
|
heightM(longitude_deg: number, latitude_deg: number): number;
|
|
1503
|
+
/**
|
|
1504
|
+
* Terrain height in ORTHOMETRIC meters at `(longitudeDeg, latitudeDeg)`.
|
|
1505
|
+
*
|
|
1506
|
+
* Longitude and latitude are degrees. `options.interpolation` is
|
|
1507
|
+
* `"bilinear"`, `"nearest"`, or `"nearestPosting"`. Missing tiles evaluate
|
|
1508
|
+
* to `0.0`, matching the core DTED fallback.
|
|
1509
|
+
*/
|
|
1461
1510
|
heightMWithOptions(longitude_deg: number, latitude_deg: number, options: any): number;
|
|
1511
|
+
/**
|
|
1512
|
+
* Create a DTED terrain reader rooted at `root`.
|
|
1513
|
+
*
|
|
1514
|
+
* The root may contain tile files directly or the nested block layout the
|
|
1515
|
+
* core reader recognizes. Height results are ORTHOMETRIC meters.
|
|
1516
|
+
*/
|
|
1462
1517
|
constructor(root: string);
|
|
1463
1518
|
}
|
|
1464
1519
|
|
|
1520
|
+
/**
|
|
1521
|
+
* Loaded EGM96 15-arcminute geoid grid for explicit terrain datum conversion.
|
|
1522
|
+
*/
|
|
1523
|
+
export class Egm96FifteenMinuteGeoid {
|
|
1524
|
+
private constructor();
|
|
1525
|
+
free(): void;
|
|
1526
|
+
[Symbol.dispose](): void;
|
|
1527
|
+
/**
|
|
1528
|
+
* Load `WW15MGH.DAC` bytes as an EGM96 15-arcminute geoid grid.
|
|
1529
|
+
*/
|
|
1530
|
+
static fromWw15mghDacBytes(bytes: Uint8Array): Egm96FifteenMinuteGeoid;
|
|
1531
|
+
/**
|
|
1532
|
+
* Read and load `WW15MGH.DAC` from disk. A missing file throws a typed
|
|
1533
|
+
* `MissingEgm96Dac` error with `path` and `remediation` fields.
|
|
1534
|
+
*/
|
|
1535
|
+
static fromWw15mghDacPath(path: string): Egm96FifteenMinuteGeoid;
|
|
1536
|
+
}
|
|
1537
|
+
|
|
1538
|
+
/**
|
|
1539
|
+
* Ellipsoidal height `h` in metres above the WGS84 reference ellipsoid.
|
|
1540
|
+
*/
|
|
1541
|
+
export class EllipsoidalHeightM {
|
|
1542
|
+
free(): void;
|
|
1543
|
+
[Symbol.dispose](): void;
|
|
1544
|
+
/**
|
|
1545
|
+
* Build an ellipsoidal height `h` in metres.
|
|
1546
|
+
*/
|
|
1547
|
+
constructor(value_m: number);
|
|
1548
|
+
/**
|
|
1549
|
+
* Ellipsoidal height `h`, metres above the WGS84 reference ellipsoid.
|
|
1550
|
+
*/
|
|
1551
|
+
readonly valueM: number;
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1465
1554
|
/**
|
|
1466
1555
|
* Orthonormal encounter frame built from two relative states.
|
|
1467
1556
|
*/
|
|
@@ -2160,6 +2249,22 @@ export class Ionex {
|
|
|
2160
2249
|
* a `RangeError` on non-finite input and an `Error` on out-of-range input.
|
|
2161
2250
|
*/
|
|
2162
2251
|
slantDelay(lat_deg: number, lon_deg: number, azimuth_deg: number, elevation_deg: number, epoch_j2000_s: number, frequency_hz: number): number;
|
|
2252
|
+
/**
|
|
2253
|
+
* Extract the full IONEX vertical-TEC grids as plain sample data.
|
|
2254
|
+
*
|
|
2255
|
+
* Epochs are integer seconds since J2000. Latitude and longitude nodes and
|
|
2256
|
+
* grid steps are degrees. TEC and RMS maps are TECU and indexed
|
|
2257
|
+
* `[map][iLat][iLon]`. The shell height and base radius are kilometers.
|
|
2258
|
+
*/
|
|
2259
|
+
tecGridSamples(): any;
|
|
2260
|
+
/**
|
|
2261
|
+
* Extract one IONEX vertical-TEC sample per grid node.
|
|
2262
|
+
*
|
|
2263
|
+
* Each sample is `{ epochJ2000S, latDeg, lonDeg, vtecTecu, rmsTecu }`.
|
|
2264
|
+
* Epochs are integer seconds since J2000, coordinates are degrees, and TEC
|
|
2265
|
+
* and RMS values are TECU.
|
|
2266
|
+
*/
|
|
2267
|
+
tecSamples(): any;
|
|
2163
2268
|
/**
|
|
2164
2269
|
* Serialize to standard IONEX text. Deterministic: the same product always
|
|
2165
2270
|
* produces byte-identical text, and re-parsing the output yields an equal
|
|
@@ -2171,6 +2276,16 @@ export class Ionex {
|
|
|
2171
2276
|
* Mean Earth radius used by the geometry, kilometres.
|
|
2172
2277
|
*/
|
|
2173
2278
|
readonly baseRadiusKm: number;
|
|
2279
|
+
/**
|
|
2280
|
+
* Signed latitude grid step, degrees. Standard IONEX grids are
|
|
2281
|
+
* north-to-south, so this value is usually negative.
|
|
2282
|
+
*/
|
|
2283
|
+
readonly dlatDeg: number;
|
|
2284
|
+
/**
|
|
2285
|
+
* Signed longitude grid step, degrees. Standard IONEX grids are
|
|
2286
|
+
* west-to-east, so this value is usually positive.
|
|
2287
|
+
*/
|
|
2288
|
+
readonly dlonDeg: number;
|
|
2174
2289
|
/**
|
|
2175
2290
|
* The IONEX `EXPONENT` header field; the TEC scale is `10^exponent`.
|
|
2176
2291
|
*/
|
|
@@ -2732,6 +2847,104 @@ export class MappingFactors {
|
|
|
2732
2847
|
readonly wet: number;
|
|
2733
2848
|
}
|
|
2734
2849
|
|
|
2850
|
+
/**
|
|
2851
|
+
* In-memory reader for memory-mappable terrain store bytes.
|
|
2852
|
+
*
|
|
2853
|
+
* Query results are orthometric terrain heights `H` in metres. Use the
|
|
2854
|
+
* ellipsoidal methods only when a geoid model is deliberately selected.
|
|
2855
|
+
*/
|
|
2856
|
+
export class MmapTerrain {
|
|
2857
|
+
private constructor();
|
|
2858
|
+
free(): void;
|
|
2859
|
+
[Symbol.dispose](): void;
|
|
2860
|
+
/**
|
|
2861
|
+
* FNV-1a checksum of the full terrain store byte span.
|
|
2862
|
+
*/
|
|
2863
|
+
checksum64(): bigint;
|
|
2864
|
+
/**
|
|
2865
|
+
* Ellipsoidal height `h = H + N` in metres at `(longitudeDeg, latitudeDeg)`
|
|
2866
|
+
* using the embedded EGM96 1-degree geoid grid.
|
|
2867
|
+
*/
|
|
2868
|
+
ellipsoidalHeightM(longitude_deg: number, latitude_deg: number): EllipsoidalHeightM;
|
|
2869
|
+
/**
|
|
2870
|
+
* Ellipsoidal height `h = H + N` in metres using an explicit geoid model.
|
|
2871
|
+
*
|
|
2872
|
+
* The terrain lookup input order is `(longitudeDeg, latitudeDeg)`. Choosing
|
|
2873
|
+
* the EGM96 15-arcminute model requires a loaded `WW15MGH.DAC` grid and
|
|
2874
|
+
* does not fall back to the embedded 1-degree grid.
|
|
2875
|
+
*/
|
|
2876
|
+
ellipsoidalHeightMWithModel(longitude_deg: number, latitude_deg: number, options: any, geoid: TerrainGeoidModel): EllipsoidalHeightM;
|
|
2877
|
+
/**
|
|
2878
|
+
* Ellipsoidal height `h = H + N` in metres using embedded EGM96 1-degree
|
|
2879
|
+
* geoid conversion and explicit terrain lookup options.
|
|
2880
|
+
*/
|
|
2881
|
+
ellipsoidalHeightMWithOptions(longitude_deg: number, latitude_deg: number, options: any): EllipsoidalHeightM;
|
|
2882
|
+
/**
|
|
2883
|
+
* Parse terrain store bytes from a `Uint8Array`.
|
|
2884
|
+
*/
|
|
2885
|
+
static fromBytes(bytes: Uint8Array): MmapTerrain;
|
|
2886
|
+
/**
|
|
2887
|
+
* Read a terrain store file from host I/O and parse it into memory.
|
|
2888
|
+
*
|
|
2889
|
+
* Browser runtimes should use [`MmapTerrain.fromBytes`] with fetched bytes.
|
|
2890
|
+
*/
|
|
2891
|
+
static fromPath(path: string): MmapTerrain;
|
|
2892
|
+
/**
|
|
2893
|
+
* Parse terrain store bytes from an owned `Uint8Array` copy.
|
|
2894
|
+
*/
|
|
2895
|
+
static fromVec(bytes: Uint8Array): MmapTerrain;
|
|
2896
|
+
/**
|
|
2897
|
+
* Batch ORTHOMETRIC terrain heights for longitude-first points.
|
|
2898
|
+
*
|
|
2899
|
+
* `points` is an array of `[longitudeDeg, latitudeDeg]` pairs or
|
|
2900
|
+
* `{ longitudeDeg, latitudeDeg }` objects. Each entry is
|
|
2901
|
+
* `{ ok: true, heightM }` or `{ ok: false, error }`.
|
|
2902
|
+
*/
|
|
2903
|
+
heightBatch(points: any, options: any): any;
|
|
2904
|
+
/**
|
|
2905
|
+
* Terrain height in ORTHOMETRIC metres at `(longitudeDeg, latitudeDeg)`.
|
|
2906
|
+
*
|
|
2907
|
+
* Longitude and latitude are degrees. The lookup uses bilinear
|
|
2908
|
+
* interpolation. Missing tiles evaluate to `0.0`.
|
|
2909
|
+
*/
|
|
2910
|
+
heightM(longitude_deg: number, latitude_deg: number): number;
|
|
2911
|
+
/**
|
|
2912
|
+
* Terrain height in ORTHOMETRIC metres at `(longitudeDeg, latitudeDeg)`.
|
|
2913
|
+
*
|
|
2914
|
+
* `options.interpolation` is `"bilinear"`, `"nearest"`, or
|
|
2915
|
+
* `"nearestPosting"`.
|
|
2916
|
+
*/
|
|
2917
|
+
heightMWithOptions(longitude_deg: number, latitude_deg: number, options: any): number;
|
|
2918
|
+
/**
|
|
2919
|
+
* Batch typed ORTHOMETRIC terrain heights for longitude-first points.
|
|
2920
|
+
*
|
|
2921
|
+
* Each entry is `{ ok: true, orthometricHeightM: { valueM } }` or
|
|
2922
|
+
* `{ ok: false, error }`.
|
|
2923
|
+
*/
|
|
2924
|
+
orthometricHeightBatch(points: any, options: any): any;
|
|
2925
|
+
/**
|
|
2926
|
+
* Typed ORTHOMETRIC terrain height `H` at `(longitudeDeg, latitudeDeg)`.
|
|
2927
|
+
*/
|
|
2928
|
+
orthometricHeightM(longitude_deg: number, latitude_deg: number): OrthometricHeightM;
|
|
2929
|
+
/**
|
|
2930
|
+
* Typed ORTHOMETRIC terrain height `H` at `(longitudeDeg, latitudeDeg)`
|
|
2931
|
+
* with explicit lookup options.
|
|
2932
|
+
*/
|
|
2933
|
+
orthometricHeightMWithOptions(longitude_deg: number, latitude_deg: number, options: any): OrthometricHeightM;
|
|
2934
|
+
/**
|
|
2935
|
+
* Parsed tile index records in store order.
|
|
2936
|
+
*/
|
|
2937
|
+
tileIndex(): TerrainStoreTileIndex[];
|
|
2938
|
+
/**
|
|
2939
|
+
* Canonical store bytes for this parsed terrain store.
|
|
2940
|
+
*/
|
|
2941
|
+
toBytes(): Uint8Array;
|
|
2942
|
+
/**
|
|
2943
|
+
* File-level vertical datum for the store's orthometric posting payloads.
|
|
2944
|
+
*/
|
|
2945
|
+
readonly verticalDatum: VerticalDatum;
|
|
2946
|
+
}
|
|
2947
|
+
|
|
2735
2948
|
/**
|
|
2736
2949
|
* One refined Moon elevation threshold crossing (moonrise / moonset).
|
|
2737
2950
|
*/
|
|
@@ -3782,6 +3995,33 @@ export class OpmState {
|
|
|
3782
3995
|
readonly velocityKmS: Float64Array;
|
|
3783
3996
|
}
|
|
3784
3997
|
|
|
3998
|
+
/**
|
|
3999
|
+
* Orthometric terrain height `H` in metres above the EGM96 mean sea level
|
|
4000
|
+
* geoid.
|
|
4001
|
+
*/
|
|
4002
|
+
export class OrthometricHeightM {
|
|
4003
|
+
free(): void;
|
|
4004
|
+
[Symbol.dispose](): void;
|
|
4005
|
+
/**
|
|
4006
|
+
* Build an orthometric height `H` in metres.
|
|
4007
|
+
*/
|
|
4008
|
+
constructor(value_m: number);
|
|
4009
|
+
/**
|
|
4010
|
+
* Convert to ellipsoidal height `h = H + N` using degree inputs in geoid
|
|
4011
|
+
* order `(latitudeDeg, longitudeDeg)` and an explicit geoid model.
|
|
4012
|
+
*/
|
|
4013
|
+
toEllipsoidalHeightDeg(latitude_deg: number, longitude_deg: number, geoid: TerrainGeoidModel): EllipsoidalHeightM;
|
|
4014
|
+
/**
|
|
4015
|
+
* Convert to ellipsoidal height `h = H + N` using radian inputs in geoid
|
|
4016
|
+
* order `(latitudeRad, longitudeRad)` and an explicit geoid model.
|
|
4017
|
+
*/
|
|
4018
|
+
toEllipsoidalHeightRad(latitude_rad: number, longitude_rad: number, geoid: TerrainGeoidModel): EllipsoidalHeightM;
|
|
4019
|
+
/**
|
|
4020
|
+
* Orthometric height `H`, metres above the EGM96 mean sea level geoid.
|
|
4021
|
+
*/
|
|
4022
|
+
readonly valueM: number;
|
|
4023
|
+
}
|
|
4024
|
+
|
|
3785
4025
|
/**
|
|
3786
4026
|
* The result of [`parseTleFile`]: the satellites that parsed, plus a count of
|
|
3787
4027
|
* complete records that were skipped because SGP4 initialization failed.
|
|
@@ -3958,6 +4198,80 @@ export class PppFloatSolution {
|
|
|
3958
4198
|
readonly ztdResidualM: number | undefined;
|
|
3959
4199
|
}
|
|
3960
4200
|
|
|
4201
|
+
/**
|
|
4202
|
+
* A reusable precise-ephemeris interpolant with cached per-satellite nodes.
|
|
4203
|
+
*
|
|
4204
|
+
* Build this handle once from a parsed [`Sp3`] product, raw precise samples, or
|
|
4205
|
+
* a [`PreciseEphemerisSampleSource`], then reuse it for many state or range
|
|
4206
|
+
* queries. The handle delegates to
|
|
4207
|
+
* `sidereon_core::ephemeris::PreciseEphemerisInterpolant`; ECEF positions are
|
|
4208
|
+
* metres, clocks are seconds, and query epochs are seconds since J2000 in the
|
|
4209
|
+
* source time scale.
|
|
4210
|
+
*/
|
|
4211
|
+
export class PreciseEphemerisInterpolant {
|
|
4212
|
+
private constructor();
|
|
4213
|
+
free(): void;
|
|
4214
|
+
[Symbol.dispose](): void;
|
|
4215
|
+
/**
|
|
4216
|
+
* Build a cached interpolant from an existing sample-backed precise source.
|
|
4217
|
+
*/
|
|
4218
|
+
static fromPreciseEphemerisSamples(source: PreciseEphemerisSampleSource): PreciseEphemerisInterpolant;
|
|
4219
|
+
/**
|
|
4220
|
+
* Build a cached interpolant directly from precise samples.
|
|
4221
|
+
*
|
|
4222
|
+
* `samples` is the same array accepted by
|
|
4223
|
+
* [`preciseEphemerisSamplesFromSamples`]: each item has `{ sat, epoch,
|
|
4224
|
+
* positionEcefM, clockS?, clockEvent? }`, with epochs in seconds since
|
|
4225
|
+
* J2000 and positions in ECEF metres. Throws a `TypeError` for malformed
|
|
4226
|
+
* JS input and a `RangeError` for sample validation failures.
|
|
4227
|
+
*/
|
|
4228
|
+
static fromSamples(samples: any): PreciseEphemerisInterpolant;
|
|
4229
|
+
/**
|
|
4230
|
+
* Build a cached interpolant from a parsed SP3 precise product.
|
|
4231
|
+
*
|
|
4232
|
+
* Nodes are copied from the product's native SP3 records. Query epochs are
|
|
4233
|
+
* seconds since J2000 in the SP3 product time scale.
|
|
4234
|
+
*/
|
|
4235
|
+
static fromSp3(sp3: Sp3): PreciseEphemerisInterpolant;
|
|
4236
|
+
/**
|
|
4237
|
+
* Query ECEF position and optional clock for parallel satellite and epoch
|
|
4238
|
+
* arrays using this cached interpolant.
|
|
4239
|
+
*
|
|
4240
|
+
* `satellites[i]` is evaluated at `epochsJ2000S[i]`, where epochs are
|
|
4241
|
+
* seconds since J2000 on this handle's time scale. The returned plain
|
|
4242
|
+
* object has aligned `positionsEcefM`, `clocksS`, `statuses`, and
|
|
4243
|
+
* `elementResults` arrays.
|
|
4244
|
+
*/
|
|
4245
|
+
observableStatesAtJ2000S(satellites: any, epochs_j2000_s: any): any;
|
|
4246
|
+
/**
|
|
4247
|
+
* Query ECEF position and optional clock for many satellites at one epoch
|
|
4248
|
+
* using this cached interpolant.
|
|
4249
|
+
*
|
|
4250
|
+
* `epochJ2000S` is seconds since J2000 on this handle's time scale. The
|
|
4251
|
+
* returned object follows the same contract as
|
|
4252
|
+
* [`observableStatesAtJ2000S`](Self::observable_states_at_j2000_s).
|
|
4253
|
+
*/
|
|
4254
|
+
observableStatesAtSharedJ2000S(satellites: any, epoch_j2000_s: number): any;
|
|
4255
|
+
/**
|
|
4256
|
+
* Predict geometric ranges for many `(satellite, receiver, epoch)`
|
|
4257
|
+
* requests using this cached interpolant.
|
|
4258
|
+
*
|
|
4259
|
+
* `requests` is an array of `{ sat, receiverEcefM, tRxJ2000S }` objects.
|
|
4260
|
+
* Positions are ECEF metres and epochs are seconds since J2000 on this
|
|
4261
|
+
* handle's time scale. The output matches [`Sp3.predictRanges`].
|
|
4262
|
+
*/
|
|
4263
|
+
predictRanges(requests: any, options: any): any;
|
|
4264
|
+
/**
|
|
4265
|
+
* Satellite tokens this handle can interpolate, ascending.
|
|
4266
|
+
*/
|
|
4267
|
+
readonly satellites: string[];
|
|
4268
|
+
/**
|
|
4269
|
+
* Source time-scale abbreviation used by this handle's J2000-second axis,
|
|
4270
|
+
* such as `"GPST"`.
|
|
4271
|
+
*/
|
|
4272
|
+
readonly timeScale: string;
|
|
4273
|
+
}
|
|
4274
|
+
|
|
3961
4275
|
/**
|
|
3962
4276
|
* A precise-ephemeris source built from samples rather than parsed SP3 text.
|
|
3963
4277
|
*
|
|
@@ -3969,6 +4283,26 @@ export class PreciseEphemerisSampleSource {
|
|
|
3969
4283
|
private constructor();
|
|
3970
4284
|
free(): void;
|
|
3971
4285
|
[Symbol.dispose](): void;
|
|
4286
|
+
/**
|
|
4287
|
+
* Query ECEF position and optional clock for parallel satellite and epoch
|
|
4288
|
+
* arrays against this sample-backed precise source.
|
|
4289
|
+
*
|
|
4290
|
+
* `satellites[i]` is evaluated at `epochsJ2000S[i]`, where epochs are
|
|
4291
|
+
* seconds since J2000 on the source time scale. The returned plain object
|
|
4292
|
+
* has aligned `positionsEcefM`, `clocksS`, `statuses`, and
|
|
4293
|
+
* `elementResults` arrays. Failed elements use the core missing-position
|
|
4294
|
+
* sentinel and carry the scalar engine error in `elementResults[i].error`.
|
|
4295
|
+
*/
|
|
4296
|
+
observableStatesAtJ2000S(satellites: any, epochs_j2000_s: any): any;
|
|
4297
|
+
/**
|
|
4298
|
+
* Query ECEF position and optional clock for many satellites at one epoch
|
|
4299
|
+
* against this sample-backed precise source.
|
|
4300
|
+
*
|
|
4301
|
+
* `epochJ2000S` is seconds since J2000 on the source time scale. The
|
|
4302
|
+
* returned plain object follows the same contract as
|
|
4303
|
+
* [`observableStatesAtJ2000S`](Self::observable_states_at_j2000_s).
|
|
4304
|
+
*/
|
|
4305
|
+
observableStatesAtSharedJ2000S(satellites: any, epoch_j2000_s: number): any;
|
|
3972
4306
|
/**
|
|
3973
4307
|
* Predict geometric ranges for many requests in one call. See the shared
|
|
3974
4308
|
* [`predictRanges`](crate::precise_samples::predict_ranges_over) contract;
|
|
@@ -4518,13 +4852,80 @@ export class SatelliteVector {
|
|
|
4518
4852
|
readonly values: Float64Array;
|
|
4519
4853
|
}
|
|
4520
4854
|
|
|
4855
|
+
/**
|
|
4856
|
+
* Mutable SBAS correction store.
|
|
4857
|
+
*
|
|
4858
|
+
* Ingest raw SBAS messages with a source GEO and GNSS time, then query decoded
|
|
4859
|
+
* fast, long-term, ionospheric, and GEO navigation correction records.
|
|
4860
|
+
*/
|
|
4521
4861
|
export class SbasCorrectionStore {
|
|
4522
4862
|
free(): void;
|
|
4523
4863
|
[Symbol.dispose](): void;
|
|
4864
|
+
/**
|
|
4865
|
+
* Fast pseudorange correction for `(geo, sat)`, or `null`.
|
|
4866
|
+
*
|
|
4867
|
+
* `prcM` is meters, `rrcMS` is meters per second, and `tOfJ2000S` is
|
|
4868
|
+
* seconds since J2000.
|
|
4869
|
+
*/
|
|
4870
|
+
fastCorrection(geo: string, sat: string): any;
|
|
4871
|
+
/**
|
|
4872
|
+
* SBAS GEO navigation state for `geo`, or `null`.
|
|
4873
|
+
*
|
|
4874
|
+
* Positions are ECEF meters, velocities are ECEF meters per second,
|
|
4875
|
+
* accelerations are ECEF meters per second squared, clock fields are
|
|
4876
|
+
* seconds and seconds per second, and `t0J2000S` is seconds since J2000.
|
|
4877
|
+
*/
|
|
4878
|
+
geoNavState(geo: string): any;
|
|
4879
|
+
/**
|
|
4880
|
+
* Ingest one decoded SBAS message into the correction store.
|
|
4881
|
+
*
|
|
4882
|
+
* `geo` is the SBAS source satellite token such as `"S29"`. `week` and
|
|
4883
|
+
* `towS` are in the selected GNSS time scale. `form` is `"framed250"` or
|
|
4884
|
+
* `"body226"`.
|
|
4885
|
+
*/
|
|
4524
4886
|
ingest(bytes: Uint8Array, form: string | null | undefined, geo: string, week: number, tow_s: number, time_scale?: string | null): void;
|
|
4887
|
+
/**
|
|
4888
|
+
* SBAS ionospheric grid for `geo`, or `null`.
|
|
4889
|
+
*
|
|
4890
|
+
* Grid point latitudes and longitudes are degrees, vertical delays are
|
|
4891
|
+
* meters, and GIVE variances are square meters when present.
|
|
4892
|
+
*/
|
|
4893
|
+
ionoGrid(geo: string): any;
|
|
4894
|
+
/**
|
|
4895
|
+
* SBAS ionospheric slant delay in meters, or `null`.
|
|
4896
|
+
*
|
|
4897
|
+
* Receiver latitude, longitude, elevation, and azimuth are radians.
|
|
4898
|
+
* `frequencyHz` is the carrier frequency for the reported group delay.
|
|
4899
|
+
*/
|
|
4525
4900
|
ionoSlantDelayM(geo: string, receiver_lat_rad: number, receiver_lon_rad: number, receiver_height_m: number, elevation_rad: number, azimuth_rad: number, frequency_hz: number): number | undefined;
|
|
4901
|
+
/**
|
|
4902
|
+
* Long-term orbit and clock correction for `(geo, sat)`, or `null`.
|
|
4903
|
+
*
|
|
4904
|
+
* Position deltas are ECEF meters, rates are ECEF meters per second, clock
|
|
4905
|
+
* deltas are seconds and seconds per second, and `t0J2000S` is seconds
|
|
4906
|
+
* since J2000.
|
|
4907
|
+
*/
|
|
4908
|
+
longTermCorrection(geo: string, sat: string): any;
|
|
4909
|
+
/**
|
|
4910
|
+
* Create an empty SBAS correction store.
|
|
4911
|
+
*/
|
|
4526
4912
|
constructor();
|
|
4913
|
+
/**
|
|
4914
|
+
* Ready SBAS GEO source satellites at `tJ2000S`.
|
|
4915
|
+
*
|
|
4916
|
+
* The time is seconds since J2000. Returned tokens are strings such as
|
|
4917
|
+
* `"S29"`, sorted by most recent update first.
|
|
4918
|
+
*/
|
|
4527
4919
|
readyGeos(t_j2000_s: number): string[];
|
|
4920
|
+
/**
|
|
4921
|
+
* Allow or disallow partial SBAS corrections when building corrected
|
|
4922
|
+
* ephemeris states.
|
|
4923
|
+
*/
|
|
4924
|
+
setAllowPartial(yes: boolean): void;
|
|
4925
|
+
/**
|
|
4926
|
+
* Set the maximum staleness for fresh SBAS corrections, in seconds.
|
|
4927
|
+
*/
|
|
4928
|
+
setStalenessSeconds(seconds: number): void;
|
|
4528
4929
|
}
|
|
4529
4930
|
|
|
4530
4931
|
/**
|
|
@@ -4706,6 +5107,26 @@ export class Sp3 {
|
|
|
4706
5107
|
* coverage gap (the engine refuses to extrapolate).
|
|
4707
5108
|
*/
|
|
4708
5109
|
interpolate(satellite: string, j2000_seconds: Float64Array): Sp3Interpolation;
|
|
5110
|
+
/**
|
|
5111
|
+
* Query ECEF position and optional clock for parallel satellite and epoch
|
|
5112
|
+
* arrays against this parsed SP3 product.
|
|
5113
|
+
*
|
|
5114
|
+
* `satellites[i]` is evaluated at `epochsJ2000S[i]`, where epochs are
|
|
5115
|
+
* seconds since J2000 in the product time scale. The returned plain object
|
|
5116
|
+
* has aligned `positionsEcefM`, `clocksS`, `statuses`, and
|
|
5117
|
+
* `elementResults` arrays. Failed elements use the core missing-position
|
|
5118
|
+
* sentinel and carry the scalar engine error in `elementResults[i].error`.
|
|
5119
|
+
*/
|
|
5120
|
+
observableStatesAtJ2000S(satellites: any, epochs_j2000_s: any): any;
|
|
5121
|
+
/**
|
|
5122
|
+
* Query ECEF position and optional clock for many satellites at one epoch
|
|
5123
|
+
* against this parsed SP3 product.
|
|
5124
|
+
*
|
|
5125
|
+
* `epochJ2000S` is seconds since J2000 in the product time scale. The
|
|
5126
|
+
* returned object follows the same contract as
|
|
5127
|
+
* [`observableStatesAtJ2000S`](Self::observable_states_at_j2000_s).
|
|
5128
|
+
*/
|
|
5129
|
+
observableStatesAtSharedJ2000S(satellites: any, epoch_j2000_s: number): any;
|
|
4709
5130
|
/**
|
|
4710
5131
|
* Predict geometric ranges for many `(satellite, receiver, epoch)` requests
|
|
4711
5132
|
* against this ephemeris in one call. `requests` is an array of
|
|
@@ -5296,6 +5717,139 @@ export class SunMoon {
|
|
|
5296
5717
|
readonly sun: Float64Array;
|
|
5297
5718
|
}
|
|
5298
5719
|
|
|
5720
|
+
/**
|
|
5721
|
+
* Terrain datum conversion and optional geoid-grid loading error variants.
|
|
5722
|
+
*/
|
|
5723
|
+
export enum TerrainDatumError {
|
|
5724
|
+
/**
|
|
5725
|
+
* Terrain lookup failed before datum conversion.
|
|
5726
|
+
*/
|
|
5727
|
+
Terrain = 0,
|
|
5728
|
+
/**
|
|
5729
|
+
* A geoid grid could not be parsed.
|
|
5730
|
+
*/
|
|
5731
|
+
Geoid = 1,
|
|
5732
|
+
/**
|
|
5733
|
+
* Reading a geoid grid failed for a reason other than absence.
|
|
5734
|
+
*/
|
|
5735
|
+
Io = 2,
|
|
5736
|
+
/**
|
|
5737
|
+
* The EGM96 15-arcminute `WW15MGH.DAC` grid was requested but is absent.
|
|
5738
|
+
*/
|
|
5739
|
+
MissingEgm96Dac = 3,
|
|
5740
|
+
}
|
|
5741
|
+
|
|
5742
|
+
/**
|
|
5743
|
+
* Geoid model used to convert terrain orthometric height `H` to ellipsoidal
|
|
5744
|
+
* height `h`.
|
|
5745
|
+
*/
|
|
5746
|
+
export class TerrainGeoidModel {
|
|
5747
|
+
private constructor();
|
|
5748
|
+
free(): void;
|
|
5749
|
+
[Symbol.dispose](): void;
|
|
5750
|
+
/**
|
|
5751
|
+
* Use a caller-supplied EGM96 15-arcminute geoid grid for `h = H + N`.
|
|
5752
|
+
*/
|
|
5753
|
+
static egm96FifteenMinute(geoid: Egm96FifteenMinuteGeoid): TerrainGeoidModel;
|
|
5754
|
+
/**
|
|
5755
|
+
* Use the embedded EGM96 1-degree geoid grid for `h = H + N`.
|
|
5756
|
+
*/
|
|
5757
|
+
static egm96OneDegree(): TerrainGeoidModel;
|
|
5758
|
+
/**
|
|
5759
|
+
* Model discriminator: `"egm96OneDegree"` or `"egm96FifteenMinute"`.
|
|
5760
|
+
*/
|
|
5761
|
+
readonly kind: string;
|
|
5762
|
+
}
|
|
5763
|
+
|
|
5764
|
+
/**
|
|
5765
|
+
* Terrain store conversion, serialization, and parsing error variants.
|
|
5766
|
+
*/
|
|
5767
|
+
export enum TerrainStoreError {
|
|
5768
|
+
/**
|
|
5769
|
+
* File or directory I/O failed.
|
|
5770
|
+
*/
|
|
5771
|
+
Io = 0,
|
|
5772
|
+
/**
|
|
5773
|
+
* DTED or terrain store bytes could not be parsed.
|
|
5774
|
+
*/
|
|
5775
|
+
Parse = 1,
|
|
5776
|
+
/**
|
|
5777
|
+
* The terrain store version is not supported.
|
|
5778
|
+
*/
|
|
5779
|
+
UnsupportedVersion = 2,
|
|
5780
|
+
/**
|
|
5781
|
+
* The terrain store datum tag is not supported.
|
|
5782
|
+
*/
|
|
5783
|
+
UnsupportedDatum = 3,
|
|
5784
|
+
/**
|
|
5785
|
+
* Two input DTED files resolved to the same integer tile id.
|
|
5786
|
+
*/
|
|
5787
|
+
DuplicateTile = 4,
|
|
5788
|
+
/**
|
|
5789
|
+
* A tile payload checksum did not match its index record.
|
|
5790
|
+
*/
|
|
5791
|
+
Checksum = 5,
|
|
5792
|
+
}
|
|
5793
|
+
|
|
5794
|
+
/**
|
|
5795
|
+
* Metadata for one tile index record in a memory-mappable terrain store.
|
|
5796
|
+
*/
|
|
5797
|
+
export class TerrainStoreTileIndex {
|
|
5798
|
+
private constructor();
|
|
5799
|
+
free(): void;
|
|
5800
|
+
[Symbol.dispose](): void;
|
|
5801
|
+
/**
|
|
5802
|
+
* FNV-1a checksum of this tile's posting payload bytes.
|
|
5803
|
+
*/
|
|
5804
|
+
readonly checksum64: bigint;
|
|
5805
|
+
/**
|
|
5806
|
+
* Byte length of this tile's posting payload in the store.
|
|
5807
|
+
*/
|
|
5808
|
+
readonly dataLen: bigint;
|
|
5809
|
+
/**
|
|
5810
|
+
* Byte offset of this tile's posting payload in the store.
|
|
5811
|
+
*/
|
|
5812
|
+
readonly dataOffset: bigint;
|
|
5813
|
+
/**
|
|
5814
|
+
* Number of latitude postings.
|
|
5815
|
+
*/
|
|
5816
|
+
readonly latCount: number;
|
|
5817
|
+
/**
|
|
5818
|
+
* Integer latitude tile id, for example `36` for a tile covering
|
|
5819
|
+
* `36..37` degrees.
|
|
5820
|
+
*/
|
|
5821
|
+
readonly latIndex: number;
|
|
5822
|
+
/**
|
|
5823
|
+
* Number of longitude postings.
|
|
5824
|
+
*/
|
|
5825
|
+
readonly lonCount: number;
|
|
5826
|
+
/**
|
|
5827
|
+
* Integer longitude tile id, for example `-107` for a tile covering
|
|
5828
|
+
* `-107..-106` degrees.
|
|
5829
|
+
*/
|
|
5830
|
+
readonly lonIndex: number;
|
|
5831
|
+
/**
|
|
5832
|
+
* Northern edge latitude, degrees.
|
|
5833
|
+
*/
|
|
5834
|
+
readonly maxLatitudeDeg: number;
|
|
5835
|
+
/**
|
|
5836
|
+
* Eastern edge longitude, degrees.
|
|
5837
|
+
*/
|
|
5838
|
+
readonly maxLongitudeDeg: number;
|
|
5839
|
+
/**
|
|
5840
|
+
* Southern edge latitude, degrees.
|
|
5841
|
+
*/
|
|
5842
|
+
readonly minLatitudeDeg: number;
|
|
5843
|
+
/**
|
|
5844
|
+
* Western edge longitude, degrees.
|
|
5845
|
+
*/
|
|
5846
|
+
readonly minLongitudeDeg: number;
|
|
5847
|
+
/**
|
|
5848
|
+
* Vertical datum for this tile's orthometric posting payload.
|
|
5849
|
+
*/
|
|
5850
|
+
readonly verticalDatum: VerticalDatum;
|
|
5851
|
+
}
|
|
5852
|
+
|
|
5299
5853
|
/**
|
|
5300
5854
|
* A named time scale. The JS value matches the variant order below.
|
|
5301
5855
|
*/
|
|
@@ -5555,6 +6109,16 @@ export class VelocitySolution {
|
|
|
5555
6109
|
readonly velocityMS: Float64Array;
|
|
5556
6110
|
}
|
|
5557
6111
|
|
|
6112
|
+
/**
|
|
6113
|
+
* Vertical datum carried by a terrain store.
|
|
6114
|
+
*/
|
|
6115
|
+
export enum VerticalDatum {
|
|
6116
|
+
/**
|
|
6117
|
+
* Orthometric height `H` in metres above the EGM96 mean sea level geoid.
|
|
6118
|
+
*/
|
|
6119
|
+
Egm96MslOrthometric = 0,
|
|
6120
|
+
}
|
|
6121
|
+
|
|
5558
6122
|
/**
|
|
5559
6123
|
* Per-epoch topocentric visibility plus the dense pass list over the grid
|
|
5560
6124
|
* window.
|
|
@@ -5678,6 +6242,50 @@ export class ZenithDelay {
|
|
|
5678
6242
|
*/
|
|
5679
6243
|
export function acquire(samples: Float64Array, prn: bigint, options: any): AcquisitionResult;
|
|
5680
6244
|
|
|
6245
|
+
/**
|
|
6246
|
+
* Plain non-overlapping Allan deviation for explicit averaging factors.
|
|
6247
|
+
*
|
|
6248
|
+
* `series` is `{ kind, values }`, where `kind` is `"phaseSeconds"` or
|
|
6249
|
+
* `"fractionalFrequency"` and `values` are phase seconds or dimensionless
|
|
6250
|
+
* fractional-frequency samples. `tau0S` is the sample interval in seconds.
|
|
6251
|
+
* `averagingFactors` is an array of positive integer `m` values. Returns
|
|
6252
|
+
* `{ tauS, deviation, n }`.
|
|
6253
|
+
*/
|
|
6254
|
+
export function allanDeviation(series: any, tau0_s: number, averaging_factors: any): any;
|
|
6255
|
+
|
|
6256
|
+
/**
|
|
6257
|
+
* Alpha-beta measurement update applied to a predicted scalar state.
|
|
6258
|
+
*
|
|
6259
|
+
* `predicted` is `{ level, rate }`, `measurement` has the same unit as
|
|
6260
|
+
* `level`, `dt` is seconds, and `gains` is `{ alpha, beta }`.
|
|
6261
|
+
*/
|
|
6262
|
+
export function alphaBetaApplyMeasurement(predicted: any, measurement: number, dt: number, gains: any): any;
|
|
6263
|
+
|
|
6264
|
+
/**
|
|
6265
|
+
* Run one alpha-beta predict and measurement update.
|
|
6266
|
+
*
|
|
6267
|
+
* `state` is `{ level, rate }`, `measurement` has the same unit as `level`,
|
|
6268
|
+
* `dt` is seconds, and `gains` is `{ alpha, beta }`. Returns `{ predicted,
|
|
6269
|
+
* updated, innovation }`.
|
|
6270
|
+
*/
|
|
6271
|
+
export function alphaBetaFilterStep(state: any, measurement: number, dt: number, gains: any): any;
|
|
6272
|
+
|
|
6273
|
+
/**
|
|
6274
|
+
* Alpha-beta constant-rate prediction.
|
|
6275
|
+
*
|
|
6276
|
+
* `state` is `{ level, rate }` and `dt` is the positive propagation interval in
|
|
6277
|
+
* seconds. Returns the predicted `{ level, rate }`.
|
|
6278
|
+
*/
|
|
6279
|
+
export function alphaBetaPredict(state: any, dt: number): any;
|
|
6280
|
+
|
|
6281
|
+
/**
|
|
6282
|
+
* Steady-state alpha-beta gains from a positive tracking index.
|
|
6283
|
+
*
|
|
6284
|
+
* Returns `{ alpha, beta }`, where `alpha` is the level gain and `beta` maps
|
|
6285
|
+
* innovation to rate through `beta * innovation / dt`.
|
|
6286
|
+
*/
|
|
6287
|
+
export function alphaBetaSteadyStateGains(tracking_index: number): any;
|
|
6288
|
+
|
|
5681
6289
|
/**
|
|
5682
6290
|
* On-sky angle in degrees between two direction vectors.
|
|
5683
6291
|
*/
|
|
@@ -5688,6 +6296,38 @@ export function angularSeparation(a: Float64Array, b: Float64Array): number;
|
|
|
5688
6296
|
*/
|
|
5689
6297
|
export function angularSeparationCoords(a_lon_deg: number, a_lat_deg: number, b_lon_deg: number, b_lat_deg: number): number;
|
|
5690
6298
|
|
|
6299
|
+
/**
|
|
6300
|
+
* Run ARAIM MHSS protection-level computation.
|
|
6301
|
+
*
|
|
6302
|
+
* `geometry.rows` contains satellite IDs, ECEF line-of-sight unit vectors,
|
|
6303
|
+
* optional constellation labels, and elevations in radians. `receiver` is WGS84
|
|
6304
|
+
* geodetic radians plus ellipsoidal height meters. `ism` contains
|
|
6305
|
+
* constellation defaults and optional satellite overrides. Satellite models may
|
|
6306
|
+
* provide paired `effectiveSigmaIntM` and `effectiveSigmaAccM` fields; omit both
|
|
6307
|
+
* to let the core derive them from elevation. `allocation` may be omitted to use
|
|
6308
|
+
* `araimLpv200Allocation()`. Returned `hplM`, `vplM`, `sigmaAccHM`,
|
|
6309
|
+
* `sigmaAccVM`, `emtM`, and per-mode ENU arrays are meters.
|
|
6310
|
+
*/
|
|
6311
|
+
export function araim(geometry: any, ism: any, allocation: any): any;
|
|
6312
|
+
|
|
6313
|
+
/**
|
|
6314
|
+
* Enumerate ARAIM fault hypotheses for the given geometry, ISM, and allocation.
|
|
6315
|
+
*
|
|
6316
|
+
* Inputs mirror `araim`. The returned priors are probabilities. Excluded
|
|
6317
|
+
* satellites are string tokens such as `"G01"`, and excluded constellations are
|
|
6318
|
+
* labels such as `"GPS"`.
|
|
6319
|
+
*/
|
|
6320
|
+
export function araimFaultModes(geometry: any, ism: any, allocation: any): any;
|
|
6321
|
+
|
|
6322
|
+
/**
|
|
6323
|
+
* LPV-200 ARAIM integrity and continuity allocation.
|
|
6324
|
+
*
|
|
6325
|
+
* The returned object can be passed to `araim`. Probability fields are
|
|
6326
|
+
* dimensionless, `pEmt` defaults to `1e-5`, and `maxFaultOrder` is an integer
|
|
6327
|
+
* fault order.
|
|
6328
|
+
*/
|
|
6329
|
+
export function araimLpv200Allocation(): any;
|
|
6330
|
+
|
|
5691
6331
|
/**
|
|
5692
6332
|
* Evaluate NRLMSISE-00 neutral-atmosphere density and temperature.
|
|
5693
6333
|
*
|
|
@@ -5752,6 +6392,38 @@ export function carrierBandName(band: CarrierBand): string;
|
|
|
5752
6392
|
*/
|
|
5753
6393
|
export function carrierFrequencyHz(system: GnssSystem, band: CarrierBand): number | undefined;
|
|
5754
6394
|
|
|
6395
|
+
/**
|
|
6396
|
+
* CA-CFAR false alarm probability from searched-cell count, absolute
|
|
6397
|
+
* threshold, and mean noise level.
|
|
6398
|
+
*/
|
|
6399
|
+
export function cfarCaFalseAlarmProbability(searched_cells: number, threshold: number, noise_level: number): number;
|
|
6400
|
+
|
|
6401
|
+
/**
|
|
6402
|
+
* CA-CFAR threshold multiplier from searched-cell count and target false alarm
|
|
6403
|
+
* probability.
|
|
6404
|
+
*/
|
|
6405
|
+
export function cfarCaMultiplierFromPfa(searched_cells: number, false_alarm_probability: number): number;
|
|
6406
|
+
|
|
6407
|
+
/**
|
|
6408
|
+
* CA-CFAR false alarm probability from searched-cell count and multiplier.
|
|
6409
|
+
*/
|
|
6410
|
+
export function cfarCaPfaFromMultiplier(searched_cells: number, multiplier: number): number;
|
|
6411
|
+
|
|
6412
|
+
/**
|
|
6413
|
+
* CA-CFAR absolute threshold from searched-cell count, target false alarm
|
|
6414
|
+
* probability, and mean noise level.
|
|
6415
|
+
*/
|
|
6416
|
+
export function cfarCaThreshold(searched_cells: number, false_alarm_probability: number, noise_level: number): number;
|
|
6417
|
+
|
|
6418
|
+
/**
|
|
6419
|
+
* Compute the closed-form Chan-Ho seed used by [`locateSource`].
|
|
6420
|
+
*
|
|
6421
|
+
* `mode` is `"toa"`, `"tdoa"`, or `{ mode: "tdoa", referenceSensor }`.
|
|
6422
|
+
* Per-sensor speed overrides are not used by the closed-form equations, but
|
|
6423
|
+
* they are used by [`locateSource`] during iterative refinement.
|
|
6424
|
+
*/
|
|
6425
|
+
export function chanHoInitialGuess(sensors: any, arrival_times_s: any, propagation_speed_m_s: number, mode: any): any;
|
|
6426
|
+
|
|
5755
6427
|
/**
|
|
5756
6428
|
* Returns `true` when a diff has any findings.
|
|
5757
6429
|
*/
|
|
@@ -5805,6 +6477,20 @@ export function coherentLossDb(freq_error_hz: number, integration_time_s: number
|
|
|
5805
6477
|
*/
|
|
5806
6478
|
export function collisionProbability(object1: ConjunctionState, object2: ConjunctionState, hard_body_radius_km: number, method?: string | null): CollisionProbability;
|
|
5807
6479
|
|
|
6480
|
+
/**
|
|
6481
|
+
* Compute one or more Allan-family curves with a selected tau grid and gap
|
|
6482
|
+
* policy.
|
|
6483
|
+
*
|
|
6484
|
+
* `input` is `{ series, tau0S, options? }`. `series.kind` may be
|
|
6485
|
+
* `"phaseSeconds"`, `"fractionalFrequency"`, `"phaseSecondsWithGaps"`, or
|
|
6486
|
+
* `"fractionalFrequencyWithGaps"`; gap series use `null` for missing samples.
|
|
6487
|
+
* `options.estimators` is `"standard"`, `"all"`, `"none"`, or a boolean flag
|
|
6488
|
+
* object. `options.tauGrid` is `"octave"`, `"all"`, or
|
|
6489
|
+
* `{ kind: "explicit", averagingFactors }`. `tau0S` and all returned `tauS`
|
|
6490
|
+
* values are seconds.
|
|
6491
|
+
*/
|
|
6492
|
+
export function computeAllanDeviations(input: any): any;
|
|
6493
|
+
|
|
5808
6494
|
/**
|
|
5809
6495
|
* Coherently correlate interleaved IQ samples against a GPS C/A PRN replica.
|
|
5810
6496
|
* `iq` is `[i0, q0, i1, q1, ...]`.
|
|
@@ -5902,6 +6588,14 @@ export function decodeRtcmMessage(body: Uint8Array): any;
|
|
|
5902
6588
|
*/
|
|
5903
6589
|
export function decodeRtcmStream(bytes: Uint8Array): any;
|
|
5904
6590
|
|
|
6591
|
+
/**
|
|
6592
|
+
* Decode a raw SBAS message.
|
|
6593
|
+
*
|
|
6594
|
+
* `form` is `"framed250"` for a 32-byte message with CRC or `"body226"` for a
|
|
6595
|
+
* 29-byte body. The result contains `messageType`, `form`, legacy debug
|
|
6596
|
+
* `kind`, and `message`, a structured decoded payload. Parse failures are
|
|
6597
|
+
* thrown as `Error`.
|
|
6598
|
+
*/
|
|
5905
6599
|
export function decodeSbasMessage(bytes: Uint8Array, form?: string | null): any;
|
|
5906
6600
|
|
|
5907
6601
|
export function decodeSsr(bytes: Uint8Array, framed?: boolean | null): any;
|
|
@@ -5985,6 +6679,14 @@ export function dopplerShift(gcrs_position_km: Float64Array, gcrs_velocity_km_s:
|
|
|
5985
6679
|
*/
|
|
5986
6680
|
export function dopplerToRangeRate(doppler_hz: number, carrier_hz: number): number;
|
|
5987
6681
|
|
|
6682
|
+
/**
|
|
6683
|
+
* Convert a DTED tile tree into canonical memory-mappable terrain store bytes.
|
|
6684
|
+
*
|
|
6685
|
+
* The returned `Uint8Array` can be passed to [`MmapTerrain.fromBytes`] or
|
|
6686
|
+
* [`MmapTerrain.fromVec`]. Posting payloads are decoded orthometric metres.
|
|
6687
|
+
*/
|
|
6688
|
+
export function dtedTreeToMmapStore(root: string): Uint8Array;
|
|
6689
|
+
|
|
5988
6690
|
/**
|
|
5989
6691
|
* Angular radius in degrees of Earth as seen from each satellite position.
|
|
5990
6692
|
*/
|
|
@@ -6129,6 +6831,19 @@ export function estimateDecay(drag: DragForce, request: any): any;
|
|
|
6129
6831
|
*/
|
|
6130
6832
|
export function estimateDecayWithSpaceWeather(drag: DragForce, table: SpaceWeatherTable, request: any): any;
|
|
6131
6833
|
|
|
6834
|
+
/**
|
|
6835
|
+
* Exponentially weighted moving-average update.
|
|
6836
|
+
*
|
|
6837
|
+
* `alpha` must be in `[0, 1]`; the returned value is
|
|
6838
|
+
* `previous + alpha * (sample - previous)`.
|
|
6839
|
+
*/
|
|
6840
|
+
export function ewmaUpdate(previous: number, sample: number, alpha: number): number;
|
|
6841
|
+
|
|
6842
|
+
/**
|
|
6843
|
+
* EWMA update with `alpha = 1 / 2^shift`.
|
|
6844
|
+
*/
|
|
6845
|
+
export function ewmaUpdatePowerOfTwo(previous: number, sample: number, shift: number): number;
|
|
6846
|
+
|
|
6132
6847
|
/**
|
|
6133
6848
|
* Find Moon elevation threshold crossings (moonrise / moonset) over a UTC
|
|
6134
6849
|
* window.
|
|
@@ -6450,6 +7165,15 @@ export function gnssVisible(sp3: Sp3, station_ecef_m: Float64Array, j2000_second
|
|
|
6450
7165
|
*/
|
|
6451
7166
|
export function gpsUtcOffsetS(year: number, month: number, day: number): number;
|
|
6452
7167
|
|
|
7168
|
+
/**
|
|
7169
|
+
* Overlapping Hadamard deviation for explicit averaging factors.
|
|
7170
|
+
*
|
|
7171
|
+
* `series` is `{ kind, values }`, `tau0S` is seconds, and
|
|
7172
|
+
* `averagingFactors` contains positive integer `m` values. Returns
|
|
7173
|
+
* `{ tauS, deviation, n }`.
|
|
7174
|
+
*/
|
|
7175
|
+
export function hadamardDeviation(series: any, tau0_s: number, averaging_factors: any): any;
|
|
7176
|
+
|
|
6453
7177
|
/**
|
|
6454
7178
|
* Trace of the Gauss-Newton Hessian approximation `J^T J`: the sum of the
|
|
6455
7179
|
* squared column norms of the Jacobian, with no inverse formed.
|
|
@@ -6490,6 +7214,28 @@ export function iodGibbs(r1: Float64Array, r2: Float64Array, r3: Float64Array):
|
|
|
6490
7214
|
*/
|
|
6491
7215
|
export function iodHerrickGibbs(r1: Float64Array, r2: Float64Array, r3: Float64Array, jd1: number, jd2: number, jd3: number): IodVelocity;
|
|
6492
7216
|
|
|
7217
|
+
/**
|
|
7218
|
+
* Build an IONEX vertical-TEC product from flat node samples.
|
|
7219
|
+
*
|
|
7220
|
+
* `samples` is an array of `{ epochJ2000S, latDeg, lonDeg, vtecTecu,
|
|
7221
|
+
* rmsTecu? }` objects. Epochs are integer seconds since J2000, coordinates are
|
|
7222
|
+
* degrees, and TEC/RMS values are TECU. `shellHeightKm` and `baseRadiusKm` are
|
|
7223
|
+
* kilometers. Validation errors from the core sample builder are thrown as
|
|
7224
|
+
* `RangeError`.
|
|
7225
|
+
*/
|
|
7226
|
+
export function ionexFromNodeSamples(samples: any, shell_height_km: number, base_radius_km: number, exponent: number): Ionex;
|
|
7227
|
+
|
|
7228
|
+
/**
|
|
7229
|
+
* Build an IONEX vertical-TEC product from full-grid samples.
|
|
7230
|
+
*
|
|
7231
|
+
* `samples.mapEpochsJ2000S` are integer seconds since J2000. Latitude and
|
|
7232
|
+
* longitude nodes and `dlatDeg` / `dlonDeg` are degrees. `tecMaps` and
|
|
7233
|
+
* `rmsMaps` are TECU and indexed `[map][iLat][iLon]`. The shell height and
|
|
7234
|
+
* base radius are kilometers. Validation errors from the core sample builder
|
|
7235
|
+
* are thrown as `RangeError`.
|
|
7236
|
+
*/
|
|
7237
|
+
export function ionexFromSamples(samples: any): Ionex;
|
|
7238
|
+
|
|
6493
7239
|
/**
|
|
6494
7240
|
* Ionosphere-free code or meter-valued phase combination, metres.
|
|
6495
7241
|
*/
|
|
@@ -6539,6 +7285,15 @@ export function j2000SecondsToCivil(seconds: bigint): CivilDateTime;
|
|
|
6539
7285
|
*/
|
|
6540
7286
|
export function jarqueBera(x: Float64Array): any;
|
|
6541
7287
|
|
|
7288
|
+
/**
|
|
7289
|
+
* Steady-state gains for a scalar constant-velocity Kalman filter.
|
|
7290
|
+
*
|
|
7291
|
+
* `trackingIndex`, `dt`, and `measurementVariance` must be positive. Returns
|
|
7292
|
+
* `{ positionGain, rateGain }`; `rateGain * dt` equals the alpha-beta `beta`
|
|
7293
|
+
* gain for the same tracking index.
|
|
7294
|
+
*/
|
|
7295
|
+
export function kalmanCvSteadyStateGains(tracking_index: number, dt: number, measurement_variance: number): any;
|
|
7296
|
+
|
|
6542
7297
|
/**
|
|
6543
7298
|
* GPS broadcast Klobuchar ionospheric group delay in the model's native units
|
|
6544
7299
|
* (positive metres).
|
|
@@ -6751,12 +7506,38 @@ export function loadRinexObs(bytes: Uint8Array): RinexObs;
|
|
|
6751
7506
|
*/
|
|
6752
7507
|
export function loadSp3(bytes: Uint8Array): Sp3;
|
|
6753
7508
|
|
|
7509
|
+
/**
|
|
7510
|
+
* Locate a source from sensor arrival times.
|
|
7511
|
+
*
|
|
7512
|
+
* `sensors` is an array of `{ positionM, propagationSpeedMS? }`; each
|
|
7513
|
+
* `positionM` is a 2D or 3D Cartesian metre vector and all sensors must share
|
|
7514
|
+
* the same dimension. `arrivalTimesS` is an aligned seconds array,
|
|
7515
|
+
* `propagationSpeedMS` is the call-level speed in metres per second, and
|
|
7516
|
+
* `options` may include `mode`, `referenceSensor`, `timingSigmaS`, `loss`,
|
|
7517
|
+
* `fScaleS`, `ftol`, `xtol`, `gtol`, and `maxNfev`.
|
|
7518
|
+
*/
|
|
7519
|
+
export function locateSource(sensors: any, arrival_times_s: any, propagation_speed_m_s: number, options: any): any;
|
|
7520
|
+
|
|
6754
7521
|
export function lunarSolarEclipses(start_unix_us: bigint, end_unix_us: bigint, step_s: number, tolerance_s: number): any;
|
|
6755
7522
|
|
|
6756
7523
|
export function lunarSolarEclipsesSpk(spk: Spk, start_unix_us: bigint, end_unix_us: bigint, step_s: number, tolerance_s: number): any;
|
|
6757
7524
|
|
|
6758
7525
|
export function lvlhRotation(position_km: Float64Array, velocity_km_s: Float64Array): Float64Array;
|
|
6759
7526
|
|
|
7527
|
+
/**
|
|
7528
|
+
* Gaussian consistency factor applied by [`madSpread`].
|
|
7529
|
+
*/
|
|
7530
|
+
export function madGaussianConsistency(): number;
|
|
7531
|
+
|
|
7532
|
+
/**
|
|
7533
|
+
* Median absolute deviation spread estimate.
|
|
7534
|
+
*
|
|
7535
|
+
* `values` is a JS number array. The returned spread is
|
|
7536
|
+
* `MAD_GAUSSIAN_CONSISTENCY * median(abs(value - median(values)))`, floored by
|
|
7537
|
+
* `scaleFloor`.
|
|
7538
|
+
*/
|
|
7539
|
+
export function madSpread(values: any, scale_floor: number): number;
|
|
7540
|
+
|
|
6760
7541
|
export function meanMotionCircular(radius_km: number): number;
|
|
6761
7542
|
|
|
6762
7543
|
export function meanMotionFromState(position_km: Float64Array, velocity_km_s: Float64Array): number;
|
|
@@ -6799,6 +7580,15 @@ export function meridianTransits(body: string, station: any, start_unix_us: bigi
|
|
|
6799
7580
|
|
|
6800
7581
|
export function meridianTransitsSpk(spk: Spk, body: string, station: any, start_unix_us: bigint, end_unix_us: bigint, step_s: number, tolerance_s: number): any;
|
|
6801
7582
|
|
|
7583
|
+
/**
|
|
7584
|
+
* Modified Allan deviation for explicit averaging factors.
|
|
7585
|
+
*
|
|
7586
|
+
* `series` is `{ kind, values }`, `tau0S` is seconds, and
|
|
7587
|
+
* `averagingFactors` contains positive integer `m` values. Returns
|
|
7588
|
+
* `{ tauS, deviation, n }`.
|
|
7589
|
+
*/
|
|
7590
|
+
export function modifiedAdev(series: any, tau0_s: number, averaging_factors: any): any;
|
|
7591
|
+
|
|
6802
7592
|
/**
|
|
6803
7593
|
* Mean, variance, skewness, and excess kurtosis of a residual set in one pass.
|
|
6804
7594
|
*
|
|
@@ -6881,6 +7671,28 @@ export function nequickGDelayM(_eval: any, frequency_hz: number): number;
|
|
|
6881
7671
|
*/
|
|
6882
7672
|
export function nequickGStecTecu(_eval: any): number;
|
|
6883
7673
|
|
|
7674
|
+
/**
|
|
7675
|
+
* Scalar normalized innovation squared statistic.
|
|
7676
|
+
*/
|
|
7677
|
+
export function nis(innovation: number, innovation_variance: number): number;
|
|
7678
|
+
|
|
7679
|
+
/**
|
|
7680
|
+
* Bar-Shalom expected NIS value for `dof` measurement degrees of freedom.
|
|
7681
|
+
*/
|
|
7682
|
+
export function nisExpectedValue(dof: number): number;
|
|
7683
|
+
|
|
7684
|
+
/**
|
|
7685
|
+
* Test a scalar innovation against a chi-square NIS gate.
|
|
7686
|
+
*
|
|
7687
|
+
* Returns `{ nis, threshold, inGate, dof }`, with `confidence` in `(0, 1)`.
|
|
7688
|
+
*/
|
|
7689
|
+
export function nisGate(innovation: number, innovation_variance: number, dof: number, confidence: number): any;
|
|
7690
|
+
|
|
7691
|
+
/**
|
|
7692
|
+
* Chi-square NIS gate threshold for `dof` and confidence probability.
|
|
7693
|
+
*/
|
|
7694
|
+
export function nisGateThreshold(dof: number, confidence: number): number;
|
|
7695
|
+
|
|
6884
7696
|
/**
|
|
6885
7697
|
* Parse bytes and return grouped epoch snapshots directly.
|
|
6886
7698
|
*/
|
|
@@ -6911,11 +7723,26 @@ export function noiseAmplification(f1_hz: number, f2_hz: number): number;
|
|
|
6911
7723
|
*/
|
|
6912
7724
|
export function normalCovariance(jacobian: Float64Array, m: number, n: number, variance_scale: number): Float64Array;
|
|
6913
7725
|
|
|
7726
|
+
/**
|
|
7727
|
+
* Scalar normalized innovation `innovation / sqrt(innovationVariance)`.
|
|
7728
|
+
*/
|
|
7729
|
+
export function normalizedInnovation(innovation: number, innovation_variance: number): number;
|
|
7730
|
+
|
|
6914
7731
|
/**
|
|
6915
7732
|
* Build the NTRIP connection request bytes for a config object.
|
|
6916
7733
|
*/
|
|
6917
7734
|
export function ntripRequestBytes(config: any): Uint8Array;
|
|
6918
7735
|
|
|
7736
|
+
/**
|
|
7737
|
+
* Missing-position sentinel used in failed observable-state batch elements.
|
|
7738
|
+
*
|
|
7739
|
+
* The returned JS value is `[NaN, NaN, NaN]`, matching
|
|
7740
|
+
* `sidereon_core::ephemeris::OBSERVABLE_STATE_MISSING_POSITION_ECEF_M`. Always
|
|
7741
|
+
* check `elementResults[i].ok` or `statuses[i]` before using
|
|
7742
|
+
* `positionsEcefM[i]`.
|
|
7743
|
+
*/
|
|
7744
|
+
export function observableStateMissingPositionEcefM(): any;
|
|
7745
|
+
|
|
6919
7746
|
/**
|
|
6920
7747
|
* Predict observables for one satellite from a broadcast ephemeris store.
|
|
6921
7748
|
* Delegates to `sidereon_core::observables::predict`.
|
|
@@ -6974,6 +7801,15 @@ export function oceanTideLoading(station_ecef_m: Float64Array, year: number, mon
|
|
|
6974
7801
|
*/
|
|
6975
7802
|
export function orthometricHeightM(ellipsoidal_height_m: number, lat_rad: number, lon_rad: number): number;
|
|
6976
7803
|
|
|
7804
|
+
/**
|
|
7805
|
+
* Fully overlapping Allan deviation for explicit averaging factors.
|
|
7806
|
+
*
|
|
7807
|
+
* `series` is `{ kind, values }`, `tau0S` is seconds, and
|
|
7808
|
+
* `averagingFactors` contains positive integer `m` values. Returns
|
|
7809
|
+
* `{ tauS, deviation, n }`.
|
|
7810
|
+
*/
|
|
7811
|
+
export function overlappingAdev(series: any, tau0_s: number, averaging_factors: any): any;
|
|
7812
|
+
|
|
6977
7813
|
/**
|
|
6978
7814
|
* Parallactic angle (degrees) of a target at a station.
|
|
6979
7815
|
*
|
|
@@ -7365,6 +8201,12 @@ export function sampleBroadcastEphemeris(broadcast: BroadcastEphemeris, satellit
|
|
|
7365
8201
|
|
|
7366
8202
|
export function sampleSp3Ephemeris(sp3: Sp3, satellites: string[], start_j2000_s: number, stop_j2000_s: number, step_s: number): any;
|
|
7367
8203
|
|
|
8204
|
+
/**
|
|
8205
|
+
* Convert an SBAS satellite token such as `"S29"` to broadcast PRN number
|
|
8206
|
+
* such as `129`. Returns `null` for non-SBAS satellites.
|
|
8207
|
+
*/
|
|
8208
|
+
export function satToSbasPrn(sat: string): any;
|
|
8209
|
+
|
|
7368
8210
|
/**
|
|
7369
8211
|
* Apparent visual magnitude of a sunlit body from a diffuse-sphere phase law.
|
|
7370
8212
|
*
|
|
@@ -7376,8 +8218,20 @@ export function sampleSp3Ephemeris(sp3: Sp3, satellites: string[], start_j2000_s
|
|
|
7376
8218
|
*/
|
|
7377
8219
|
export function satelliteVisualMagnitude(range_km: number, phase_angle_deg: number, standard_magnitude: number, reference_range_km: number): number;
|
|
7378
8220
|
|
|
8221
|
+
/**
|
|
8222
|
+
* SBAS-corrected broadcast satellite position and clock.
|
|
8223
|
+
*
|
|
8224
|
+
* Position is ECEF meters and clock is seconds at `tJ2000S`, seconds since
|
|
8225
|
+
* J2000. Returns `null` when the selected SBAS mode cannot provide a state.
|
|
8226
|
+
*/
|
|
7379
8227
|
export function sbasCorrectedState(broadcast: BroadcastEphemeris, store: SbasCorrectionStore, geo: string, sat: string, t_j2000_s: number, mode?: string | null): any;
|
|
7380
8228
|
|
|
8229
|
+
/**
|
|
8230
|
+
* Convert an SBAS broadcast PRN number such as `129` to an SBAS satellite
|
|
8231
|
+
* token such as `"S29"`. Returns `null` when the PRN is outside the SBAS range.
|
|
8232
|
+
*/
|
|
8233
|
+
export function sbasPrnToSat(broadcast_prn: number): any;
|
|
8234
|
+
|
|
7381
8235
|
/**
|
|
7382
8236
|
* Screen a primary satellite against a secondary TLE catalog for threshold TCAs.
|
|
7383
8237
|
*
|
|
@@ -7592,6 +8446,13 @@ export function solveRtkFixed(config: any): RtkFixedSolution;
|
|
|
7592
8446
|
*/
|
|
7593
8447
|
export function solveRtkFloat(config: any): RtkFloatSolution;
|
|
7594
8448
|
|
|
8449
|
+
/**
|
|
8450
|
+
* Solve SPP using an SBAS-corrected broadcast source and optional SBAS iono.
|
|
8451
|
+
*
|
|
8452
|
+
* The returned solution uses the same units as `solveSpp`: ECEF meters,
|
|
8453
|
+
* receiver clock seconds, residual meters, and optional geodetic radians plus
|
|
8454
|
+
* ellipsoidal height meters.
|
|
8455
|
+
*/
|
|
7595
8456
|
export function solveSppSbas(broadcast: BroadcastEphemeris, store: SbasCorrectionStore, geo: string, request: any, mode?: string | null): SppSolution;
|
|
7596
8457
|
|
|
7597
8458
|
/**
|
|
@@ -7631,6 +8492,33 @@ export function solveVelocityBroadcast(broadcast: BroadcastEphemeris, observatio
|
|
|
7631
8492
|
*/
|
|
7632
8493
|
export function solveWithFallback(precise: Sp3[], broadcast: BroadcastEphemeris, request: any, policy: any): SourcedSolution;
|
|
7633
8494
|
|
|
8495
|
+
/**
|
|
8496
|
+
* Compute the timing Cramer-Rao lower bound for a proposed source position.
|
|
8497
|
+
*
|
|
8498
|
+
* The covariance is `(H^T H)^-1 * timingSigmaS^2`; position blocks are square
|
|
8499
|
+
* metres and origin-time variance is square seconds.
|
|
8500
|
+
*/
|
|
8501
|
+
export function sourceCrlb(sensors: any, source_position_m: any, propagation_speed_m_s: number, timing_sigma_s: number): any;
|
|
8502
|
+
|
|
8503
|
+
/**
|
|
8504
|
+
* Compute timing DOP for a proposed source position.
|
|
8505
|
+
*
|
|
8506
|
+
* `sourcePositionM` is a 2D or 3D Cartesian metre vector in the same frame as
|
|
8507
|
+
* the sensors. The returned DOP values multiply timing sigma in seconds to
|
|
8508
|
+
* produce metres in the caller's Cartesian axes.
|
|
8509
|
+
*/
|
|
8510
|
+
export function sourceDop(sensors: any, source_position_m: any, propagation_speed_m_s: number): any;
|
|
8511
|
+
|
|
8512
|
+
/**
|
|
8513
|
+
* Return the plain mode object for TDOA solves against `referenceSensor`.
|
|
8514
|
+
*/
|
|
8515
|
+
export function sourceSolveModeTdoa(reference_sensor: number): any;
|
|
8516
|
+
|
|
8517
|
+
/**
|
|
8518
|
+
* Return the plain mode value for absolute time-of-arrival solves.
|
|
8519
|
+
*/
|
|
8520
|
+
export function sourceSolveModeToa(): string;
|
|
8521
|
+
|
|
7634
8522
|
/**
|
|
7635
8523
|
* Extract a parsed SP3 product as the canonical precise-ephemeris samples, one
|
|
7636
8524
|
* per real position record in ascending epoch order.
|
|
@@ -7738,6 +8626,20 @@ export function temeToGcrs(position_km: Float64Array, velocity_km_s: Float64Arra
|
|
|
7738
8626
|
*/
|
|
7739
8627
|
export function terminatorLatitudeDeg(sub_solar_latitude_deg: number, sub_solar_longitude_deg: number, longitude_deg: number): number;
|
|
7740
8628
|
|
|
8629
|
+
/**
|
|
8630
|
+
* Return an FNV-1a checksum for terrain store bytes.
|
|
8631
|
+
*/
|
|
8632
|
+
export function terrainStoreChecksum64(bytes: Uint8Array): bigint;
|
|
8633
|
+
|
|
8634
|
+
/**
|
|
8635
|
+
* Time deviation for explicit averaging factors.
|
|
8636
|
+
*
|
|
8637
|
+
* `series` is `{ kind, values }`, `tau0S` is seconds, and
|
|
8638
|
+
* `averagingFactors` contains positive integer `m` values. Returns
|
|
8639
|
+
* `{ tauS, deviation, n }`.
|
|
8640
|
+
*/
|
|
8641
|
+
export function timeDeviation(series: any, tau0_s: number, averaging_factors: any): any;
|
|
8642
|
+
|
|
7741
8643
|
/**
|
|
7742
8644
|
* Short uppercase identifier for a time scale, e.g. `"GPST"`.
|
|
7743
8645
|
*/
|
|
@@ -7879,3 +8781,8 @@ export function wideLaneCycles(phi1_cycles: number, phi2_cycles: number, p1_m: n
|
|
|
7879
8781
|
* Wide-lane wavelength `c / (f1 - f2)`, metres.
|
|
7880
8782
|
*/
|
|
7881
8783
|
export function wideLaneWavelength(f1_hz: number, f2_hz: number): number;
|
|
8784
|
+
|
|
8785
|
+
/**
|
|
8786
|
+
* Convert a DTED tile tree and write canonical terrain store bytes to a path.
|
|
8787
|
+
*/
|
|
8788
|
+
export function writeDtedTreeToMmapStore(root: string, out_path: string): void;
|