@neilberkman/sidereon 0.15.0 → 0.16.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/README.md +12 -8
- package/package.json +1 -1
- package/pkg/sidereon.d.ts +1728 -1084
- package/pkg/sidereon.js +1485 -23
- package/pkg/sidereon_bg.wasm +0 -0
- package/pkg/sidereon_bg.wasm.d.ts +1170 -1082
- package/pkg-node/sidereon.d.ts +557 -1
- package/pkg-node/sidereon.js +1516 -23
- package/pkg-node/sidereon_bg.wasm +0 -0
- package/pkg-node/sidereon_bg.wasm.d.ts +1170 -1082
- package/types/sidereon-extra.d.ts +36 -2
package/pkg-node/sidereon.d.ts
CHANGED
|
@@ -1249,6 +1249,31 @@ export class CoverageGrid {
|
|
|
1249
1249
|
readonly stationCount: number;
|
|
1250
1250
|
}
|
|
1251
1251
|
|
|
1252
|
+
/**
|
|
1253
|
+
* Stateful opt-in latch for SGP4 decay-like failures.
|
|
1254
|
+
*
|
|
1255
|
+
* Pass one latch per satellite to [`Tle.propagateWithDecayLatch`]. The first
|
|
1256
|
+
* decay-like SGP4 failure records the requested epoch in minutes since the TLE
|
|
1257
|
+
* epoch; later requests at the same or a later epoch throw immediately through
|
|
1258
|
+
* the core latch instead of returning a raw post-decay state.
|
|
1259
|
+
*/
|
|
1260
|
+
export class DecayLatch {
|
|
1261
|
+
free(): void;
|
|
1262
|
+
[Symbol.dispose](): void;
|
|
1263
|
+
/**
|
|
1264
|
+
* Clear the recorded decay state.
|
|
1265
|
+
*/
|
|
1266
|
+
clear(): void;
|
|
1267
|
+
/**
|
|
1268
|
+
* Construct an empty decay latch.
|
|
1269
|
+
*/
|
|
1270
|
+
constructor();
|
|
1271
|
+
/**
|
|
1272
|
+
* First observed decay-like epoch, in minutes since the TLE epoch.
|
|
1273
|
+
*/
|
|
1274
|
+
readonly firstFailingEpochMinutes: number | undefined;
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1252
1277
|
/**
|
|
1253
1278
|
* SBAS degradation terms used when deriving an error model from a store.
|
|
1254
1279
|
*/
|
|
@@ -1600,6 +1625,34 @@ export class DtedTerrain {
|
|
|
1600
1625
|
constructor(root: string);
|
|
1601
1626
|
}
|
|
1602
1627
|
|
|
1628
|
+
/**
|
|
1629
|
+
* Earth figure used for conical eclipse shadow geometry.
|
|
1630
|
+
*/
|
|
1631
|
+
export enum EarthShadowModel {
|
|
1632
|
+
/**
|
|
1633
|
+
* Spherical Earth using the core mean Earth radius.
|
|
1634
|
+
*/
|
|
1635
|
+
Spherical = 0,
|
|
1636
|
+
/**
|
|
1637
|
+
* WGS84 oblate Earth approximation by polar-axis scaling.
|
|
1638
|
+
*/
|
|
1639
|
+
Wgs84Oblate = 1,
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1642
|
+
/**
|
|
1643
|
+
* EGM2008 raster spacing for NGA row-framed interpolation grids.
|
|
1644
|
+
*/
|
|
1645
|
+
export enum Egm2008GridSpacing {
|
|
1646
|
+
/**
|
|
1647
|
+
* The 1-arcminute EGM2008 grid.
|
|
1648
|
+
*/
|
|
1649
|
+
OneMinute = 0,
|
|
1650
|
+
/**
|
|
1651
|
+
* The 2.5-arcminute EGM2008 grid.
|
|
1652
|
+
*/
|
|
1653
|
+
TwoPointFiveMinute = 1,
|
|
1654
|
+
}
|
|
1655
|
+
|
|
1603
1656
|
/**
|
|
1604
1657
|
* Loaded EGM96 15-arcminute geoid grid for explicit terrain datum conversion.
|
|
1605
1658
|
*/
|
|
@@ -1905,6 +1958,17 @@ export class FrameStates {
|
|
|
1905
1958
|
readonly velocityKmS: Float64Array;
|
|
1906
1959
|
}
|
|
1907
1960
|
|
|
1961
|
+
/**
|
|
1962
|
+
* WGS84 geodesic input failure class exposed as a stable enum symbol.
|
|
1963
|
+
*/
|
|
1964
|
+
export enum GeodesicError {
|
|
1965
|
+
/**
|
|
1966
|
+
* A latitude, longitude, azimuth, or distance was outside the accepted
|
|
1967
|
+
* numeric domain.
|
|
1968
|
+
*/
|
|
1969
|
+
InvalidInput = 0,
|
|
1970
|
+
}
|
|
1971
|
+
|
|
1908
1972
|
/**
|
|
1909
1973
|
* A regular latitude/longitude grid of geoid undulation samples with bilinear
|
|
1910
1974
|
* interpolation, wrapping a real (loaded) geoid model.
|
|
@@ -1920,6 +1984,23 @@ export class GeoidGrid {
|
|
|
1920
1984
|
* Ellipsoidal height from orthometric height and radians.
|
|
1921
1985
|
*/
|
|
1922
1986
|
ellipsoidalHeightRad(orthometric_height_m: number, lat_rad: number, lon_rad: number): number;
|
|
1987
|
+
/**
|
|
1988
|
+
* Parse a full NGA EGM2008 row-framed interpolation raster.
|
|
1989
|
+
*
|
|
1990
|
+
* The byte stream must contain one north-to-south Fortran sequential record
|
|
1991
|
+
* per latitude row at the requested spacing. Use
|
|
1992
|
+
* [`fromEgm2008RasterWindow`] for small cropped fixtures or partial loads.
|
|
1993
|
+
*/
|
|
1994
|
+
static fromEgm2008Raster(bytes: Uint8Array, spacing: Egm2008GridSpacing): GeoidGrid;
|
|
1995
|
+
/**
|
|
1996
|
+
* Parse a cropped NGA EGM2008 row-framed interpolation raster window.
|
|
1997
|
+
*
|
|
1998
|
+
* `latMinDeg` and `lonMinDeg` are the southwest node of the loaded grid.
|
|
1999
|
+
* `nLat` and `nLon` are the latitude and longitude node counts in the byte
|
|
2000
|
+
* stream. Queries use the same undulation methods as every other
|
|
2001
|
+
* [`GeoidGrid`].
|
|
2002
|
+
*/
|
|
2003
|
+
static fromEgm2008RasterWindow(bytes: Uint8Array, spacing: Egm2008GridSpacing, lat_min_deg: number, lon_min_deg: number, n_lat: number, n_lon: number): GeoidGrid;
|
|
1923
2004
|
/**
|
|
1924
2005
|
* Parse an EGM96 `WW15MGH.DAC` byte buffer into a full-resolution grid.
|
|
1925
2006
|
*/
|
|
@@ -2230,6 +2311,93 @@ export class GroundTrack {
|
|
|
2230
2311
|
readonly lonDeg: Float64Array;
|
|
2231
2312
|
}
|
|
2232
2313
|
|
|
2314
|
+
/**
|
|
2315
|
+
* Helmert parameters in the units used by the published catalog tables.
|
|
2316
|
+
*/
|
|
2317
|
+
export class HelmertParameters {
|
|
2318
|
+
free(): void;
|
|
2319
|
+
[Symbol.dispose](): void;
|
|
2320
|
+
/**
|
|
2321
|
+
* Construct Helmert parameters from translation millimetres, scale parts
|
|
2322
|
+
* per billion, and rotation milliarcseconds.
|
|
2323
|
+
*/
|
|
2324
|
+
constructor(translation_mm: Float64Array, scale_ppb: number, rotation_mas: Float64Array);
|
|
2325
|
+
/**
|
|
2326
|
+
* Rotation components `[Rx, Ry, Rz]`, in milliarcseconds.
|
|
2327
|
+
*/
|
|
2328
|
+
readonly rotationMas: Float64Array;
|
|
2329
|
+
/**
|
|
2330
|
+
* Scale difference, in parts per billion.
|
|
2331
|
+
*/
|
|
2332
|
+
readonly scalePpb: number;
|
|
2333
|
+
/**
|
|
2334
|
+
* Translation components `[Tx, Ty, Tz]`, in millimetres.
|
|
2335
|
+
*/
|
|
2336
|
+
readonly translationMm: Float64Array;
|
|
2337
|
+
}
|
|
2338
|
+
|
|
2339
|
+
/**
|
|
2340
|
+
* Helmert parameter rates in the units used by the published catalog tables.
|
|
2341
|
+
*/
|
|
2342
|
+
export class HelmertRates {
|
|
2343
|
+
free(): void;
|
|
2344
|
+
[Symbol.dispose](): void;
|
|
2345
|
+
/**
|
|
2346
|
+
* Construct Helmert parameter rates from translation millimetres per year,
|
|
2347
|
+
* scale parts per billion per year, and rotation milliarcseconds per year.
|
|
2348
|
+
*/
|
|
2349
|
+
constructor(translation_mm_per_year: Float64Array, scale_ppb_per_year: number, rotation_mas_per_year: Float64Array);
|
|
2350
|
+
/**
|
|
2351
|
+
* Rotation rates `[Rx, Ry, Rz]`, in milliarcseconds per year.
|
|
2352
|
+
*/
|
|
2353
|
+
readonly rotationMasPerYear: Float64Array;
|
|
2354
|
+
/**
|
|
2355
|
+
* Scale rate, in parts per billion per year.
|
|
2356
|
+
*/
|
|
2357
|
+
readonly scalePpbPerYear: number;
|
|
2358
|
+
/**
|
|
2359
|
+
* Translation rates `[Tx, Ty, Tz]`, in millimetres per year.
|
|
2360
|
+
*/
|
|
2361
|
+
readonly translationMmPerYear: Float64Array;
|
|
2362
|
+
}
|
|
2363
|
+
|
|
2364
|
+
/**
|
|
2365
|
+
* One published 14-parameter Helmert catalog entry.
|
|
2366
|
+
*/
|
|
2367
|
+
export class HelmertTransform {
|
|
2368
|
+
private constructor();
|
|
2369
|
+
free(): void;
|
|
2370
|
+
[Symbol.dispose](): void;
|
|
2371
|
+
/**
|
|
2372
|
+
* Evaluate the seven Helmert parameters at a decimal year.
|
|
2373
|
+
*/
|
|
2374
|
+
parametersAt(epoch_year: number): HelmertParameters;
|
|
2375
|
+
/**
|
|
2376
|
+
* Published source frame for the forward transform.
|
|
2377
|
+
*/
|
|
2378
|
+
readonly from: TerrestrialFrame;
|
|
2379
|
+
/**
|
|
2380
|
+
* Parameters at `referenceEpochYear`.
|
|
2381
|
+
*/
|
|
2382
|
+
readonly parameters: HelmertParameters;
|
|
2383
|
+
/**
|
|
2384
|
+
* Published table or memo that supplied this entry.
|
|
2385
|
+
*/
|
|
2386
|
+
readonly provenance: string;
|
|
2387
|
+
/**
|
|
2388
|
+
* Linear rates of the seven Helmert parameters.
|
|
2389
|
+
*/
|
|
2390
|
+
readonly rates: HelmertRates;
|
|
2391
|
+
/**
|
|
2392
|
+
* Parameter reference epoch, expressed as a decimal year.
|
|
2393
|
+
*/
|
|
2394
|
+
readonly referenceEpochYear: number;
|
|
2395
|
+
/**
|
|
2396
|
+
* Published target frame for the forward transform.
|
|
2397
|
+
*/
|
|
2398
|
+
readonly to: TerrestrialFrame;
|
|
2399
|
+
}
|
|
2400
|
+
|
|
2233
2401
|
/**
|
|
2234
2402
|
* A point in time, tagged UTC, with the precise time scales resolved.
|
|
2235
2403
|
*
|
|
@@ -6203,6 +6371,247 @@ export class SunMoon {
|
|
|
6203
6371
|
readonly sun: Float64Array;
|
|
6204
6372
|
}
|
|
6205
6373
|
|
|
6374
|
+
/**
|
|
6375
|
+
* A parsed CCSDS Tracking Data Message.
|
|
6376
|
+
*/
|
|
6377
|
+
export class Tdm {
|
|
6378
|
+
private constructor();
|
|
6379
|
+
free(): void;
|
|
6380
|
+
[Symbol.dispose](): void;
|
|
6381
|
+
/**
|
|
6382
|
+
* Encode this TDM as canonical CCSDS KVN text.
|
|
6383
|
+
*/
|
|
6384
|
+
toKvnString(): string;
|
|
6385
|
+
/**
|
|
6386
|
+
* Header comments in parse order.
|
|
6387
|
+
*/
|
|
6388
|
+
readonly comments: string[];
|
|
6389
|
+
/**
|
|
6390
|
+
* Optional `CREATION_DATE` header value.
|
|
6391
|
+
*/
|
|
6392
|
+
readonly creationDate: string | undefined;
|
|
6393
|
+
/**
|
|
6394
|
+
* Header fields not part of the common modeled header.
|
|
6395
|
+
*/
|
|
6396
|
+
readonly headerFields: TdmField[];
|
|
6397
|
+
/**
|
|
6398
|
+
* Optional `MESSAGE_ID` header value.
|
|
6399
|
+
*/
|
|
6400
|
+
readonly messageId: string | undefined;
|
|
6401
|
+
/**
|
|
6402
|
+
* Optional `ORIGINATOR` header value.
|
|
6403
|
+
*/
|
|
6404
|
+
readonly originator: string | undefined;
|
|
6405
|
+
/**
|
|
6406
|
+
* Number of segments in the message.
|
|
6407
|
+
*/
|
|
6408
|
+
readonly segmentCount: number;
|
|
6409
|
+
/**
|
|
6410
|
+
* Metadata/data segments in message order.
|
|
6411
|
+
*/
|
|
6412
|
+
readonly segments: TdmSegment[];
|
|
6413
|
+
/**
|
|
6414
|
+
* The `CCSDS_TDM_VERS` header value.
|
|
6415
|
+
*/
|
|
6416
|
+
readonly version: string;
|
|
6417
|
+
}
|
|
6418
|
+
|
|
6419
|
+
/**
|
|
6420
|
+
* One time-tagged TDM tracking data record.
|
|
6421
|
+
*/
|
|
6422
|
+
export class TdmDataRecord {
|
|
6423
|
+
private constructor();
|
|
6424
|
+
free(): void;
|
|
6425
|
+
[Symbol.dispose](): void;
|
|
6426
|
+
/**
|
|
6427
|
+
* Raw epoch string.
|
|
6428
|
+
*/
|
|
6429
|
+
readonly epoch: string;
|
|
6430
|
+
/**
|
|
6431
|
+
* Original data keyword.
|
|
6432
|
+
*/
|
|
6433
|
+
readonly keyword: string;
|
|
6434
|
+
/**
|
|
6435
|
+
* Observable family label such as `"range"` or `"receiveFreq"`.
|
|
6436
|
+
*/
|
|
6437
|
+
readonly observableKind: string;
|
|
6438
|
+
/**
|
|
6439
|
+
* Participant suffix for frequency records, or `undefined`.
|
|
6440
|
+
*/
|
|
6441
|
+
readonly observableParticipant: number | undefined;
|
|
6442
|
+
/**
|
|
6443
|
+
* Original name for a table-defined keyword modeled as `other`.
|
|
6444
|
+
*/
|
|
6445
|
+
readonly otherObservable: string | undefined;
|
|
6446
|
+
/**
|
|
6447
|
+
* Numeric value plus exact decimal token.
|
|
6448
|
+
*/
|
|
6449
|
+
readonly scalar: TdmScalar;
|
|
6450
|
+
/**
|
|
6451
|
+
* Canonical unit label assigned by CCSDS 503.0-B-2.
|
|
6452
|
+
*/
|
|
6453
|
+
readonly unit: string;
|
|
6454
|
+
/**
|
|
6455
|
+
* Parsed numeric observable value.
|
|
6456
|
+
*/
|
|
6457
|
+
readonly value: number;
|
|
6458
|
+
/**
|
|
6459
|
+
* Exact decimal token used for KVN encoding.
|
|
6460
|
+
*/
|
|
6461
|
+
readonly valueText: string;
|
|
6462
|
+
}
|
|
6463
|
+
|
|
6464
|
+
/**
|
|
6465
|
+
* A TDM data block.
|
|
6466
|
+
*/
|
|
6467
|
+
export class TdmDataSection {
|
|
6468
|
+
private constructor();
|
|
6469
|
+
free(): void;
|
|
6470
|
+
[Symbol.dispose](): void;
|
|
6471
|
+
/**
|
|
6472
|
+
* Data-section comments in parse order.
|
|
6473
|
+
*/
|
|
6474
|
+
readonly comments: string[];
|
|
6475
|
+
/**
|
|
6476
|
+
* Data records in parse order.
|
|
6477
|
+
*/
|
|
6478
|
+
readonly records: TdmDataRecord[];
|
|
6479
|
+
}
|
|
6480
|
+
|
|
6481
|
+
/**
|
|
6482
|
+
* A KVN key/value field preserved in parse order.
|
|
6483
|
+
*/
|
|
6484
|
+
export class TdmField {
|
|
6485
|
+
private constructor();
|
|
6486
|
+
free(): void;
|
|
6487
|
+
[Symbol.dispose](): void;
|
|
6488
|
+
/**
|
|
6489
|
+
* The KVN keyword.
|
|
6490
|
+
*/
|
|
6491
|
+
readonly key: string;
|
|
6492
|
+
/**
|
|
6493
|
+
* The trimmed KVN value.
|
|
6494
|
+
*/
|
|
6495
|
+
readonly value: string;
|
|
6496
|
+
}
|
|
6497
|
+
|
|
6498
|
+
/**
|
|
6499
|
+
* Metadata extracted from a TDM `META_START` / `META_STOP` block.
|
|
6500
|
+
*/
|
|
6501
|
+
export class TdmMetadata {
|
|
6502
|
+
private constructor();
|
|
6503
|
+
free(): void;
|
|
6504
|
+
[Symbol.dispose](): void;
|
|
6505
|
+
/**
|
|
6506
|
+
* Return the last metadata value for `key`, or `undefined`.
|
|
6507
|
+
*/
|
|
6508
|
+
getLast(key: string): string | undefined;
|
|
6509
|
+
/**
|
|
6510
|
+
* Metadata comments in parse order.
|
|
6511
|
+
*/
|
|
6512
|
+
readonly comments: string[];
|
|
6513
|
+
/**
|
|
6514
|
+
* Raw metadata fields in parse order.
|
|
6515
|
+
*/
|
|
6516
|
+
readonly fields: TdmField[];
|
|
6517
|
+
/**
|
|
6518
|
+
* Optional `MODE` value.
|
|
6519
|
+
*/
|
|
6520
|
+
readonly mode: string | undefined;
|
|
6521
|
+
/**
|
|
6522
|
+
* Parsed `PARTICIPANT_n` entries.
|
|
6523
|
+
*/
|
|
6524
|
+
readonly participants: TdmParticipant[];
|
|
6525
|
+
/**
|
|
6526
|
+
* Parsed `PATH`, `PATH_1`, and `PATH_2` entries.
|
|
6527
|
+
*/
|
|
6528
|
+
readonly paths: TdmPath[];
|
|
6529
|
+
/**
|
|
6530
|
+
* Range unit label used by `RANGE` records.
|
|
6531
|
+
*/
|
|
6532
|
+
readonly rangeUnits: string;
|
|
6533
|
+
/**
|
|
6534
|
+
* Optional `TIME_SYSTEM` value.
|
|
6535
|
+
*/
|
|
6536
|
+
readonly timeSystem: string | undefined;
|
|
6537
|
+
/**
|
|
6538
|
+
* Optional `TIMETAG_REF` value.
|
|
6539
|
+
*/
|
|
6540
|
+
readonly timetagRef: string | undefined;
|
|
6541
|
+
}
|
|
6542
|
+
|
|
6543
|
+
/**
|
|
6544
|
+
* One named TDM tracking participant.
|
|
6545
|
+
*/
|
|
6546
|
+
export class TdmParticipant {
|
|
6547
|
+
private constructor();
|
|
6548
|
+
free(): void;
|
|
6549
|
+
[Symbol.dispose](): void;
|
|
6550
|
+
/**
|
|
6551
|
+
* Numeric suffix from `PARTICIPANT_n`.
|
|
6552
|
+
*/
|
|
6553
|
+
readonly index: number;
|
|
6554
|
+
/**
|
|
6555
|
+
* Participant name.
|
|
6556
|
+
*/
|
|
6557
|
+
readonly name: string;
|
|
6558
|
+
}
|
|
6559
|
+
|
|
6560
|
+
/**
|
|
6561
|
+
* A parsed TDM signal path from `PATH`, `PATH_1`, or `PATH_2`.
|
|
6562
|
+
*/
|
|
6563
|
+
export class TdmPath {
|
|
6564
|
+
private constructor();
|
|
6565
|
+
free(): void;
|
|
6566
|
+
[Symbol.dispose](): void;
|
|
6567
|
+
/**
|
|
6568
|
+
* Path suffix for `PATH_n`, or `undefined` for unindexed `PATH`.
|
|
6569
|
+
*/
|
|
6570
|
+
readonly index: number | undefined;
|
|
6571
|
+
/**
|
|
6572
|
+
* Original path keyword.
|
|
6573
|
+
*/
|
|
6574
|
+
readonly key: string;
|
|
6575
|
+
/**
|
|
6576
|
+
* Participant indices listed in path order.
|
|
6577
|
+
*/
|
|
6578
|
+
readonly participants: Uint8Array;
|
|
6579
|
+
}
|
|
6580
|
+
|
|
6581
|
+
/**
|
|
6582
|
+
* A numeric TDM record value plus its exact decimal token.
|
|
6583
|
+
*/
|
|
6584
|
+
export class TdmScalar {
|
|
6585
|
+
private constructor();
|
|
6586
|
+
free(): void;
|
|
6587
|
+
[Symbol.dispose](): void;
|
|
6588
|
+
/**
|
|
6589
|
+
* Exact decimal or scientific-notation token read from the message.
|
|
6590
|
+
*/
|
|
6591
|
+
readonly text: string;
|
|
6592
|
+
/**
|
|
6593
|
+
* Parsed finite `f64` value.
|
|
6594
|
+
*/
|
|
6595
|
+
readonly value: number;
|
|
6596
|
+
}
|
|
6597
|
+
|
|
6598
|
+
/**
|
|
6599
|
+
* One TDM segment, consisting of metadata and data blocks.
|
|
6600
|
+
*/
|
|
6601
|
+
export class TdmSegment {
|
|
6602
|
+
private constructor();
|
|
6603
|
+
free(): void;
|
|
6604
|
+
[Symbol.dispose](): void;
|
|
6605
|
+
/**
|
|
6606
|
+
* Tracking data records for this segment.
|
|
6607
|
+
*/
|
|
6608
|
+
readonly data: TdmDataSection;
|
|
6609
|
+
/**
|
|
6610
|
+
* Metadata describing this segment's records.
|
|
6611
|
+
*/
|
|
6612
|
+
readonly metadata: TdmMetadata;
|
|
6613
|
+
}
|
|
6614
|
+
|
|
6206
6615
|
/**
|
|
6207
6616
|
* Terrain datum conversion and optional geoid-grid loading error variants.
|
|
6208
6617
|
*/
|
|
@@ -6336,6 +6745,28 @@ export class TerrainStoreTileIndex {
|
|
|
6336
6745
|
readonly verticalDatum: VerticalDatum;
|
|
6337
6746
|
}
|
|
6338
6747
|
|
|
6748
|
+
/**
|
|
6749
|
+
* A supported terrestrial reference-frame realization.
|
|
6750
|
+
*/
|
|
6751
|
+
export enum TerrestrialFrame {
|
|
6752
|
+
/**
|
|
6753
|
+
* International Terrestrial Reference Frame 2020.
|
|
6754
|
+
*/
|
|
6755
|
+
Itrf2020 = 0,
|
|
6756
|
+
/**
|
|
6757
|
+
* International Terrestrial Reference Frame 2014.
|
|
6758
|
+
*/
|
|
6759
|
+
Itrf2014 = 1,
|
|
6760
|
+
/**
|
|
6761
|
+
* International Terrestrial Reference Frame 2008.
|
|
6762
|
+
*/
|
|
6763
|
+
Itrf2008 = 2,
|
|
6764
|
+
/**
|
|
6765
|
+
* European Terrestrial Reference Frame 2020.
|
|
6766
|
+
*/
|
|
6767
|
+
Etrf2020 = 3,
|
|
6768
|
+
}
|
|
6769
|
+
|
|
6339
6770
|
/**
|
|
6340
6771
|
* A named time scale. The JS value matches the variant order below.
|
|
6341
6772
|
*/
|
|
@@ -6376,6 +6807,14 @@ export enum TimeScale {
|
|
|
6376
6807
|
* QZSS system time (steered to GPST).
|
|
6377
6808
|
*/
|
|
6378
6809
|
Qzsst = 8,
|
|
6810
|
+
/**
|
|
6811
|
+
* Geocentric Coordinate Time.
|
|
6812
|
+
*/
|
|
6813
|
+
Tcg = 9,
|
|
6814
|
+
/**
|
|
6815
|
+
* Barycentric Coordinate Time.
|
|
6816
|
+
*/
|
|
6817
|
+
Tcb = 10,
|
|
6379
6818
|
}
|
|
6380
6819
|
|
|
6381
6820
|
/**
|
|
@@ -6415,6 +6854,15 @@ export class Tle {
|
|
|
6415
6854
|
* position (km) and velocity (km/s). Throws an `Error` on SGP4 failure.
|
|
6416
6855
|
*/
|
|
6417
6856
|
propagate(epochs_unix_us: BigInt64Array): TlePropagation;
|
|
6857
|
+
/**
|
|
6858
|
+
* Propagate over unix-microsecond epochs with an opt-in decay latch.
|
|
6859
|
+
*
|
|
6860
|
+
* The returned TEME arrays match [`propagate`] until the first decay-like
|
|
6861
|
+
* SGP4 failure. At that point the core latch records the failing epoch and
|
|
6862
|
+
* this method throws. Later calls using the same latch at that epoch or a
|
|
6863
|
+
* later one also throw, while raw [`propagate`] remains stateless.
|
|
6864
|
+
*/
|
|
6865
|
+
propagateWithDecayLatch(epochs_unix_us: BigInt64Array, latch: DecayLatch): TlePropagation;
|
|
6418
6866
|
/**
|
|
6419
6867
|
* Re-encode the parsed elements as the two 69-character TLE lines (with
|
|
6420
6868
|
* checksums), as a `[line1, line2]` string array. For a well-formed input
|
|
@@ -7393,6 +7841,14 @@ export function findTcaCandidates(primary_line1: string, primary_line2: string,
|
|
|
7393
7841
|
*/
|
|
7394
7842
|
export function findTcaConjunctions(primary_line1: string, primary_line2: string, secondary_line1: string, secondary_line2: string, window_start_unix_micros: bigint, window_end_unix_micros: bigint, pc_options: any, options: any): any;
|
|
7395
7843
|
|
|
7844
|
+
/**
|
|
7845
|
+
* Fit every satellite declared in a parsed ECEF SP3 precise product.
|
|
7846
|
+
*
|
|
7847
|
+
* The residual ledger is computed against the original Earth-fixed SP3
|
|
7848
|
+
* observations by the core fit path.
|
|
7849
|
+
*/
|
|
7850
|
+
export function fitAllSp3EcefPreciseOrbits(sp3: Sp3, options: any): any;
|
|
7851
|
+
|
|
7396
7852
|
/**
|
|
7397
7853
|
* Fit a piecewise reduced-orbit model: tile `[t0, t1]` into segments of
|
|
7398
7854
|
* `segmentSeconds` and fit each independently.
|
|
@@ -7467,6 +7923,23 @@ export function fitReducedOrbitSp3(sp3: Sp3, satellite: string, options: any): R
|
|
|
7467
7923
|
*/
|
|
7468
7924
|
export function fitReducedOrbitTle(tle: Tle, options: any): ReducedOrbitSourceFit;
|
|
7469
7925
|
|
|
7926
|
+
/**
|
|
7927
|
+
* Fit one satellite orbit from a parsed ECEF SP3 precise product.
|
|
7928
|
+
*
|
|
7929
|
+
* `satellite` is an IGS token such as `"G01"`. SP3 position and optional
|
|
7930
|
+
* velocity records are transformed from Earth-fixed coordinates through the
|
|
7931
|
+
* core `TdbEarthOrientationProvider` before fitting.
|
|
7932
|
+
*/
|
|
7933
|
+
export function fitSp3EcefPreciseOrbit(sp3: Sp3, satellite: string, options: any): any;
|
|
7934
|
+
|
|
7935
|
+
/**
|
|
7936
|
+
* Fit selected satellite orbits from a parsed ECEF SP3 precise product.
|
|
7937
|
+
*
|
|
7938
|
+
* `satellites` is a string array of IGS tokens such as `["G01", "G02"]`.
|
|
7939
|
+
* The Earth-fixed to inertial conversion is handled by the core provider.
|
|
7940
|
+
*/
|
|
7941
|
+
export function fitSp3EcefPreciseOrbits(sp3: Sp3, satellites: any, options: any): any;
|
|
7942
|
+
|
|
7470
7943
|
/**
|
|
7471
7944
|
* Fit one satellite orbit from a parsed SP3 precise product.
|
|
7472
7945
|
*
|
|
@@ -7520,6 +7993,43 @@ export function forceJ2Acceleration(position_km: Float64Array, velocity_km_s: Fl
|
|
|
7520
7993
|
*/
|
|
7521
7994
|
export function forceTwoBodyAcceleration(position_km: Float64Array, velocity_km_s: Float64Array): Float64Array;
|
|
7522
7995
|
|
|
7996
|
+
/**
|
|
7997
|
+
* Return the built-in terrestrial frame catalog entries.
|
|
7998
|
+
*/
|
|
7999
|
+
export function frameCatalog(): HelmertTransform[];
|
|
8000
|
+
|
|
8001
|
+
/**
|
|
8002
|
+
* Return the published catalog entry for the requested forward direction.
|
|
8003
|
+
*/
|
|
8004
|
+
export function frameCatalogEntry(from: TerrestrialFrame, to: TerrestrialFrame): HelmertTransform | undefined;
|
|
8005
|
+
|
|
8006
|
+
/**
|
|
8007
|
+
* Propagate a station position from one decimal year to another.
|
|
8008
|
+
*
|
|
8009
|
+
* `positionM` and `velocityMPerYear` are length-3 arrays in metres and metres
|
|
8010
|
+
* per year. Returns a length-3 array in metres. Delegates to
|
|
8011
|
+
* `sidereon_core::frame_catalog::propagate_position`.
|
|
8012
|
+
*/
|
|
8013
|
+
export function frameCatalogPropagatePosition(position_m: Float64Array, velocity_m_per_year: Float64Array, from_epoch_year: number, to_epoch_year: number): Float64Array;
|
|
8014
|
+
|
|
8015
|
+
/**
|
|
8016
|
+
* Transform a Cartesian station position and optional velocity between frames.
|
|
8017
|
+
*
|
|
8018
|
+
* `positionM` is a length-3 metre array. `velocityMPerYear` may be `undefined`
|
|
8019
|
+
* or a length-3 metres-per-year array. Returns a plain object with
|
|
8020
|
+
* `positionM` and `velocityMPerYear` (`null` when no velocity was supplied).
|
|
8021
|
+
*/
|
|
8022
|
+
export function frameCatalogTransform(position_m: Float64Array, velocity_m_per_year: Float64Array | null | undefined, from: TerrestrialFrame, to: TerrestrialFrame, epoch_year: number): any;
|
|
8023
|
+
|
|
8024
|
+
/**
|
|
8025
|
+
* Propagate a station to a transform epoch, then transform it between frames.
|
|
8026
|
+
*
|
|
8027
|
+
* `positionEpochYear` is the epoch of the input coordinates. The transform is
|
|
8028
|
+
* evaluated at `transformEpochYear`. Returns a plain object with `positionM`
|
|
8029
|
+
* and `velocityMPerYear`.
|
|
8030
|
+
*/
|
|
8031
|
+
export function frameCatalogTransformFromEpoch(position_m: Float64Array, velocity_m_per_year: Float64Array, position_epoch_year: number, from: TerrestrialFrame, to: TerrestrialFrame, transform_epoch_year: number): any;
|
|
8032
|
+
|
|
7523
8033
|
/**
|
|
7524
8034
|
* Build constellation identity records from a CelesTrak OMM JSON-array text.
|
|
7525
8035
|
*
|
|
@@ -7579,6 +8089,32 @@ export function gamma(f1_hz: number, f2_hz: number): number;
|
|
|
7579
8089
|
*/
|
|
7580
8090
|
export function gcrsToItrs(position_km: Float64Array, epochs_unix_us: BigInt64Array, skyfield_compat?: boolean | null): Float64Array;
|
|
7581
8091
|
|
|
8092
|
+
/**
|
|
8093
|
+
* Solve the WGS84 direct geodesic problem.
|
|
8094
|
+
*
|
|
8095
|
+
* Inputs are point 1 latitude, longitude, forward azimuth, and geodesic
|
|
8096
|
+
* distance. Angles are degrees and `distanceM` is metres. Returns
|
|
8097
|
+
* `{ lat2Deg, lon2Deg, finalAzimuthDeg }`. Delegates to
|
|
8098
|
+
* `sidereon_core::geodesic::geodesic_direct`.
|
|
8099
|
+
*/
|
|
8100
|
+
export function geodesicDirect(lat1_deg: number, lon1_deg: number, initial_azimuth_deg: number, distance_m: number): any;
|
|
8101
|
+
|
|
8102
|
+
/**
|
|
8103
|
+
* Stable string label for a [`GeodesicError`] enum value.
|
|
8104
|
+
*/
|
|
8105
|
+
export function geodesicErrorLabel(error: GeodesicError): string;
|
|
8106
|
+
|
|
8107
|
+
/**
|
|
8108
|
+
* Solve the WGS84 inverse geodesic problem.
|
|
8109
|
+
*
|
|
8110
|
+
* Inputs are point 1 latitude and longitude followed by point 2 latitude and
|
|
8111
|
+
* longitude, all in degrees. Longitudes may be outside `[-180, 180]`. Returns
|
|
8112
|
+
* `{ distanceM, initialAzimuthDeg, finalAzimuthDeg }`, with distance in metres
|
|
8113
|
+
* and azimuths in degrees. Delegates to
|
|
8114
|
+
* `sidereon_core::geodesic::geodesic_inverse`.
|
|
8115
|
+
*/
|
|
8116
|
+
export function geodesicInverse(lat1_deg: number, lon1_deg: number, lat2_deg: number, lon2_deg: number): any;
|
|
8117
|
+
|
|
7582
8118
|
/**
|
|
7583
8119
|
* Convert a batch of geodetic coordinates to ITRS (ECEF).
|
|
7584
8120
|
*
|
|
@@ -8533,6 +9069,11 @@ export function parseSpaceWeatherCsv(text: string): SpaceWeatherTable;
|
|
|
8533
9069
|
*/
|
|
8534
9070
|
export function parseSpaceWeatherTxt(text: string): SpaceWeatherTable;
|
|
8535
9071
|
|
|
9072
|
+
/**
|
|
9073
|
+
* Parse a CCSDS Tracking Data Message in KVN form.
|
|
9074
|
+
*/
|
|
9075
|
+
export function parseTdmKvn(text: string): Tdm;
|
|
9076
|
+
|
|
8536
9077
|
/**
|
|
8537
9078
|
* Parse a multi-record TLE file (CelesTrak / Space-Track style) into named,
|
|
8538
9079
|
* initialized [`Tle`] instances. Handles bare 2-line sets, 3-line name+line1+line2
|
|
@@ -8927,6 +9468,16 @@ export function selectSp3OverRange(products: Sp3[], start_epoch_j2000_s: number,
|
|
|
8927
9468
|
*/
|
|
8928
9469
|
export function shadowFraction(satellite_position_km: Float64Array, sun_position_km: Float64Array): Float64Array;
|
|
8929
9470
|
|
|
9471
|
+
/**
|
|
9472
|
+
* Shadow fraction in `[0, 1]` for position batches with an explicit Earth
|
|
9473
|
+
* shadow model.
|
|
9474
|
+
*
|
|
9475
|
+
* `satellitePositionKm` and `sunPositionKm` are flat row-major `(n, 3)`
|
|
9476
|
+
* `Float64Array`s. `EarthShadowModel.Spherical` is bit-identical to
|
|
9477
|
+
* [`shadowFraction`].
|
|
9478
|
+
*/
|
|
9479
|
+
export function shadowFractionWithModel(satellite_position_km: Float64Array, sun_position_km: Float64Array, model: EarthShadowModel): Float64Array;
|
|
9480
|
+
|
|
8930
9481
|
/**
|
|
8931
9482
|
* Shapiro-Wilk normality test on a residual set.
|
|
8932
9483
|
*
|
|
@@ -9274,6 +9825,11 @@ export function terminatorLatitudeDeg(sub_solar_latitude_deg: number, sub_solar_
|
|
|
9274
9825
|
*/
|
|
9275
9826
|
export function terrainStoreChecksum64(bytes: Uint8Array): bigint;
|
|
9276
9827
|
|
|
9828
|
+
/**
|
|
9829
|
+
* Stable string label for a [`TerrestrialFrame`] enum value.
|
|
9830
|
+
*/
|
|
9831
|
+
export function terrestrialFrameLabel(frame: TerrestrialFrame): string;
|
|
9832
|
+
|
|
9277
9833
|
/**
|
|
9278
9834
|
* Time deviation for explicit averaging factors.
|
|
9279
9835
|
*
|
|
@@ -9444,6 +10000,6 @@ export function writeDtedTreeToMmapStore(root: string, out_path: string): void;
|
|
|
9444
10000
|
*
|
|
9445
10001
|
* `alpha` is the two-sided false-alarm probability. `power` is detection power,
|
|
9446
10002
|
* so the core missed-detection probability is `1 - power`. The returned object
|
|
9447
|
-
* contains `delta0` and `lambda0
|
|
10003
|
+
* contains the core-provided `delta0` and `lambda0` values.
|
|
9448
10004
|
*/
|
|
9449
10005
|
export function wtestNoncentrality(alpha: number, power: number): any;
|