@neilberkman/sidereon 1.1.1 → 1.3.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/CHANGELOG.md +38 -0
- package/README.md +44 -0
- package/package.json +1 -1
- package/pkg/sidereon.d.ts +1801 -1595
- package/pkg/sidereon.js +518 -0
- package/pkg/sidereon_bg.wasm +0 -0
- package/pkg/sidereon_bg.wasm.d.ts +1668 -1638
- package/pkg-node/sidereon.d.ts +176 -0
- package/pkg-node/sidereon.js +535 -0
- package/pkg-node/sidereon_bg.wasm +0 -0
- package/pkg-node/sidereon_bg.wasm.d.ts +1668 -1638
package/pkg-node/sidereon.d.ts
CHANGED
|
@@ -6623,6 +6623,34 @@ export class RinexClock {
|
|
|
6623
6623
|
readonly series: ClockSeries[];
|
|
6624
6624
|
}
|
|
6625
6625
|
|
|
6626
|
+
/**
|
|
6627
|
+
* Result of lenient RINEX NAV parsing.
|
|
6628
|
+
*
|
|
6629
|
+
* `records` contains the supported records in file order and `skipped`
|
|
6630
|
+
* contains malformed supported blocks reported by the core parser.
|
|
6631
|
+
*/
|
|
6632
|
+
export class RinexNavParse {
|
|
6633
|
+
private constructor();
|
|
6634
|
+
free(): void;
|
|
6635
|
+
[Symbol.dispose](): void;
|
|
6636
|
+
/**
|
|
6637
|
+
* Number of supported records returned by the parser.
|
|
6638
|
+
*/
|
|
6639
|
+
readonly recordCount: number;
|
|
6640
|
+
/**
|
|
6641
|
+
* Supported broadcast records in file order.
|
|
6642
|
+
*/
|
|
6643
|
+
readonly records: BroadcastRecordJs[];
|
|
6644
|
+
/**
|
|
6645
|
+
* Supported blocks skipped by the lenient core parser, in file order.
|
|
6646
|
+
*/
|
|
6647
|
+
readonly skipped: SkippedNavBlock[];
|
|
6648
|
+
/**
|
|
6649
|
+
* Number of supported blocks skipped by the parser.
|
|
6650
|
+
*/
|
|
6651
|
+
readonly skippedCount: number;
|
|
6652
|
+
}
|
|
6653
|
+
|
|
6626
6654
|
/**
|
|
6627
6655
|
* Navigation repair result.
|
|
6628
6656
|
*/
|
|
@@ -7019,6 +7047,43 @@ export class SbasKMultipliers {
|
|
|
7019
7047
|
readonly kV: number;
|
|
7020
7048
|
}
|
|
7021
7049
|
|
|
7050
|
+
/**
|
|
7051
|
+
* One timestamped SBAS message row parsed from an EMS or RTKLIB text log.
|
|
7052
|
+
*/
|
|
7053
|
+
export class SbasLogBlock {
|
|
7054
|
+
private constructor();
|
|
7055
|
+
free(): void;
|
|
7056
|
+
[Symbol.dispose](): void;
|
|
7057
|
+
/**
|
|
7058
|
+
* Decode this raw message using its parsed wire form.
|
|
7059
|
+
*/
|
|
7060
|
+
decode(): any;
|
|
7061
|
+
/**
|
|
7062
|
+
* Raw SBAS bytes in the form selected by the core parser.
|
|
7063
|
+
*/
|
|
7064
|
+
readonly bytes: Uint8Array;
|
|
7065
|
+
/**
|
|
7066
|
+
* Core-selected wire form: `"framed250"` or `"body226"`.
|
|
7067
|
+
*/
|
|
7068
|
+
readonly form: string;
|
|
7069
|
+
/**
|
|
7070
|
+
* SBAS satellite token, such as `"S20"`.
|
|
7071
|
+
*/
|
|
7072
|
+
readonly satellite: string;
|
|
7073
|
+
/**
|
|
7074
|
+
* SBAS satellite token, such as `"S20"`.
|
|
7075
|
+
*/
|
|
7076
|
+
readonly satelliteId: string;
|
|
7077
|
+
/**
|
|
7078
|
+
* Seconds of GPS week of the parsed message epoch.
|
|
7079
|
+
*/
|
|
7080
|
+
readonly towS: number;
|
|
7081
|
+
/**
|
|
7082
|
+
* GPS week of the parsed message epoch.
|
|
7083
|
+
*/
|
|
7084
|
+
readonly week: number;
|
|
7085
|
+
}
|
|
7086
|
+
|
|
7022
7087
|
/**
|
|
7023
7088
|
* SBAS protection-level input or numerical failure.
|
|
7024
7089
|
*/
|
|
@@ -7220,6 +7285,26 @@ export class SignalPolicy {
|
|
|
7220
7285
|
withSystem(system: GnssSystem, codes: string[]): SignalPolicy;
|
|
7221
7286
|
}
|
|
7222
7287
|
|
|
7288
|
+
/**
|
|
7289
|
+
* One supported RINEX NAV block that the core parser could not represent.
|
|
7290
|
+
*
|
|
7291
|
+
* The diagnostic is retained by [`parseRinexNavLenient`] instead of turning a
|
|
7292
|
+
* malformed supported block into a fatal whole-file error.
|
|
7293
|
+
*/
|
|
7294
|
+
export class SkippedNavBlock {
|
|
7295
|
+
private constructor();
|
|
7296
|
+
free(): void;
|
|
7297
|
+
[Symbol.dispose](): void;
|
|
7298
|
+
/**
|
|
7299
|
+
* Core parser diagnostic explaining why the block was skipped.
|
|
7300
|
+
*/
|
|
7301
|
+
readonly message: string;
|
|
7302
|
+
/**
|
|
7303
|
+
* Satellite token from the skipped block, such as `"G01"`.
|
|
7304
|
+
*/
|
|
7305
|
+
readonly satellite: string;
|
|
7306
|
+
}
|
|
7307
|
+
|
|
7223
7308
|
/**
|
|
7224
7309
|
* Reason a carrier-phase arc split was flagged.
|
|
7225
7310
|
*/
|
|
@@ -9614,6 +9699,18 @@ export function correlateAgainst(iq: Float64Array, code: Int8Array, sample_rate_
|
|
|
9614
9699
|
*/
|
|
9615
9700
|
export function correlationAt(code_a: Int8Array, code_b: Int8Array, lag: bigint): number;
|
|
9616
9701
|
|
|
9702
|
+
/**
|
|
9703
|
+
* Convert a validated flat row-major 6x6 covariance from km²-based state
|
|
9704
|
+
* units to m²-based state units.
|
|
9705
|
+
*/
|
|
9706
|
+
export function covariance6KmToM(covariance: Float64Array): Float64Array;
|
|
9707
|
+
|
|
9708
|
+
/**
|
|
9709
|
+
* Convert a validated flat row-major 6x6 covariance from m²-based state
|
|
9710
|
+
* units to km²-based state units.
|
|
9711
|
+
*/
|
|
9712
|
+
export function covariance6MToKm(covariance: Float64Array): Float64Array;
|
|
9713
|
+
|
|
9617
9714
|
/**
|
|
9618
9715
|
* Fitted parameter covariance from a converged solve, scaling `(J^T J)^-1` by
|
|
9619
9716
|
* the post-fit reduced chi-square `s_sq = 2 * cost / (m - n)` (the same scale
|
|
@@ -9657,6 +9754,16 @@ export function cwPropagate(rel: any, n_rad_s: number, dt_s: number): any;
|
|
|
9657
9754
|
|
|
9658
9755
|
export function cwStm(n_rad_s: number, dt_s: number): Float64Array;
|
|
9659
9756
|
|
|
9757
|
+
/**
|
|
9758
|
+
* Integer day-of-year from a validated product date.
|
|
9759
|
+
*/
|
|
9760
|
+
export function dataDayOfYear(year: number, month: number, day: number): number;
|
|
9761
|
+
|
|
9762
|
+
/**
|
|
9763
|
+
* Fractional day-of-year from a civil calendar date and time.
|
|
9764
|
+
*/
|
|
9765
|
+
export function dayOfYear(year: number, month: number, day: number, hour: number, minute: number, second: number): number;
|
|
9766
|
+
|
|
9660
9767
|
/**
|
|
9661
9768
|
* Decode Compact RINEX (Hatanaka) bytes into plain RINEX OBS text. Throws a
|
|
9662
9769
|
* `TypeError` on non-UTF-8 input and an `Error` on a decode failure.
|
|
@@ -9858,6 +9965,12 @@ export function eccentricToTrue(eccentric_anomaly_rad: number, eccentricity: num
|
|
|
9858
9965
|
*/
|
|
9859
9966
|
export function ecefToGeodetic(position_km: Float64Array): Float64Array;
|
|
9860
9967
|
|
|
9968
|
+
/**
|
|
9969
|
+
* Transform a flat row-major 6x6 ECI state covariance into RTN coordinates.
|
|
9970
|
+
* Position is in km and velocity is in km/s.
|
|
9971
|
+
*/
|
|
9972
|
+
export function eciToRtnCovariance6(covariance: Float64Array, position_km: Float64Array, velocity_km_s: Float64Array): Float64Array;
|
|
9973
|
+
|
|
9861
9974
|
/**
|
|
9862
9975
|
* Eclipse status for satellite and Sun position batches, km. Returns a
|
|
9863
9976
|
* `string[]` of `"sunlit"` / `"penumbra"` / `"umbra"`.
|
|
@@ -9935,6 +10048,13 @@ export function emissionMediaStatusLabel(status: EmissionMediaStatus): string;
|
|
|
9935
10048
|
*/
|
|
9936
10049
|
export function encodeCrinex(rinex_text: string): string;
|
|
9937
10050
|
|
|
10051
|
+
/**
|
|
10052
|
+
* Encode an arbitrary caller-supplied list of broadcast records as RINEX NAV
|
|
10053
|
+
* text. The list is consumed by the WASM boundary and the bytes are produced
|
|
10054
|
+
* by the core's deterministic encoder.
|
|
10055
|
+
*/
|
|
10056
|
+
export function encodeRinexNav(records: BroadcastRecordJs[]): string;
|
|
10057
|
+
|
|
9938
10058
|
/**
|
|
9939
10059
|
* Encode a constructed RTCM message into a message body (without the transport
|
|
9940
10060
|
* frame).
|
|
@@ -10531,6 +10651,12 @@ export function hessianTrace(jacobian: Float64Array, m: number, n: number): numb
|
|
|
10531
10651
|
*/
|
|
10532
10652
|
export function horizontalRadiusAt(covariance_enu_m2: any, probability: number): PercentileRadius;
|
|
10533
10653
|
|
|
10654
|
+
/**
|
|
10655
|
+
* Interpolate two validated same-frame flat row-major 6x6 covariances with
|
|
10656
|
+
* the core PSD-preserving interpolation.
|
|
10657
|
+
*/
|
|
10658
|
+
export function interpolateCovariance6(covariance_a: Float64Array, covariance_b: Float64Array, u: number): Float64Array;
|
|
10659
|
+
|
|
10534
10660
|
/**
|
|
10535
10661
|
* Gauss angles-only orbit determination.
|
|
10536
10662
|
*
|
|
@@ -11380,6 +11506,16 @@ export function parseRinexLeapSeconds(bytes: Uint8Array): number | undefined;
|
|
|
11380
11506
|
*/
|
|
11381
11507
|
export function parseRinexNav(bytes: Uint8Array): BroadcastEphemeris;
|
|
11382
11508
|
|
|
11509
|
+
/**
|
|
11510
|
+
* Parse RINEX NAV bytes leniently through the core parser.
|
|
11511
|
+
*
|
|
11512
|
+
* Header failures remain fatal. Malformed supported record blocks are
|
|
11513
|
+
* returned in `skipped` with their satellite token and core diagnostic;
|
|
11514
|
+
* unsupported systems and message rosters retain the core parser's skip
|
|
11515
|
+
* policy. Non-UTF-8 input throws a `TypeError`.
|
|
11516
|
+
*/
|
|
11517
|
+
export function parseRinexNavLenient(bytes: Uint8Array): RinexNavParse;
|
|
11518
|
+
|
|
11383
11519
|
/**
|
|
11384
11520
|
* Parse all supported GPS, Galileo, and BeiDou broadcast records from NAV
|
|
11385
11521
|
* bytes, before the store's default health and message-policy filter.
|
|
@@ -11392,6 +11528,16 @@ export function parseRinexNavRecords(bytes: Uint8Array): BroadcastRecordJs[];
|
|
|
11392
11528
|
*/
|
|
11393
11529
|
export function parseRinexObs(bytes: Uint8Array): RinexObs;
|
|
11394
11530
|
|
|
11531
|
+
/**
|
|
11532
|
+
* Parse timestamped SBAS EMS log lines into raw message blocks.
|
|
11533
|
+
*/
|
|
11534
|
+
export function parseSbasEmsLines(text: string): SbasLogBlock[];
|
|
11535
|
+
|
|
11536
|
+
/**
|
|
11537
|
+
* Parse timestamped RTKLIB SBAS log lines into raw message blocks.
|
|
11538
|
+
*/
|
|
11539
|
+
export function parseSbasRtklibLines(text: string): SbasLogBlock[];
|
|
11540
|
+
|
|
11395
11541
|
/**
|
|
11396
11542
|
* Parse either CSV or fixed-width TXT space-weather bytes.
|
|
11397
11543
|
*/
|
|
@@ -11714,6 +11860,25 @@ export function rinexBandFrequencyHz(system: GnssSystem, band: string, glonass_c
|
|
|
11714
11860
|
*/
|
|
11715
11861
|
export function rinexBandWavelengthM(system: GnssSystem, band: string, glonass_channel?: number | null): number | undefined;
|
|
11716
11862
|
|
|
11863
|
+
/**
|
|
11864
|
+
* RINEX observation-code frequency in hertz for a system and full code.
|
|
11865
|
+
*
|
|
11866
|
+
* `rinex_version` is passed to the core policy because some constellation
|
|
11867
|
+
* band meanings depend on the RINEX minor version. GLONASS G1/G2 codes also
|
|
11868
|
+
* require the FDMA channel number. Returns `undefined` when the core has no
|
|
11869
|
+
* mapping for the supplied system/code combination.
|
|
11870
|
+
*/
|
|
11871
|
+
export function rinexObservationFrequencyHz(system: GnssSystem, code: string, rinex_version: number, glonass_channel?: number | null): number | undefined;
|
|
11872
|
+
|
|
11873
|
+
/**
|
|
11874
|
+
* RINEX observation-code wavelength in metres for a system and full code.
|
|
11875
|
+
*
|
|
11876
|
+
* This uses the same version-aware observation-code policy as
|
|
11877
|
+
* [`rinexObservationFrequencyHz`]. Returns `undefined` when no core mapping
|
|
11878
|
+
* exists.
|
|
11879
|
+
*/
|
|
11880
|
+
export function rinexObservationWavelengthM(system: GnssSystem, code: string, rinex_version: number, glonass_channel?: number | null): number | undefined;
|
|
11881
|
+
|
|
11717
11882
|
export function rswRotation(position_km: Float64Array, velocity_km_s: Float64Array): Float64Array;
|
|
11718
11883
|
|
|
11719
11884
|
/**
|
|
@@ -11765,6 +11930,12 @@ export function rtnRotation(position_km: Float64Array, velocity_km_s: Float64Arr
|
|
|
11765
11930
|
*/
|
|
11766
11931
|
export function rtnToEciCovariance(covariance_rtn: Float64Array, position_km: Float64Array, velocity_km_s: Float64Array): Float64Array;
|
|
11767
11932
|
|
|
11933
|
+
/**
|
|
11934
|
+
* Transform a flat row-major 6x6 RTN state covariance into ECI coordinates.
|
|
11935
|
+
* Position is in km and velocity is in km/s.
|
|
11936
|
+
*/
|
|
11937
|
+
export function rtnToEciCovariance6(covariance: Float64Array, position_km: Float64Array, velocity_km_s: Float64Array): Float64Array;
|
|
11938
|
+
|
|
11768
11939
|
/**
|
|
11769
11940
|
* Convert an inertial Cartesian state to classical orbital elements.
|
|
11770
11941
|
*
|
|
@@ -11865,6 +12036,11 @@ export function seasons(start_unix_us: bigint, end_unix_us: bigint, step_s: numb
|
|
|
11865
12036
|
|
|
11866
12037
|
export function seasonsSpk(spk: Spk, start_unix_us: bigint, end_unix_us: bigint, step_s: number, tolerance_s: number): any;
|
|
11867
12038
|
|
|
12039
|
+
/**
|
|
12040
|
+
* Seconds elapsed since the beginning of a civil day.
|
|
12041
|
+
*/
|
|
12042
|
+
export function secondOfDay(hour: number, minute: number, second: number): number;
|
|
12043
|
+
|
|
11868
12044
|
/**
|
|
11869
12045
|
* Select an IONEX product usable at `requestedEpochJ2000S`, degrading to a
|
|
11870
12046
|
* diurnal-shifted prior product within `policy`.
|