ootk 2.0.1 → 4.0.0-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/.eslintrc.json +14 -14
- package/CHANGELOG.md +122 -0
- package/README.md +27 -40
- package/jest.config.ts +30 -0
- package/lib/coordinate/Hill.d.ts +50 -0
- package/lib/coordinate/Hill.js +214 -0
- package/lib/coordinate/Hill.js.map +1 -0
- package/lib/coordinate/index.d.ts +1 -0
- package/lib/coordinate/index.js +2 -0
- package/lib/coordinate/index.js.map +1 -0
- package/lib/covariance/CovarianceSample.d.ts +44 -0
- package/lib/covariance/CovarianceSample.js +146 -0
- package/lib/covariance/CovarianceSample.js.map +1 -0
- package/lib/covariance/StateCovariance.d.ts +41 -0
- package/lib/covariance/StateCovariance.js +62 -0
- package/lib/covariance/StateCovariance.js.map +1 -0
- package/lib/force/AtmosphericDrag.d.ts +32 -0
- package/lib/force/AtmosphericDrag.js +66 -0
- package/lib/force/AtmosphericDrag.js.map +1 -0
- package/{dist/ootk.d.ts → lib/force/EarthGravity.d.ts} +13 -11
- package/lib/force/EarthGravity.js +115 -0
- package/lib/force/EarthGravity.js.map +1 -0
- package/lib/force/Force.d.ts +25 -0
- package/lib/force/Force.js +30 -0
- package/lib/force/Force.js.map +1 -0
- package/lib/force/ForceModel.d.ts +38 -0
- package/lib/force/ForceModel.js +71 -0
- package/lib/force/ForceModel.js.map +1 -0
- package/lib/force/Gravity.d.ts +41 -0
- package/lib/force/Gravity.js +48 -0
- package/lib/force/Gravity.js.map +1 -0
- package/lib/force/SolarRadiationPressure.d.ts +27 -0
- package/lib/force/SolarRadiationPressure.js +42 -0
- package/lib/force/SolarRadiationPressure.js.map +1 -0
- package/lib/force/ThirdBodyGravity.d.ts +27 -0
- package/lib/force/ThirdBodyGravity.js +56 -0
- package/lib/force/ThirdBodyGravity.js.map +1 -0
- package/lib/force/Thrust.d.ts +35 -0
- package/lib/force/Thrust.js +53 -0
- package/lib/force/Thrust.js.map +1 -0
- package/lib/interpolator/ChebyshevCoefficients.d.ts +54 -0
- package/lib/interpolator/ChebyshevCoefficients.js +90 -0
- package/lib/interpolator/ChebyshevCoefficients.js.map +1 -0
- package/lib/interpolator/ChebyshevInterpolator.d.ts +39 -0
- package/lib/interpolator/ChebyshevInterpolator.js +71 -0
- package/lib/interpolator/ChebyshevInterpolator.js.map +1 -0
- package/lib/interpolator/CubicSpline.d.ts +36 -0
- package/lib/interpolator/CubicSpline.js +64 -0
- package/lib/interpolator/CubicSpline.js.map +1 -0
- package/lib/interpolator/CubicSplineInterpolator.d.ts +37 -0
- package/lib/interpolator/CubicSplineInterpolator.js +78 -0
- package/lib/interpolator/CubicSplineInterpolator.js.map +1 -0
- package/lib/interpolator/FieldInterpolator.d.ts +26 -0
- package/lib/interpolator/FieldInterpolator.js +31 -0
- package/lib/interpolator/FieldInterpolator.js.map +1 -0
- package/lib/interpolator/Interpolator.d.ts +23 -0
- package/lib/interpolator/Interpolator.js +48 -0
- package/lib/interpolator/Interpolator.js.map +1 -0
- package/lib/interpolator/LagrangeInterpolator.d.ts +42 -0
- package/lib/interpolator/LagrangeInterpolator.js +156 -0
- package/lib/interpolator/LagrangeInterpolator.js.map +1 -0
- package/lib/interpolator/StateInterpolator.d.ts +29 -0
- package/lib/interpolator/StateInterpolator.js +37 -0
- package/lib/interpolator/StateInterpolator.js.map +1 -0
- package/lib/interpolator/VerletBlendInterpolator.d.ts +44 -0
- package/lib/interpolator/VerletBlendInterpolator.js +115 -0
- package/lib/interpolator/VerletBlendInterpolator.js.map +1 -0
- package/lib/maneuver/TwoBurnOrbitTransfer.d.ts +43 -0
- package/lib/maneuver/TwoBurnOrbitTransfer.js +62 -0
- package/lib/maneuver/TwoBurnOrbitTransfer.js.map +1 -0
- package/lib/maneuver/Waypoint.d.ts +66 -0
- package/lib/maneuver/Waypoint.js +152 -0
- package/lib/maneuver/Waypoint.js.map +1 -0
- package/lib/objects/DetailedSatellite.d.ts +94 -0
- package/lib/objects/DetailedSatellite.js +140 -0
- package/lib/objects/DetailedSatellite.js.map +1 -0
- package/lib/objects/DetailedSensor.d.ts +43 -0
- package/lib/objects/DetailedSensor.js +45 -0
- package/lib/objects/DetailedSensor.js.map +1 -0
- package/lib/objects/{space-object.d.ts → LandObject.d.ts} +19 -21
- package/lib/objects/LandObject.js +28 -0
- package/lib/objects/LandObject.js.map +1 -0
- package/lib/objects/Marker.d.ts +21 -0
- package/lib/objects/Marker.js +25 -0
- package/lib/objects/Marker.js.map +1 -0
- package/lib/objects/index.d.ts +5 -4
- package/lib/objects/index.js +5 -4
- package/lib/objects/index.js.map +1 -1
- package/lib/observation/Observation.d.ts +51 -0
- package/lib/observation/Observation.js +71 -0
- package/lib/observation/Observation.js.map +1 -0
- package/lib/observation/ObservationOptical.d.ts +47 -0
- package/lib/observation/ObservationOptical.js +101 -0
- package/lib/observation/ObservationOptical.js.map +1 -0
- package/lib/observation/ObservationRadar.d.ts +43 -0
- package/lib/observation/ObservationRadar.js +90 -0
- package/lib/observation/ObservationRadar.js.map +1 -0
- package/lib/observation/ObservationUtils.d.ts +21 -0
- package/lib/observation/ObservationUtils.js +33 -0
- package/lib/observation/ObservationUtils.js.map +1 -0
- package/lib/observation/PropagatorPairs.d.ts +31 -0
- package/lib/observation/PropagatorPairs.js +40 -0
- package/lib/observation/PropagatorPairs.js.map +1 -0
- package/lib/ootk.d.ts +10 -9
- package/lib/ootk.js +10 -9
- package/lib/ootk.js.map +1 -1
- package/lib/operations/BoxMuller.d.ts +41 -0
- package/lib/operations/BoxMuller.js +66 -0
- package/lib/operations/BoxMuller.js.map +1 -0
- package/lib/operations/EulerAngles.d.ts +50 -0
- package/lib/operations/EulerAngles.js +111 -0
- package/lib/operations/EulerAngles.js.map +1 -0
- package/lib/operations/Quaternion.d.ts +57 -0
- package/lib/operations/Quaternion.js +164 -0
- package/lib/operations/Quaternion.js.map +1 -0
- package/lib/operations/RandomGaussianSource.d.ts +25 -0
- package/lib/operations/RandomGaussianSource.js +43 -0
- package/lib/operations/RandomGaussianSource.js.map +1 -0
- package/lib/operations/index.d.ts +4 -0
- package/lib/operations/index.js +5 -0
- package/lib/operations/index.js.map +1 -0
- package/lib/optimize/ChebyshevCompressor.d.ts +31 -0
- package/lib/optimize/ChebyshevCompressor.js +80 -0
- package/lib/optimize/ChebyshevCompressor.js.map +1 -0
- package/lib/optimize/DownhillSimplex.d.ts +50 -0
- package/lib/optimize/DownhillSimplex.js +168 -0
- package/lib/optimize/DownhillSimplex.js.map +1 -0
- package/lib/optimize/GoldenSection.d.ts +33 -0
- package/lib/optimize/GoldenSection.js +49 -0
- package/lib/optimize/GoldenSection.js.map +1 -0
- package/lib/optimize/PolynomialRegression.d.ts +37 -0
- package/lib/optimize/PolynomialRegression.js +66 -0
- package/lib/optimize/PolynomialRegression.js.map +1 -0
- package/lib/optimize/PolynomicalRegressionResult.d.ts +28 -0
- package/lib/optimize/PolynomicalRegressionResult.js +32 -0
- package/lib/optimize/PolynomicalRegressionResult.js.map +1 -0
- package/lib/optimize/SimpleLinearRegression.d.ts +41 -0
- package/lib/optimize/SimpleLinearRegression.js +107 -0
- package/lib/optimize/SimpleLinearRegression.js.map +1 -0
- package/lib/optimize/SimplexEntry.d.ts +33 -0
- package/lib/optimize/SimplexEntry.js +39 -0
- package/lib/optimize/SimplexEntry.js.map +1 -0
- package/lib/orbit_determination/BatchLeastSquaresOD.d.ts +54 -0
- package/lib/orbit_determination/BatchLeastSquaresOD.js +118 -0
- package/lib/orbit_determination/BatchLeastSquaresOD.js.map +1 -0
- package/lib/orbit_determination/BatchLeastSquaresResult.d.ts +29 -0
- package/lib/orbit_determination/BatchLeastSquaresResult.js +31 -0
- package/lib/orbit_determination/BatchLeastSquaresResult.js.map +1 -0
- package/lib/orbit_determination/GibbsIOD.d.ts +33 -0
- package/lib/orbit_determination/GibbsIOD.js +70 -0
- package/lib/orbit_determination/GibbsIOD.js.map +1 -0
- package/lib/orbit_determination/GoodingIOD.d.ts +52 -0
- package/lib/orbit_determination/GoodingIOD.js +244 -0
- package/lib/orbit_determination/GoodingIOD.js.map +1 -0
- package/{dist/objects/space-object.d.ts → lib/orbit_determination/HerrickGibbsIOD.d.ts} +17 -22
- package/lib/orbit_determination/HerrickGibbsIOD.js +49 -0
- package/lib/orbit_determination/HerrickGibbsIOD.js.map +1 -0
- package/lib/orbit_determination/LambertIOD.d.ts +46 -0
- package/lib/orbit_determination/LambertIOD.js +199 -0
- package/lib/orbit_determination/LambertIOD.js.map +1 -0
- package/lib/orbit_determination/ModifiedGoodingIOD.d.ts +41 -0
- package/lib/orbit_determination/ModifiedGoodingIOD.js +82 -0
- package/lib/orbit_determination/ModifiedGoodingIOD.js.map +1 -0
- package/lib/propagator/DormandPrince54Propagator.d.ts +29 -0
- package/lib/propagator/DormandPrince54Propagator.js +68 -0
- package/lib/propagator/DormandPrince54Propagator.js.map +1 -0
- package/lib/propagator/KeplerPropagator.d.ts +36 -0
- package/lib/propagator/KeplerPropagator.js +81 -0
- package/lib/propagator/KeplerPropagator.js.map +1 -0
- package/lib/propagator/Propagator.d.ts +35 -0
- package/lib/propagator/Propagator.js +163 -0
- package/lib/propagator/Propagator.js.map +1 -0
- package/lib/propagator/RkCheckpoint.d.ts +23 -0
- package/lib/propagator/RkCheckpoint.js +26 -0
- package/lib/propagator/RkCheckpoint.js.map +1 -0
- package/lib/propagator/RkResult.d.ts +24 -0
- package/lib/propagator/RkResult.js +28 -0
- package/lib/propagator/RkResult.js.map +1 -0
- package/lib/propagator/RungeKutta4Propagator.d.ts +46 -0
- package/lib/propagator/RungeKutta4Propagator.js +132 -0
- package/lib/propagator/RungeKutta4Propagator.js.map +1 -0
- package/lib/propagator/RungeKutta89Propagator.d.ts +29 -0
- package/lib/propagator/RungeKutta89Propagator.js +130 -0
- package/lib/propagator/RungeKutta89Propagator.js.map +1 -0
- package/lib/propagator/RungeKuttaAdaptive.d.ts +52 -0
- package/lib/propagator/RungeKuttaAdaptive.js +152 -0
- package/lib/propagator/RungeKuttaAdaptive.js.map +1 -0
- package/lib/propagator/Sgp4Propagator.d.ts +35 -0
- package/lib/propagator/Sgp4Propagator.js +55 -0
- package/lib/propagator/Sgp4Propagator.js.map +1 -0
- package/lib/smoothing/ExponentialSmoothing.d.ts +24 -0
- package/lib/smoothing/ExponentialSmoothing.js +82 -0
- package/lib/smoothing/ExponentialSmoothing.js.map +1 -0
- package/lib/types/types.d.ts +68 -262
- package/lib/types/types.js +23 -33
- package/lib/types/types.js.map +1 -1
- package/package.json +28 -42
- package/codecov.yml +0 -21
- package/dist/objects/base-object.d.ts +0 -40
- package/dist/objects/detailed-sat.d.ts +0 -66
- package/dist/objects/index.d.ts +0 -4
- package/dist/objects/sat.d.ts +0 -92
- package/dist/objects/sensor.d.ts +0 -87
- package/dist/objects/star.d.ts +0 -46
- package/dist/ootk.js +0 -2
- package/dist/ootk.js.LICENSE.txt +0 -77
- package/dist/sgp4/Sgp4Assembly.d.ts +0 -5
- package/dist/sgp4/sgp4.d.ts +0 -82
- package/dist/tle/tle-format-data.d.ts +0 -6
- package/dist/tle/tle.d.ts +0 -374
- package/dist/transforms/transforms.d.ts +0 -55
- package/dist/types/types.d.ts +0 -280
- package/dist/utils/constants.d.ts +0 -34
- package/dist/utils/moon-math.d.ts +0 -113
- package/dist/utils/sun-math.d.ts +0 -230
- package/dist/utils/utils.d.ts +0 -39
- package/lib/objects/base-object.d.ts +0 -40
- package/lib/objects/base-object.js +0 -109
- package/lib/objects/base-object.js.map +0 -1
- package/lib/objects/detailed-sat.d.ts +0 -66
- package/lib/objects/detailed-sat.js +0 -149
- package/lib/objects/detailed-sat.js.map +0 -1
- package/lib/objects/sat.d.ts +0 -92
- package/lib/objects/sat.js +0 -188
- package/lib/objects/sat.js.map +0 -1
- package/lib/objects/sensor.d.ts +0 -87
- package/lib/objects/sensor.js +0 -255
- package/lib/objects/sensor.js.map +0 -1
- package/lib/objects/space-object.js +0 -60
- package/lib/objects/space-object.js.map +0 -1
- package/lib/objects/star.d.ts +0 -46
- package/lib/objects/star.js +0 -91
- package/lib/objects/star.js.map +0 -1
- package/lib/sgp4/Sgp4Assembly.d.ts +0 -5
- package/lib/sgp4/Sgp4Assembly.js +0 -75
- package/lib/sgp4/Sgp4Assembly.js.map +0 -1
- package/lib/sgp4/sgp4.d.ts +0 -82
- package/lib/sgp4/sgp4.js +0 -3274
- package/lib/sgp4/sgp4.js.map +0 -1
- package/lib/tle/tle-format-data.d.ts +0 -6
- package/lib/tle/tle-format-data.js +0 -10
- package/lib/tle/tle-format-data.js.map +0 -1
- package/lib/tle/tle.d.ts +0 -374
- package/lib/tle/tle.js +0 -611
- package/lib/tle/tle.js.map +0 -1
- package/lib/transforms/transforms.d.ts +0 -55
- package/lib/transforms/transforms.js +0 -209
- package/lib/transforms/transforms.js.map +0 -1
- package/lib/utils/constants.d.ts +0 -34
- package/lib/utils/constants.js +0 -35
- package/lib/utils/constants.js.map +0 -1
- package/lib/utils/moon-math.d.ts +0 -113
- package/lib/utils/moon-math.js +0 -387
- package/lib/utils/moon-math.js.map +0 -1
- package/lib/utils/sun-math.d.ts +0 -230
- package/lib/utils/sun-math.js +0 -422
- package/lib/utils/sun-math.js.map +0 -1
- package/lib/utils/utils.d.ts +0 -39
- package/lib/utils/utils.js +0 -100
- package/lib/utils/utils.js.map +0 -1
- package/sandbox.html +0 -8
- /package/{LICENSE.MD → LICENSE.md} +0 -0
package/lib/sgp4/sgp4.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sgp4.js","sourceRoot":"","sources":["../../src/sgp4/sgp4.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
var TleFormatData = /** @class */ (function () {
|
|
2
|
-
function TleFormatData(start, end) {
|
|
3
|
-
this.start = start - 1;
|
|
4
|
-
this.stop = end;
|
|
5
|
-
this.length = this.stop - this.start;
|
|
6
|
-
}
|
|
7
|
-
return TleFormatData;
|
|
8
|
-
}());
|
|
9
|
-
export { TleFormatData };
|
|
10
|
-
//# sourceMappingURL=tle-format-data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tle-format-data.js","sourceRoot":"","sources":["../../src/tle/tle-format-data.ts"],"names":[],"mappings":"AAAA;IAOE,uBAAY,KAAa,EAAE,GAAW;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IACvC,CAAC;IACH,oBAAC;AAAD,CAAC,AAZD,IAYC"}
|
package/lib/tle/tle.d.ts
DELETED
|
@@ -1,374 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Theodore Kruczek.
|
|
3
|
-
* @description Orbital Object ToolKit (OOTK) is a collection of tools for working
|
|
4
|
-
* with satellites and other orbital objects.
|
|
5
|
-
*
|
|
6
|
-
* @file The TLE module contains a collection of functions for working with TLEs.
|
|
7
|
-
*
|
|
8
|
-
* @license AGPL-3.0-or-later
|
|
9
|
-
* @Copyright (c) 2020-2023 Theodore Kruczek
|
|
10
|
-
*
|
|
11
|
-
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
12
|
-
* terms of the GNU Affero General Public License as published by the Free Software
|
|
13
|
-
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
14
|
-
*
|
|
15
|
-
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
16
|
-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
17
|
-
* See the GNU Affero General Public License for more details.
|
|
18
|
-
*
|
|
19
|
-
* You should have received a copy of the GNU Affero General Public License along with
|
|
20
|
-
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
21
|
-
*/
|
|
22
|
-
import { Line1Data, Line2Data, TleLine1, TleLine2 } from '../types/types';
|
|
23
|
-
type TleData = {
|
|
24
|
-
satNum: number;
|
|
25
|
-
intlDes: string;
|
|
26
|
-
epochYear: number;
|
|
27
|
-
epochDay: number;
|
|
28
|
-
meanMoDev1: number;
|
|
29
|
-
meanMoDev2: number;
|
|
30
|
-
bstar: number;
|
|
31
|
-
inclination: number;
|
|
32
|
-
raan: number;
|
|
33
|
-
eccentricity: number;
|
|
34
|
-
argOfPerigee: number;
|
|
35
|
-
meanAnomaly: number;
|
|
36
|
-
meanMotion: number;
|
|
37
|
-
};
|
|
38
|
-
type TleDataFull = Line1Data & Line2Data;
|
|
39
|
-
export declare class Tle {
|
|
40
|
-
private static lineNumber;
|
|
41
|
-
private static satNum;
|
|
42
|
-
private static classification;
|
|
43
|
-
private static intlDes;
|
|
44
|
-
private static intlDesYear;
|
|
45
|
-
private static intlDesLaunchNum;
|
|
46
|
-
private static intlDesLaunchPiece;
|
|
47
|
-
private static epochYear;
|
|
48
|
-
private static epochDay;
|
|
49
|
-
private static meanMoDev1;
|
|
50
|
-
private static meanMoDev2;
|
|
51
|
-
private static bstar;
|
|
52
|
-
private static ephemerisType;
|
|
53
|
-
private static elsetNum;
|
|
54
|
-
private static checksum;
|
|
55
|
-
private static inclination;
|
|
56
|
-
private static raan;
|
|
57
|
-
private static eccentricity;
|
|
58
|
-
private static argPerigee;
|
|
59
|
-
private static meanAnom;
|
|
60
|
-
private static meanMo;
|
|
61
|
-
private static revNum;
|
|
62
|
-
/**
|
|
63
|
-
* Parses the TLE into orbital data.
|
|
64
|
-
*
|
|
65
|
-
* If you want all of the data then use parseTleFull instead.
|
|
66
|
-
* @param {TleLine1} tleLine1 TLE line 1
|
|
67
|
-
* @param {TleLine2} tleLine2 TLE line 2
|
|
68
|
-
* @returns {TleData} Returns most commonly used orbital data from TLE
|
|
69
|
-
*/
|
|
70
|
-
static parseTle(tleLine1: TleLine1, tleLine2: TleLine2): TleData;
|
|
71
|
-
/**
|
|
72
|
-
* Parses all of the data contained in the TLE.
|
|
73
|
-
*
|
|
74
|
-
* If you only want the most commonly used data then use parseTle instead.
|
|
75
|
-
* @param {TleLine1} tleLine1 The first line of the TLE to parse.
|
|
76
|
-
* @param {TleLine2} tleLine2 The second line of the TLE to parse.
|
|
77
|
-
* @returns {TleDataFull} Returns all of the data from the TLE.
|
|
78
|
-
*/
|
|
79
|
-
static parseTleFull(tleLine1: TleLine1, tleLine2: TleLine2): TleDataFull;
|
|
80
|
-
/**
|
|
81
|
-
* Parse the first line of the TLE.
|
|
82
|
-
* @param {TleLine1} tleLine1 The first line of the TLE to parse.
|
|
83
|
-
* @returns {Line1Data} Returns the data from the first line of the TLE.
|
|
84
|
-
*/
|
|
85
|
-
static parseLine1(tleLine1: TleLine1): Line1Data;
|
|
86
|
-
/**
|
|
87
|
-
* Parse the second line of the TLE.
|
|
88
|
-
* @param {TleLine2} tleLine2 The second line of the TLE to parse.
|
|
89
|
-
* @returns {Line2Data} Returns the data from the second line of the TLE.
|
|
90
|
-
*/
|
|
91
|
-
static parseLine2(tleLine2: TleLine2): Line2Data;
|
|
92
|
-
/**
|
|
93
|
-
* This should always return a 1 or a 2.
|
|
94
|
-
* @param {string} tleLine The first line of the TLE to parse.
|
|
95
|
-
* @returns {number} The line number of the TLE.
|
|
96
|
-
*/
|
|
97
|
-
static getLineNumber(tleLine: TleLine1 | TleLine2): 1 | 2;
|
|
98
|
-
/**
|
|
99
|
-
* See https://en.wikipedia.org/wiki/Satellite_Catalog_Number
|
|
100
|
-
*
|
|
101
|
-
* Range: 0 to 99999 or 26999.
|
|
102
|
-
*
|
|
103
|
-
* NOTE: To support Alpha-5, the first digit can be a letter.
|
|
104
|
-
* This will be converted to a number in order to expand the range to 26999.
|
|
105
|
-
*
|
|
106
|
-
* Example: 25544 or B1234 (e.g. Sputnik's rocket body was number 00001)
|
|
107
|
-
*
|
|
108
|
-
* @param {string} tleLine The first line of the TLE to parse.
|
|
109
|
-
* @returns {number} NORAD catalog number.
|
|
110
|
-
*/
|
|
111
|
-
static getSatNum(tleLine: TleLine1 | TleLine2): number;
|
|
112
|
-
/**
|
|
113
|
-
* See https://en.wikipedia.org/wiki/Satellite_Catalog_Number
|
|
114
|
-
*
|
|
115
|
-
* Range: 0 to 99999 or 26999.
|
|
116
|
-
*
|
|
117
|
-
* NOTE: To support Alpha-5, the first digit can be a letter.
|
|
118
|
-
* This will NOT be converted to a number. Use getSatNum() for that.
|
|
119
|
-
*
|
|
120
|
-
* Example: 25544 or B1234 (e.g. Sputnik's rocket body was number 00001)
|
|
121
|
-
*
|
|
122
|
-
* @param {string} tleLine The first line of the TLE to parse.
|
|
123
|
-
* @returns {string} NORAD catalog number.
|
|
124
|
-
*/
|
|
125
|
-
static getRawSatNum(tleLine: TleLine1 | TleLine2): string;
|
|
126
|
-
/**
|
|
127
|
-
* Satellite classification.
|
|
128
|
-
* * 'U' = unclassified
|
|
129
|
-
* * 'C' = confidential
|
|
130
|
-
* * 'S' = secret
|
|
131
|
-
*
|
|
132
|
-
* Example: 'U'
|
|
133
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
134
|
-
* @returns {string} The classification.
|
|
135
|
-
*/
|
|
136
|
-
static getClassification(tleLine1: TleLine1): string;
|
|
137
|
-
/**
|
|
138
|
-
* International Designator (COSPAR ID)
|
|
139
|
-
* See https://en.wikipedia.org/wiki/International_Designator
|
|
140
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
141
|
-
* @returns {string} The International Designator.
|
|
142
|
-
*/
|
|
143
|
-
static getIntlDes(tleLine1: TleLine1): string;
|
|
144
|
-
/**
|
|
145
|
-
* International Designator (COSPAR ID): Last 2 digits of launch year.
|
|
146
|
-
*
|
|
147
|
-
* Range: 00 to 99
|
|
148
|
-
*
|
|
149
|
-
* Example: 98
|
|
150
|
-
*
|
|
151
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
152
|
-
* @returns {number} The year of the International Designator.
|
|
153
|
-
*/
|
|
154
|
-
static getIntlDesYear(tleLine1: TleLine1): number;
|
|
155
|
-
/**
|
|
156
|
-
* International Designator (COSPAR ID): Launch number of the year.
|
|
157
|
-
*
|
|
158
|
-
* Range: 1 to 999
|
|
159
|
-
*
|
|
160
|
-
* Example: 67
|
|
161
|
-
*
|
|
162
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
163
|
-
* @returns {number} The launch number of the International Designator.
|
|
164
|
-
*/
|
|
165
|
-
static getIntlDesLaunchNum(tleLine1: string): number;
|
|
166
|
-
/**
|
|
167
|
-
* International Designator (COSPAR ID): Piece of the launch.
|
|
168
|
-
*
|
|
169
|
-
* Range: A to ZZZ
|
|
170
|
-
*
|
|
171
|
-
* Example: 'A'
|
|
172
|
-
*
|
|
173
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
174
|
-
* @returns {string} The launch piece of the International Designator.
|
|
175
|
-
*/
|
|
176
|
-
static getIntlDesLaunchPiece(tleLine1: TleLine1): string;
|
|
177
|
-
/**
|
|
178
|
-
* Year when the TLE was generated (TLE epoch), last two digits.
|
|
179
|
-
*
|
|
180
|
-
* Range: 00 to 99
|
|
181
|
-
*
|
|
182
|
-
* Example: 17
|
|
183
|
-
*
|
|
184
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
185
|
-
* @returns {number} The year the TLE was generated.
|
|
186
|
-
*/
|
|
187
|
-
static getEpochYear(tleLine1: TleLine1): number;
|
|
188
|
-
/**
|
|
189
|
-
* Year when the TLE was generated (TLE epoch), four digits.
|
|
190
|
-
*
|
|
191
|
-
* Range: 1957 to 2056
|
|
192
|
-
*
|
|
193
|
-
* Example: 2008
|
|
194
|
-
*
|
|
195
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
196
|
-
* @returns {number} The year the TLE was generated.
|
|
197
|
-
*/
|
|
198
|
-
static getEpochYearFull(tleLine1: TleLine1): number;
|
|
199
|
-
/**
|
|
200
|
-
* Fractional day of the year when the TLE was generated (TLE epoch).
|
|
201
|
-
*
|
|
202
|
-
* Range: 1 to 365.99999999
|
|
203
|
-
*
|
|
204
|
-
* Example: 206.18396726
|
|
205
|
-
*
|
|
206
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
207
|
-
* @returns {number} The day of the year the TLE was generated.
|
|
208
|
-
*/
|
|
209
|
-
static getEpochDay(tleLine1: string): number;
|
|
210
|
-
/**
|
|
211
|
-
* First Time Derivative of the Mean Motion divided by two. Defines how mean motion changes
|
|
212
|
-
* over time, so TLE propagators can still be used to make reasonable guesses when
|
|
213
|
-
* times are distant from the original TLE epoch.
|
|
214
|
-
*
|
|
215
|
-
* Units: Orbits / day ^ 2
|
|
216
|
-
*
|
|
217
|
-
* Example: 0.00001961
|
|
218
|
-
*
|
|
219
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
220
|
-
* @returns {number} The first derivative of the mean motion.
|
|
221
|
-
*/
|
|
222
|
-
static getMeanMoDev1(tleLine1: TleLine1): number;
|
|
223
|
-
/**
|
|
224
|
-
* Second Time Derivative of Mean Motion divided by six (decimal point assumed). Measures rate
|
|
225
|
-
* of change in the Mean Motion Dot so software can make reasonable guesses when times are
|
|
226
|
-
* distant from the original TLE epoch.
|
|
227
|
-
*
|
|
228
|
-
* Usually zero, unless the satellite is manuevering or in a decaying orbit.
|
|
229
|
-
*
|
|
230
|
-
* Units: Orbits / day ^ 3.
|
|
231
|
-
*
|
|
232
|
-
* Example: 0 ('00000-0' in the original TLE [= 0.00000 * 10 ^ 0])
|
|
233
|
-
*
|
|
234
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
235
|
-
* @returns {number} The second derivative of the mean motion.
|
|
236
|
-
*/
|
|
237
|
-
static getMeanMoDev2(tleLine1: string): number;
|
|
238
|
-
/**
|
|
239
|
-
* BSTAR drag term (decimal point assumed). Estimates the effects of
|
|
240
|
-
* atmospheric drag on the satellite's motion.
|
|
241
|
-
*
|
|
242
|
-
* Units: EarthRadii ^ -1
|
|
243
|
-
*
|
|
244
|
-
* Example: 0.000036771 ('36771-4' in the original TLE [= 0.36771 * 10 ^ -4])
|
|
245
|
-
*
|
|
246
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
247
|
-
* @returns {number} The drag coefficient.
|
|
248
|
-
*/
|
|
249
|
-
static getBstar(tleLine1: TleLine1): number;
|
|
250
|
-
/**
|
|
251
|
-
* Private value - used by United States Space Force to reference the orbit model used to
|
|
252
|
-
* generate the TLE. Will always be seen as zero externally (e.g. by "us", unless you are
|
|
253
|
-
* "them" - in which case, hello!).
|
|
254
|
-
*
|
|
255
|
-
* Example: 0
|
|
256
|
-
*
|
|
257
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
258
|
-
* @returns {number} The ephemeris type.
|
|
259
|
-
*/
|
|
260
|
-
static getEphemerisType(tleLine1: TleLine1): number;
|
|
261
|
-
/**
|
|
262
|
-
* TLE element set number, incremented for each new TLE generated. 999 seems to mean the TLE
|
|
263
|
-
* has maxed out.
|
|
264
|
-
*
|
|
265
|
-
* Range: Technically 1 to 9999, though in practice the maximum number seems to be 999.
|
|
266
|
-
*
|
|
267
|
-
* Example: 999
|
|
268
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
269
|
-
* @returns {number} The element number.
|
|
270
|
-
*/
|
|
271
|
-
static getElsetNum(tleLine1: TleLine1): number;
|
|
272
|
-
/**
|
|
273
|
-
* TLE line 1 checksum (modulo 10), for verifying the integrity of this line of the TLE.
|
|
274
|
-
*
|
|
275
|
-
* Range: 0 to 9
|
|
276
|
-
* Example: 3
|
|
277
|
-
*
|
|
278
|
-
* @param {string} tleLine1 The first line of the TLE to parse.
|
|
279
|
-
* @returns {number} The checksum value.
|
|
280
|
-
*/
|
|
281
|
-
static getChecksum(tleLine1: TleLine1): number;
|
|
282
|
-
/**
|
|
283
|
-
* Inclination relative to the Earth's equatorial plane in degrees. 0 to 90 degrees is a
|
|
284
|
-
* prograde orbit and 90 to 180 degrees is a retrograde orbit.
|
|
285
|
-
*
|
|
286
|
-
* Units: degrees
|
|
287
|
-
*
|
|
288
|
-
* Range: 0 to 180
|
|
289
|
-
*
|
|
290
|
-
* Example: 51.6400
|
|
291
|
-
*
|
|
292
|
-
* @param {string} tleLine2 The second line of the TLE to parse.
|
|
293
|
-
* @returns {number} The inclination of the satellite.
|
|
294
|
-
*/
|
|
295
|
-
static getInclination(tleLine2: TleLine2): number;
|
|
296
|
-
/**
|
|
297
|
-
* Right ascension of the ascending node in degrees. Essentially, this is the angle of the
|
|
298
|
-
* satellite as it crosses northward (ascending) across the Earth's equator (equatorial
|
|
299
|
-
* plane).
|
|
300
|
-
*
|
|
301
|
-
* Units: degrees
|
|
302
|
-
*
|
|
303
|
-
* Range: 0 to 359.9999
|
|
304
|
-
*
|
|
305
|
-
* Example: 208.9163
|
|
306
|
-
*
|
|
307
|
-
* @param {string} tleLine2 The second line of the TLE to parse.
|
|
308
|
-
* @returns {number} The right ascension of the satellite.
|
|
309
|
-
*/
|
|
310
|
-
static getRaan(tleLine2: TleLine2): number;
|
|
311
|
-
/**
|
|
312
|
-
* Orbital eccentricity, decimal point assumed. All artificial Earth satellites have an
|
|
313
|
-
* eccentricity between 0 (perfect circle) and 1 (parabolic orbit).
|
|
314
|
-
*
|
|
315
|
-
* Range: 0 to 1
|
|
316
|
-
*
|
|
317
|
-
* Example: 0.0006317 (`0006317` in the original TLE)
|
|
318
|
-
*
|
|
319
|
-
* @param {string} tleLine2 The second line of the TLE to parse.
|
|
320
|
-
* @returns {number} The eccentricity of the satellite.
|
|
321
|
-
*/
|
|
322
|
-
static getEccentricity(tleLine2: TleLine2): number;
|
|
323
|
-
/**
|
|
324
|
-
* Argument of perigee. See https://en.wikipedia.org/wiki/Argument_of_perigee
|
|
325
|
-
*
|
|
326
|
-
* Units: degrees
|
|
327
|
-
*
|
|
328
|
-
* Range: 0 to 359.9999
|
|
329
|
-
*
|
|
330
|
-
* Example: 69.9862
|
|
331
|
-
*
|
|
332
|
-
* @param {string} tleLine2 The second line of the TLE to parse.
|
|
333
|
-
* @returns {number} The argument of perigee in degrees.
|
|
334
|
-
*/
|
|
335
|
-
static getArgOfPerigee(tleLine2: TleLine2): number;
|
|
336
|
-
/**
|
|
337
|
-
* Mean anomaly. Indicates where the satellite was located within its orbit at the time of the
|
|
338
|
-
* TLE epoch.
|
|
339
|
-
* See https://en.wikipedia.org/wiki/Mean_Anomaly
|
|
340
|
-
*
|
|
341
|
-
* Units: degrees
|
|
342
|
-
*
|
|
343
|
-
* Range: 0 to 359.9999
|
|
344
|
-
*
|
|
345
|
-
* Example: 25.2906
|
|
346
|
-
*
|
|
347
|
-
* @param {string} tleLine2 The second line of the TLE to parse.
|
|
348
|
-
* @returns {number} The mean anomaly of the satellite.
|
|
349
|
-
*/
|
|
350
|
-
static getMeanAnomaly(tleLine2: TleLine2): number;
|
|
351
|
-
/**
|
|
352
|
-
* Revolutions around the Earth per day (mean motion).
|
|
353
|
-
* See https://en.wikipedia.org/wiki/Mean_Motion
|
|
354
|
-
*
|
|
355
|
-
* Range: 0 to 17 (theoretically)
|
|
356
|
-
* Example: 15.54225995
|
|
357
|
-
* @param {string} tleLine2 The second line of the TLE to parse.
|
|
358
|
-
* @returns {number} The mean motion of the satellite.
|
|
359
|
-
*/
|
|
360
|
-
static getMeanMotion(tleLine2: TleLine2): number;
|
|
361
|
-
/**
|
|
362
|
-
* Total satellite revolutions when this TLE was generated. This number rolls over
|
|
363
|
-
* (e.g. 99999 -> 0).
|
|
364
|
-
*
|
|
365
|
-
* Range: 0 to 99999
|
|
366
|
-
*
|
|
367
|
-
* Example: 6766
|
|
368
|
-
*
|
|
369
|
-
* @param {string} tleLine2 The second line of the TLE to parse.
|
|
370
|
-
* @returns {number} The revolutions around the Earth per day (mean motion).
|
|
371
|
-
*/
|
|
372
|
-
static getRevNum(tleLine2: TleLine2): number;
|
|
373
|
-
}
|
|
374
|
-
export {};
|