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