ootk 4.0.9 → 5.1.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 (583) hide show
  1. package/README.md +0 -15
  2. package/dist/body/Celestial.d.ts +96 -0
  3. package/dist/body/Celestial.js +124 -0
  4. package/dist/body/Celestial.js.map +1 -0
  5. package/dist/body/Earth.d.ts +68 -0
  6. package/dist/body/Earth.js +198 -0
  7. package/dist/body/Earth.js.map +1 -0
  8. package/dist/body/Moon.d.ts +137 -0
  9. package/dist/body/Moon.js +464 -0
  10. package/dist/body/Moon.js.map +1 -0
  11. package/dist/body/NutationAngles.d.ts +38 -0
  12. package/dist/body/NutationAngles.js +24 -0
  13. package/dist/body/NutationAngles.js.map +1 -0
  14. package/dist/body/PrecessionAngles.d.ts +29 -0
  15. package/dist/body/PrecessionAngles.js +24 -0
  16. package/dist/body/PrecessionAngles.js.map +1 -0
  17. package/dist/body/Sun.d.ts +301 -0
  18. package/dist/body/Sun.js +544 -0
  19. package/dist/body/Sun.js.map +1 -0
  20. package/dist/body/index.d.ts +26 -0
  21. package/dist/body/index.js +27 -0
  22. package/dist/body/index.js.map +1 -0
  23. package/dist/coordinate/ClassicalElements.d.ts +132 -0
  24. package/dist/coordinate/ClassicalElements.js +279 -0
  25. package/dist/coordinate/ClassicalElements.js.map +1 -0
  26. package/dist/coordinate/EquinoctialElements.d.ts +114 -0
  27. package/dist/coordinate/EquinoctialElements.js +172 -0
  28. package/dist/coordinate/EquinoctialElements.js.map +1 -0
  29. package/dist/coordinate/FormatTle.d.ts +95 -0
  30. package/dist/coordinate/FormatTle.js +184 -0
  31. package/dist/coordinate/FormatTle.js.map +1 -0
  32. package/dist/coordinate/Geodetic.d.ts +110 -0
  33. package/dist/coordinate/Geodetic.js +163 -0
  34. package/dist/coordinate/Geodetic.js.map +1 -0
  35. package/dist/coordinate/Hill.d.ts +2 -2
  36. package/dist/coordinate/Hill.js +2 -2
  37. package/dist/coordinate/Hill.js.map +1 -1
  38. package/dist/coordinate/ITRF.d.ts +75 -0
  39. package/dist/coordinate/ITRF.js +134 -0
  40. package/dist/coordinate/ITRF.js.map +1 -0
  41. package/dist/coordinate/J2000.d.ts +65 -0
  42. package/dist/coordinate/J2000.js +120 -0
  43. package/dist/coordinate/J2000.js.map +1 -0
  44. package/dist/coordinate/RIC.d.ts +64 -0
  45. package/dist/coordinate/RIC.js +79 -0
  46. package/dist/coordinate/RIC.js.map +1 -0
  47. package/dist/coordinate/RelativeState.d.ts +70 -0
  48. package/dist/coordinate/RelativeState.js +79 -0
  49. package/dist/coordinate/RelativeState.js.map +1 -0
  50. package/dist/coordinate/StateVector.d.ts +76 -0
  51. package/dist/coordinate/StateVector.js +97 -0
  52. package/dist/coordinate/StateVector.js.map +1 -0
  53. package/dist/coordinate/TEME.d.ts +57 -0
  54. package/dist/coordinate/TEME.js +89 -0
  55. package/dist/coordinate/TEME.js.map +1 -0
  56. package/dist/coordinate/Tle.d.ts +429 -0
  57. package/dist/coordinate/Tle.js +865 -0
  58. package/dist/coordinate/Tle.js.map +1 -0
  59. package/dist/coordinate/index.d.ts +11 -0
  60. package/dist/coordinate/index.js +11 -0
  61. package/dist/coordinate/index.js.map +1 -1
  62. package/dist/coordinate/tle-format-data.d.ts +41 -0
  63. package/dist/coordinate/tle-format-data.js +46 -0
  64. package/dist/coordinate/tle-format-data.js.map +1 -0
  65. package/dist/covariance/CovarianceSample.d.ts +9 -6
  66. package/dist/covariance/CovarianceSample.js +92 -18
  67. package/dist/covariance/CovarianceSample.js.map +1 -1
  68. package/dist/covariance/StateCovariance.d.ts +2 -2
  69. package/dist/covariance/StateCovariance.js +2 -2
  70. package/dist/covariance/StateCovariance.js.map +1 -1
  71. package/dist/covariance/index.d.ts +2 -0
  72. package/dist/covariance/index.js +3 -0
  73. package/dist/covariance/index.js.map +1 -0
  74. package/dist/data/DataHandler.d.ts +66 -0
  75. package/dist/data/DataHandler.js +80 -0
  76. package/dist/data/DataHandler.js.map +1 -0
  77. package/dist/data/values/Egm96Data.d.ts +37 -0
  78. package/dist/data/values/Egm96Data.js +63 -0
  79. package/dist/data/values/Egm96Data.js.map +1 -0
  80. package/dist/data/values/HpAtmosphereData.d.ts +33 -0
  81. package/dist/data/values/HpAtmosphereData.js +58 -0
  82. package/dist/data/values/HpAtmosphereData.js.map +1 -0
  83. package/dist/data/values/HpAtmosphereResult.d.ts +29 -0
  84. package/dist/data/values/HpAtmosphereResult.js +38 -0
  85. package/dist/data/values/HpAtmosphereResult.js.map +1 -0
  86. package/dist/data/values/Iau1980Data.d.ts +36 -0
  87. package/dist/data/values/Iau1980Data.js +52 -0
  88. package/dist/data/values/Iau1980Data.js.map +1 -0
  89. package/dist/data/values/LeapSecond.d.ts +27 -0
  90. package/dist/data/values/LeapSecond.js +35 -0
  91. package/dist/data/values/LeapSecond.js.map +1 -0
  92. package/dist/data/values/LeapSecondData.d.ts +41 -0
  93. package/dist/data/values/LeapSecondData.js +103 -0
  94. package/dist/data/values/LeapSecondData.js.map +1 -0
  95. package/dist/data/values/egm96.d.ts +24 -0
  96. package/dist/data/values/egm96.js +726 -0
  97. package/dist/data/values/egm96.js.map +1 -0
  98. package/dist/data/values/hpAtmosphere.d.ts +24 -0
  99. package/dist/data/values/hpAtmosphere.js +76 -0
  100. package/dist/data/values/hpAtmosphere.js.map +1 -0
  101. package/dist/data/values/iau1980.d.ts +24 -0
  102. package/dist/data/values/iau1980.js +30 -0
  103. package/dist/data/values/iau1980.js.map +1 -0
  104. package/dist/enums/AngularDiameterMethod.d.ts +27 -0
  105. package/dist/enums/AngularDiameterMethod.js +29 -0
  106. package/dist/enums/AngularDiameterMethod.js.map +1 -0
  107. package/dist/enums/AngularDistanceMethod.d.ts +27 -0
  108. package/dist/enums/AngularDistanceMethod.js +29 -0
  109. package/dist/enums/AngularDistanceMethod.js.map +1 -0
  110. package/dist/enums/OrbitRegime.d.ts +30 -0
  111. package/dist/enums/OrbitRegime.js +32 -0
  112. package/dist/enums/OrbitRegime.js.map +1 -0
  113. package/dist/enums/PassType.d.ts +28 -0
  114. package/dist/enums/PassType.js +30 -0
  115. package/dist/enums/PassType.js.map +1 -0
  116. package/dist/enums/Sgp4OpsMode.d.ts +26 -0
  117. package/dist/enums/Sgp4OpsMode.js +28 -0
  118. package/dist/enums/Sgp4OpsMode.js.map +1 -0
  119. package/dist/enums/index.d.ts +5 -0
  120. package/dist/enums/index.js +5 -0
  121. package/dist/enums/index.js.map +1 -1
  122. package/dist/force/AtmosphericDrag.d.ts +2 -2
  123. package/dist/force/AtmosphericDrag.js +3 -6
  124. package/dist/force/AtmosphericDrag.js.map +1 -1
  125. package/dist/force/EarthGravity.d.ts +2 -2
  126. package/dist/force/EarthGravity.js +2 -2
  127. package/dist/force/EarthGravity.js.map +1 -1
  128. package/dist/force/Force.d.ts +2 -2
  129. package/dist/force/Force.js +1 -1
  130. package/dist/force/ForceModel.d.ts +2 -2
  131. package/dist/force/ForceModel.js +2 -2
  132. package/dist/force/ForceModel.js.map +1 -1
  133. package/dist/force/Gravity.d.ts +2 -2
  134. package/dist/force/Gravity.js +2 -2
  135. package/dist/force/Gravity.js.map +1 -1
  136. package/dist/force/SolarRadiationPressure.d.ts +2 -2
  137. package/dist/force/SolarRadiationPressure.js +2 -2
  138. package/dist/force/SolarRadiationPressure.js.map +1 -1
  139. package/dist/force/ThirdBodyGravity.d.ts +2 -2
  140. package/dist/force/ThirdBodyGravity.js +2 -2
  141. package/dist/force/ThirdBodyGravity.js.map +1 -1
  142. package/dist/force/Thrust.d.ts +2 -2
  143. package/dist/force/Thrust.js +2 -2
  144. package/dist/force/Thrust.js.map +1 -1
  145. package/dist/interfaces/BaseObjectParams.d.ts +31 -0
  146. package/dist/interfaces/BaseObjectParams.js +24 -0
  147. package/dist/interfaces/BaseObjectParams.js.map +1 -0
  148. package/dist/interfaces/ClassicalElementsParams.d.ts +33 -0
  149. package/dist/interfaces/ClassicalElementsParams.js +24 -0
  150. package/dist/interfaces/ClassicalElementsParams.js.map +1 -0
  151. package/dist/interfaces/EquinoctialElementsParams.d.ts +35 -0
  152. package/dist/interfaces/EquinoctialElementsParams.js +24 -0
  153. package/dist/interfaces/EquinoctialElementsParams.js.map +1 -0
  154. package/dist/interfaces/GroundPositionParams.d.ts +28 -0
  155. package/dist/interfaces/GroundPositionParams.js +24 -0
  156. package/dist/interfaces/GroundPositionParams.js.map +1 -0
  157. package/dist/interfaces/OmmFormat.d.ts +62 -0
  158. package/dist/interfaces/OmmFormat.js +2 -0
  159. package/dist/interfaces/OmmFormat.js.map +1 -0
  160. package/dist/interfaces/OptionsParams.d.ts +3 -0
  161. package/dist/interfaces/OptionsParams.js +2 -0
  162. package/dist/interfaces/OptionsParams.js.map +1 -0
  163. package/dist/interfaces/RfSensorParams.d.ts +1 -1
  164. package/dist/interfaces/SatelliteParams.d.ts +18 -0
  165. package/dist/interfaces/SatelliteParams.js +2 -0
  166. package/dist/interfaces/SatelliteParams.js.map +1 -0
  167. package/dist/interfaces/SensorParams.d.ts +38 -0
  168. package/dist/interfaces/SensorParams.js +2 -0
  169. package/dist/interfaces/SensorParams.js.map +1 -0
  170. package/dist/interfaces/StarObjectParams.d.ts +10 -0
  171. package/dist/interfaces/StarObjectParams.js +2 -0
  172. package/dist/interfaces/StarObjectParams.js.map +1 -0
  173. package/dist/interfaces/TimeVariables.d.ts +6 -0
  174. package/dist/interfaces/TimeVariables.js +2 -0
  175. package/dist/interfaces/TimeVariables.js.map +1 -0
  176. package/dist/interfaces/index.d.ts +8 -0
  177. package/dist/interpolator/ChebyshevCoefficients.d.ts +5 -5
  178. package/dist/interpolator/ChebyshevCoefficients.js +2 -2
  179. package/dist/interpolator/ChebyshevCoefficients.js.map +1 -1
  180. package/dist/interpolator/ChebyshevInterpolator.d.ts +3 -3
  181. package/dist/interpolator/ChebyshevInterpolator.js +9 -9
  182. package/dist/interpolator/ChebyshevInterpolator.js.map +1 -1
  183. package/dist/interpolator/CubicSpline.d.ts +2 -2
  184. package/dist/interpolator/CubicSpline.js +1 -1
  185. package/dist/interpolator/CubicSplineInterpolator.d.ts +4 -4
  186. package/dist/interpolator/CubicSplineInterpolator.js +10 -10
  187. package/dist/interpolator/CubicSplineInterpolator.js.map +1 -1
  188. package/dist/interpolator/FieldInterpolator.d.ts +1 -1
  189. package/dist/interpolator/FieldInterpolator.js +1 -1
  190. package/dist/interpolator/Interpolator.d.ts +2 -2
  191. package/dist/interpolator/Interpolator.js +2 -2
  192. package/dist/interpolator/Interpolator.js.map +1 -1
  193. package/dist/interpolator/LagrangeInterpolator.d.ts +7 -7
  194. package/dist/interpolator/LagrangeInterpolator.js +2 -2
  195. package/dist/interpolator/LagrangeInterpolator.js.map +1 -1
  196. package/dist/interpolator/StateInterpolator.d.ts +2 -2
  197. package/dist/interpolator/StateInterpolator.js +1 -1
  198. package/dist/interpolator/VerletBlendInterpolator.d.ts +2 -2
  199. package/dist/interpolator/VerletBlendInterpolator.js +2 -2
  200. package/dist/interpolator/VerletBlendInterpolator.js.map +1 -1
  201. package/dist/main.d.ts +15 -5
  202. package/dist/main.js +15 -5
  203. package/dist/main.js.map +1 -1
  204. package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +2 -2
  205. package/dist/maneuver/TwoBurnOrbitTransfer.js +2 -2
  206. package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -1
  207. package/dist/maneuver/Waypoint.d.ts +2 -2
  208. package/dist/maneuver/Waypoint.js +2 -2
  209. package/dist/maneuver/Waypoint.js.map +1 -1
  210. package/dist/objects/BaseObject.d.ts +74 -0
  211. package/dist/objects/BaseObject.js +151 -0
  212. package/dist/objects/BaseObject.js.map +1 -0
  213. package/dist/objects/DetailedSatellite.d.ts +3 -2
  214. package/dist/objects/DetailedSatellite.js +6 -4
  215. package/dist/objects/DetailedSatellite.js.map +1 -1
  216. package/dist/objects/DetailedSensor.d.ts +3 -2
  217. package/dist/objects/DetailedSensor.js +2 -2
  218. package/dist/objects/DetailedSensor.js.map +1 -1
  219. package/dist/objects/GroundObject.d.ts +85 -0
  220. package/dist/objects/GroundObject.js +143 -0
  221. package/dist/objects/GroundObject.js.map +1 -0
  222. package/dist/objects/LandObject.d.ts +3 -2
  223. package/dist/objects/LandObject.js +2 -2
  224. package/dist/objects/LandObject.js.map +1 -1
  225. package/dist/objects/Marker.d.ts +2 -2
  226. package/dist/objects/Marker.js +2 -2
  227. package/dist/objects/Marker.js.map +1 -1
  228. package/dist/objects/RfSensor.d.ts +1 -2
  229. package/dist/objects/RfSensor.js +1 -2
  230. package/dist/objects/RfSensor.js.map +1 -1
  231. package/dist/objects/Satellite.d.ts +226 -0
  232. package/dist/objects/Satellite.js +443 -0
  233. package/dist/objects/Satellite.js.map +1 -0
  234. package/dist/objects/Sensor.d.ts +99 -0
  235. package/dist/objects/Sensor.js +238 -0
  236. package/dist/objects/Sensor.js.map +1 -0
  237. package/dist/objects/Star.d.ts +36 -0
  238. package/dist/objects/Star.js +59 -0
  239. package/dist/objects/Star.js.map +1 -0
  240. package/dist/objects/index.d.ts +5 -0
  241. package/dist/objects/index.js +5 -0
  242. package/dist/objects/index.js.map +1 -1
  243. package/dist/observation/Observation.d.ts +2 -2
  244. package/dist/observation/Observation.js +1 -1
  245. package/dist/observation/ObservationOptical.d.ts +6 -6
  246. package/dist/observation/ObservationOptical.js +9 -9
  247. package/dist/observation/ObservationOptical.js.map +1 -1
  248. package/dist/observation/ObservationRadar.d.ts +6 -6
  249. package/dist/observation/ObservationRadar.js +9 -9
  250. package/dist/observation/ObservationRadar.js.map +1 -1
  251. package/dist/observation/ObservationUtils.d.ts +4 -2
  252. package/dist/observation/ObservationUtils.js +16 -2
  253. package/dist/observation/ObservationUtils.js.map +1 -1
  254. package/dist/observation/PropagatorPairs.d.ts +4 -4
  255. package/dist/observation/PropagatorPairs.js +7 -7
  256. package/dist/observation/PropagatorPairs.js.map +1 -1
  257. package/dist/observation/RAE.d.ts +111 -0
  258. package/dist/observation/RAE.js +214 -0
  259. package/dist/observation/RAE.js.map +1 -0
  260. package/dist/observation/RadecGeocentric.d.ts +111 -0
  261. package/dist/observation/RadecGeocentric.js +169 -0
  262. package/dist/observation/RadecGeocentric.js.map +1 -0
  263. package/dist/observation/RadecTopocentric.d.ts +123 -0
  264. package/dist/observation/RadecTopocentric.js +196 -0
  265. package/dist/observation/RadecTopocentric.js.map +1 -0
  266. package/dist/observation/index.d.ts +26 -0
  267. package/dist/observation/index.js +27 -0
  268. package/dist/observation/index.js.map +1 -0
  269. package/dist/operations/BoxMuller.d.ts +2 -2
  270. package/dist/operations/BoxMuller.js +2 -2
  271. package/dist/operations/BoxMuller.js.map +1 -1
  272. package/dist/operations/EulerAngles.d.ts +2 -2
  273. package/dist/operations/EulerAngles.js +2 -2
  274. package/dist/operations/EulerAngles.js.map +1 -1
  275. package/dist/operations/Matrix.d.ts +170 -0
  276. package/dist/operations/Matrix.js +405 -0
  277. package/dist/operations/Matrix.js.map +1 -0
  278. package/dist/operations/Quaternion.d.ts +7 -7
  279. package/dist/operations/Quaternion.js +2 -2
  280. package/dist/operations/Quaternion.js.map +1 -1
  281. package/dist/operations/Random.d.ts +40 -0
  282. package/dist/operations/Random.js +50 -0
  283. package/dist/operations/Random.js.map +1 -0
  284. package/dist/operations/RandomGaussianSource.d.ts +3 -3
  285. package/dist/operations/RandomGaussianSource.js +5 -5
  286. package/dist/operations/RandomGaussianSource.js.map +1 -1
  287. package/dist/operations/Vector.d.ts +262 -0
  288. package/dist/operations/Vector.js +415 -0
  289. package/dist/operations/Vector.js.map +1 -0
  290. package/dist/operations/Vector3D.d.ts +86 -0
  291. package/dist/operations/Vector3D.js +241 -0
  292. package/dist/operations/Vector3D.js.map +1 -0
  293. package/dist/operations/operations.d.ts +26 -0
  294. package/dist/operations/operations.js +27 -0
  295. package/dist/operations/operations.js.map +1 -0
  296. package/dist/optimize/ChebyshevCompressor.d.ts +3 -3
  297. package/dist/optimize/ChebyshevCompressor.js +8 -8
  298. package/dist/optimize/ChebyshevCompressor.js.map +1 -1
  299. package/dist/optimize/DownhillSimplex.d.ts +1 -1
  300. package/dist/optimize/DownhillSimplex.js +1 -1
  301. package/dist/optimize/GoldenSection.d.ts +2 -2
  302. package/dist/optimize/GoldenSection.js +3 -3
  303. package/dist/optimize/PolynomialRegression.d.ts +1 -1
  304. package/dist/optimize/PolynomialRegression.js +2 -2
  305. package/dist/optimize/PolynomialRegression.js.map +1 -1
  306. package/dist/optimize/PolynomicalRegressionResult.d.ts +1 -1
  307. package/dist/optimize/PolynomicalRegressionResult.js +1 -1
  308. package/dist/optimize/SimpleLinearRegression.d.ts +1 -1
  309. package/dist/optimize/SimpleLinearRegression.js +1 -1
  310. package/dist/optimize/SimplexEntry.d.ts +4 -4
  311. package/dist/optimize/SimplexEntry.js +11 -11
  312. package/dist/optimize/SimplexEntry.js.map +1 -1
  313. package/dist/orbit_determination/BatchLeastSquaresOD.d.ts +11 -11
  314. package/dist/orbit_determination/BatchLeastSquaresOD.js +2 -2
  315. package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -1
  316. package/dist/orbit_determination/BatchLeastSquaresResult.d.ts +2 -2
  317. package/dist/orbit_determination/BatchLeastSquaresResult.js +1 -1
  318. package/dist/orbit_determination/GibbsIOD.d.ts +2 -2
  319. package/dist/orbit_determination/GibbsIOD.js +2 -2
  320. package/dist/orbit_determination/GibbsIOD.js.map +1 -1
  321. package/dist/orbit_determination/GoodingIOD.d.ts +2 -2
  322. package/dist/orbit_determination/GoodingIOD.js +2 -2
  323. package/dist/orbit_determination/GoodingIOD.js.map +1 -1
  324. package/dist/orbit_determination/HerrickGibbsIOD.d.ts +2 -2
  325. package/dist/orbit_determination/HerrickGibbsIOD.js +2 -2
  326. package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -1
  327. package/dist/orbit_determination/LambertIOD.d.ts +2 -2
  328. package/dist/orbit_determination/LambertIOD.js +2 -2
  329. package/dist/orbit_determination/LambertIOD.js.map +1 -1
  330. package/dist/orbit_determination/ModifiedGoodingIOD.d.ts +4 -4
  331. package/dist/orbit_determination/ModifiedGoodingIOD.js +2 -2
  332. package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -1
  333. package/dist/orbit_determination/index.d.ts +7 -0
  334. package/dist/orbit_determination/index.js +8 -0
  335. package/dist/orbit_determination/index.js.map +1 -0
  336. package/dist/propagator/DormandPrince54Propagator.d.ts +5 -5
  337. package/dist/propagator/DormandPrince54Propagator.js +9 -9
  338. package/dist/propagator/DormandPrince54Propagator.js.map +1 -1
  339. package/dist/propagator/KeplerPropagator.d.ts +6 -6
  340. package/dist/propagator/KeplerPropagator.js +31 -31
  341. package/dist/propagator/KeplerPropagator.js.map +1 -1
  342. package/dist/propagator/Propagator.d.ts +2 -2
  343. package/dist/propagator/Propagator.js +2 -2
  344. package/dist/propagator/Propagator.js.map +1 -1
  345. package/dist/propagator/RkCheckpoint.d.ts +2 -2
  346. package/dist/propagator/RkCheckpoint.js +1 -1
  347. package/dist/propagator/RkResult.d.ts +2 -2
  348. package/dist/propagator/RkResult.js +1 -1
  349. package/dist/propagator/RungeKutta4Propagator.d.ts +3 -3
  350. package/dist/propagator/RungeKutta4Propagator.js +2 -2
  351. package/dist/propagator/RungeKutta4Propagator.js.map +1 -1
  352. package/dist/propagator/RungeKutta89Propagator.d.ts +5 -5
  353. package/dist/propagator/RungeKutta89Propagator.js +1 -1
  354. package/dist/propagator/RungeKutta89Propagator.js.map +1 -1
  355. package/dist/propagator/RungeKuttaAdaptive.d.ts +4 -4
  356. package/dist/propagator/RungeKuttaAdaptive.js +2 -2
  357. package/dist/propagator/RungeKuttaAdaptive.js.map +1 -1
  358. package/dist/propagator/Sgp4Propagator.d.ts +6 -6
  359. package/dist/propagator/Sgp4Propagator.js +15 -15
  360. package/dist/propagator/Sgp4Propagator.js.map +1 -1
  361. package/dist/sgp4/index.d.ts +23 -0
  362. package/dist/sgp4/index.js +24 -0
  363. package/dist/sgp4/index.js.map +1 -0
  364. package/dist/sgp4/sgp4-error.d.ts +22 -0
  365. package/dist/sgp4/sgp4-error.js +44 -0
  366. package/dist/sgp4/sgp4-error.js.map +1 -0
  367. package/dist/sgp4/sgp4.d.ts +99 -0
  368. package/dist/sgp4/sgp4.js +3164 -0
  369. package/dist/sgp4/sgp4.js.map +1 -0
  370. package/dist/smoothing/ExponentialSmoothing.d.ts +2 -2
  371. package/dist/smoothing/ExponentialSmoothing.js +1 -1
  372. package/dist/time/Epoch.d.ts +44 -0
  373. package/dist/time/Epoch.js +109 -0
  374. package/dist/time/Epoch.js.map +1 -0
  375. package/dist/time/EpochGPS.d.ts +42 -0
  376. package/dist/time/EpochGPS.js +70 -0
  377. package/dist/time/EpochGPS.js.map +1 -0
  378. package/dist/time/EpochTAI.d.ts +26 -0
  379. package/dist/time/EpochTAI.js +27 -0
  380. package/dist/time/EpochTAI.js.map +1 -0
  381. package/dist/time/EpochTDB.d.ts +26 -0
  382. package/dist/time/EpochTDB.js +27 -0
  383. package/dist/time/EpochTDB.js.map +1 -0
  384. package/dist/time/EpochTT.d.ts +26 -0
  385. package/dist/time/EpochTT.js +27 -0
  386. package/dist/time/EpochTT.js.map +1 -0
  387. package/dist/time/EpochUTC.d.ts +59 -0
  388. package/dist/time/EpochUTC.js +137 -0
  389. package/dist/time/EpochUTC.js.map +1 -0
  390. package/dist/time/EpochWindow.d.ts +28 -0
  391. package/dist/time/EpochWindow.js +31 -0
  392. package/dist/time/EpochWindow.js.map +1 -0
  393. package/dist/time/TimeStamped.d.ts +39 -0
  394. package/dist/time/TimeStamped.js +42 -0
  395. package/dist/time/TimeStamped.js.map +1 -0
  396. package/dist/time/index.d.ts +8 -0
  397. package/dist/time/index.js +9 -0
  398. package/dist/time/index.js.map +1 -0
  399. package/dist/transforms/TransformCache.d.ts +27 -0
  400. package/dist/transforms/TransformCache.js +41 -0
  401. package/dist/transforms/TransformCache.js.map +1 -0
  402. package/dist/transforms/conversions.d.ts +63 -0
  403. package/dist/transforms/conversions.js +88 -0
  404. package/dist/transforms/conversions.js.map +1 -0
  405. package/dist/transforms/index.d.ts +1 -0
  406. package/dist/transforms/index.js +1 -0
  407. package/dist/transforms/index.js.map +1 -1
  408. package/dist/transforms/transforms.d.ts +166 -2
  409. package/dist/transforms/transforms.js +372 -1
  410. package/dist/transforms/transforms.js.map +1 -1
  411. package/dist/types/types.d.ts +675 -3
  412. package/dist/types/types.js +37 -1
  413. package/dist/types/types.js.map +1 -1
  414. package/dist/utils/constants.d.ts +80 -0
  415. package/dist/utils/constants.js +87 -0
  416. package/dist/utils/constants.js.map +1 -0
  417. package/dist/utils/create-covariance-from-tle.d.ts +18 -0
  418. package/dist/utils/create-covariance-from-tle.js +57 -0
  419. package/dist/utils/create-covariance-from-tle.js.map +1 -0
  420. package/dist/utils/functions.d.ts +228 -0
  421. package/dist/utils/functions.js +476 -0
  422. package/dist/utils/functions.js.map +1 -1
  423. package/dist/utils/index.d.ts +4 -1
  424. package/dist/utils/index.js +4 -1
  425. package/dist/utils/index.js.map +1 -1
  426. package/dist/utils/jacobian.d.ts +7 -1
  427. package/dist/utils/jacobian.js +7 -2
  428. package/dist/utils/jacobian.js.map +1 -1
  429. package/dist/utils/linearDistance.d.ts +8 -0
  430. package/dist/utils/linearDistance.js +10 -0
  431. package/dist/utils/linearDistance.js.map +1 -0
  432. package/package.json +5 -8
  433. package/src/body/Celestial.ts +134 -0
  434. package/src/body/Earth.ts +260 -0
  435. package/src/body/Moon.ts +556 -0
  436. package/src/body/NutationAngles.ts +40 -0
  437. package/src/body/PrecessionAngles.ts +31 -0
  438. package/src/body/Sun.ts +665 -0
  439. package/src/body/index.ts +27 -0
  440. package/src/body/suncalc.LICENSE.md +18 -0
  441. package/src/coordinate/ClassicalElements.ts +327 -0
  442. package/src/coordinate/EquinoctialElements.ts +189 -0
  443. package/src/coordinate/FormatTle.ts +214 -0
  444. package/src/coordinate/Geodetic.ts +186 -0
  445. package/src/coordinate/Hill.ts +2 -2
  446. package/src/coordinate/ITRF.ts +146 -0
  447. package/src/coordinate/J2000.ts +130 -0
  448. package/src/coordinate/RIC.ts +87 -0
  449. package/src/coordinate/RelativeState.ts +101 -0
  450. package/src/coordinate/StateVector.ts +123 -0
  451. package/src/coordinate/TEME.ts +97 -0
  452. package/src/coordinate/Tle.ts +1024 -0
  453. package/src/coordinate/index.ts +11 -0
  454. package/src/coordinate/tle-format-data.ts +47 -0
  455. package/src/covariance/CovarianceSample.ts +117 -19
  456. package/src/covariance/StateCovariance.ts +2 -2
  457. package/src/covariance/index.ts +2 -0
  458. package/src/data/DataHandler.ts +88 -0
  459. package/src/data/values/Egm96Data.ts +75 -0
  460. package/src/data/values/HpAtmosphereData.ts +76 -0
  461. package/src/data/values/HpAtmosphereResult.ts +41 -0
  462. package/src/data/values/Iau1980Data.ts +63 -0
  463. package/src/data/values/LeapSecond.ts +37 -0
  464. package/src/data/values/LeapSecondData.ts +113 -0
  465. package/src/data/values/egm96.ts +728 -0
  466. package/src/data/values/hpAtmosphere.ts +79 -0
  467. package/src/data/values/iau1980.ts +32 -0
  468. package/src/enums/AngularDiameterMethod.ts +28 -0
  469. package/src/enums/AngularDistanceMethod.ts +28 -0
  470. package/src/enums/OrbitRegime.ts +31 -0
  471. package/src/enums/PassType.ts +29 -0
  472. package/src/enums/Sgp4OpsMode.ts +27 -0
  473. package/src/enums/index.ts +5 -0
  474. package/src/force/AtmosphericDrag.ts +2 -4
  475. package/src/force/EarthGravity.ts +2 -2
  476. package/src/force/Force.ts +2 -2
  477. package/src/force/ForceModel.ts +2 -2
  478. package/src/force/Gravity.ts +2 -2
  479. package/src/force/SolarRadiationPressure.ts +2 -2
  480. package/src/force/ThirdBodyGravity.ts +2 -2
  481. package/src/force/Thrust.ts +2 -2
  482. package/src/interfaces/BaseObjectParams.ts +33 -0
  483. package/src/interfaces/ClassicalElementsParams.ts +35 -0
  484. package/src/interfaces/EquinoctialElementsParams.ts +37 -0
  485. package/src/interfaces/GroundPositionParams.ts +30 -0
  486. package/src/interfaces/OmmFormat.ts +63 -0
  487. package/src/interfaces/OptionsParams.ts +3 -0
  488. package/src/interfaces/RfSensorParams.ts +1 -1
  489. package/src/interfaces/SatelliteParams.ts +20 -0
  490. package/src/interfaces/SensorParams.ts +39 -0
  491. package/src/interfaces/StarObjectParams.ts +11 -0
  492. package/src/interfaces/TimeVariables.ts +7 -0
  493. package/src/interfaces/index.ts +8 -0
  494. package/src/interpolator/ChebyshevCoefficients.ts +5 -5
  495. package/src/interpolator/ChebyshevInterpolator.ts +10 -10
  496. package/src/interpolator/CubicSpline.ts +2 -2
  497. package/src/interpolator/CubicSplineInterpolator.ts +8 -8
  498. package/src/interpolator/FieldInterpolator.ts +1 -1
  499. package/src/interpolator/Interpolator.ts +2 -2
  500. package/src/interpolator/LagrangeInterpolator.ts +7 -7
  501. package/src/interpolator/StateInterpolator.ts +2 -2
  502. package/src/interpolator/VerletBlendInterpolator.ts +2 -2
  503. package/src/main.ts +15 -5
  504. package/src/maneuver/TwoBurnOrbitTransfer.ts +2 -2
  505. package/src/maneuver/Waypoint.ts +2 -2
  506. package/src/objects/BaseObject.ts +171 -0
  507. package/src/objects/DetailedSatellite.ts +5 -4
  508. package/src/objects/DetailedSensor.ts +3 -2
  509. package/src/objects/GroundObject.ts +176 -0
  510. package/src/objects/LandObject.ts +3 -2
  511. package/src/objects/Marker.ts +2 -2
  512. package/src/objects/RfSensor.ts +1 -2
  513. package/src/objects/Satellite.ts +552 -0
  514. package/src/objects/Sensor.ts +279 -0
  515. package/src/objects/Star.ts +96 -0
  516. package/src/objects/index.ts +5 -0
  517. package/src/observation/Observation.ts +2 -2
  518. package/src/observation/ObservationOptical.ts +7 -7
  519. package/src/observation/ObservationRadar.ts +10 -6
  520. package/src/observation/ObservationUtils.ts +31 -2
  521. package/src/observation/PropagatorPairs.ts +3 -3
  522. package/src/observation/RAE.ts +261 -0
  523. package/src/observation/RadecGeocentric.ts +206 -0
  524. package/src/observation/RadecTopocentric.ts +241 -0
  525. package/src/observation/index.ts +27 -0
  526. package/src/operations/BoxMuller.ts +2 -2
  527. package/src/operations/EulerAngles.ts +2 -2
  528. package/src/operations/Matrix.ts +473 -0
  529. package/src/operations/Quaternion.ts +7 -7
  530. package/src/operations/Random.ts +54 -0
  531. package/src/operations/RandomGaussianSource.ts +5 -5
  532. package/src/operations/Vector.ts +484 -0
  533. package/src/operations/Vector3D.ts +289 -0
  534. package/src/operations/operations.ts +27 -0
  535. package/src/optimize/ChebyshevCompressor.ts +6 -6
  536. package/src/optimize/DownhillSimplex.ts +1 -1
  537. package/src/optimize/GoldenSection.ts +3 -3
  538. package/src/optimize/PolynomialRegression.ts +2 -2
  539. package/src/optimize/PolynomicalRegressionResult.ts +1 -1
  540. package/src/optimize/SimpleLinearRegression.ts +1 -1
  541. package/src/optimize/SimplexEntry.ts +9 -9
  542. package/src/orbit_determination/BatchLeastSquaresOD.ts +11 -11
  543. package/src/orbit_determination/BatchLeastSquaresResult.ts +2 -2
  544. package/src/orbit_determination/GibbsIOD.ts +4 -2
  545. package/src/orbit_determination/GoodingIOD.ts +2 -2
  546. package/src/orbit_determination/HerrickGibbsIOD.ts +2 -2
  547. package/src/orbit_determination/LambertIOD.ts +2 -2
  548. package/src/orbit_determination/ModifiedGoodingIOD.ts +4 -4
  549. package/src/orbit_determination/index.ts +7 -0
  550. package/src/propagator/DormandPrince54Propagator.ts +9 -9
  551. package/src/propagator/KeplerPropagator.ts +31 -31
  552. package/src/propagator/Propagator.ts +2 -2
  553. package/src/propagator/RkCheckpoint.ts +2 -2
  554. package/src/propagator/RkResult.ts +2 -2
  555. package/src/propagator/RungeKutta4Propagator.ts +3 -3
  556. package/src/propagator/RungeKutta89Propagator.ts +5 -5
  557. package/src/propagator/RungeKuttaAdaptive.ts +4 -4
  558. package/src/propagator/Sgp4Propagator.ts +14 -14
  559. package/src/sgp4/index.ts +24 -0
  560. package/src/sgp4/sgp4-error.ts +53 -0
  561. package/src/sgp4/sgp4.LICENSE.md +28 -0
  562. package/src/sgp4/sgp4.ts +3983 -0
  563. package/src/smoothing/ExponentialSmoothing.ts +2 -2
  564. package/src/time/Epoch.ts +128 -0
  565. package/src/time/EpochGPS.ts +76 -0
  566. package/src/time/EpochTAI.ts +27 -0
  567. package/src/time/EpochTDB.ts +27 -0
  568. package/src/time/EpochTT.ts +27 -0
  569. package/src/time/EpochUTC.ts +188 -0
  570. package/src/time/EpochWindow.ts +33 -0
  571. package/src/time/TimeStamped.ts +46 -0
  572. package/src/time/index.ts +8 -0
  573. package/src/transforms/TransformCache.ts +46 -0
  574. package/src/transforms/conversions.ts +98 -0
  575. package/src/transforms/index.ts +1 -0
  576. package/src/transforms/transforms.ts +478 -2
  577. package/src/types/types.ts +722 -3
  578. package/src/utils/constants.ts +113 -0
  579. package/src/utils/create-covariance-from-tle.ts +75 -0
  580. package/src/utils/functions.ts +562 -0
  581. package/src/utils/index.ts +4 -1
  582. package/src/utils/jacobian.ts +7 -3
  583. package/src/utils/linearDistance.ts +11 -0
@@ -0,0 +1,89 @@
1
+ /**
2
+ * @author @thkruz Theodore Kruczek
3
+ * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ * @license AGPL-3.0-or-later
6
+ * @copyright (c) 2025 Kruczek Labs LLC
7
+ *
8
+ * Many of the classes are based off of the work of @david-rc-dayton and his
9
+ * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
+ * is licensed under the MIT license.
11
+ *
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
+ */
23
+ import { Earth } from '../body/Earth.js';
24
+ import { J2000 } from './J2000.js';
25
+ import { StateVector } from './StateVector.js';
26
+ /**
27
+ * True Equator Mean Equinox (TEME) is a coordinate system commonly used in satellite tracking and orbit prediction. It
28
+ * is a reference frame that defines the position and orientation of an object relative to the Earth's equator and
29
+ * equinox.
30
+ *
31
+ * By using the True Equator Mean Equinox (TEME) coordinate system, we can accurately describe the position and motion
32
+ * of satellites relative to the Earth's equator and equinox. This is particularly useful for tracking and predicting
33
+ * satellite orbits in various applications, such as satellite communication, navigation, and remote sensing.
34
+ */
35
+ export class TEME extends StateVector {
36
+ /**
37
+ * Gets the name of the coordinate system.
38
+ * @returns The name of the coordinate system.
39
+ */
40
+ get name() {
41
+ return 'TEME';
42
+ }
43
+ /**
44
+ * Gets a value indicating whether the coordinate is inertial.
45
+ * @returns A boolean value indicating whether the coordinate is inertial.
46
+ */
47
+ get inertial() {
48
+ return true;
49
+ }
50
+ /**
51
+ * Creates a TEME (True Equator Mean Equinox) object from classical orbital elements.
52
+ * @param elements - The classical orbital elements.
53
+ * @returns A new TEME object.
54
+ */
55
+ static fromClassicalElements(elements) {
56
+ const rv = elements.toPositionVelocity();
57
+ return new TEME(elements.epoch, rv.position, rv.velocity);
58
+ }
59
+ /**
60
+ * Converts the TEME (True Equator Mean Equinox) coordinates to J2000 coordinates.
61
+ * @returns The J2000 coordinates.
62
+ */
63
+ toJ2000() {
64
+ const p = Earth.precession(this.epoch);
65
+ const n = Earth.nutation(this.epoch);
66
+ const eps = n.mEps + n.dEps;
67
+ const dPsiCosEps = n.dPsi * Math.cos(eps);
68
+ const rMOD = this.position
69
+ .rotZ(-dPsiCosEps)
70
+ .rotX(eps)
71
+ .rotZ(n.dPsi)
72
+ .rotX(-n.mEps);
73
+ const vMOD = this.velocity
74
+ .rotZ(-dPsiCosEps)
75
+ .rotX(eps)
76
+ .rotZ(n.dPsi)
77
+ .rotX(-n.mEps);
78
+ const rJ2K = rMOD
79
+ .rotZ(p.zed)
80
+ .rotY(-p.theta)
81
+ .rotZ(p.zeta);
82
+ const vJ2K = vMOD
83
+ .rotZ(p.zed)
84
+ .rotY(-p.theta)
85
+ .rotZ(p.zeta);
86
+ return new J2000(this.epoch, rJ2K, vJ2K);
87
+ }
88
+ }
89
+ //# sourceMappingURL=TEME.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TEME.js","sourceRoot":"","sources":["../../src/coordinate/TEME.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,OAAO,IAAK,SAAQ,WAAW;IACnC;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAA2B;QACtD,MAAM,EAAE,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAEzC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QAC5B,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ;aACvB,IAAI,CAAC,CAAC,UAAqB,CAAC;aAC5B,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ;aACvB,IAAI,CAAC,CAAC,UAAqB,CAAC;aAC5B,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI;aACd,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;aACX,IAAI,CAAC,CAAC,CAAC,CAAC,KAAgB,CAAC;aACzB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAyB,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI;aACd,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;aACX,IAAI,CAAC,CAAC,CAAC,CAAC,KAAgB,CAAC;aACzB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAkC,CAAC;QAEjD,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -0,0 +1,429 @@
1
+ /**
2
+ * @author @thkruz Theodore Kruczek
3
+ * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ * @license AGPL-3.0-or-later
6
+ * @copyright (c) 2025 Kruczek Labs LLC
7
+ *
8
+ * Many of the classes are based off of the work of @david-rc-dayton and his
9
+ * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
+ * is licensed under the MIT license.
11
+ *
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
+ */
23
+ import { ClassicalElements, TEME } from './index.js';
24
+ import { Sgp4OpsMode } from '../enums/Sgp4OpsMode.js';
25
+ import { Sgp4GravConstants } from '../sgp4/sgp4.js';
26
+ import { EpochUTC } from '../time/EpochUTC.js';
27
+ import { Degrees, Line1Data, Line2Data, Minutes, TleData, TleDataFull, TleLine1, TleLine2 } from '../types/types.js';
28
+ /**
29
+ * Tle is a static class with a collection of methods for working with TLEs.
30
+ */
31
+ export declare class Tle {
32
+ line1: TleLine1;
33
+ line2: TleLine2;
34
+ epoch: EpochUTC;
35
+ satnum: number;
36
+ private readonly satrec_;
37
+ /**
38
+ * Mapping of alphabets to their corresponding numeric values.
39
+ */
40
+ private static readonly alpha5_;
41
+ /** The argument of perigee field. */
42
+ private static readonly argPerigee_;
43
+ /** The BSTAR drag term field. */
44
+ private static readonly bstar_;
45
+ /** The checksum field. */
46
+ private static readonly checksum_;
47
+ /** The classification field. */
48
+ private static readonly classification_;
49
+ /** The eccentricity field. */
50
+ private static readonly eccentricity_;
51
+ /** The element set number field. */
52
+ private static readonly elsetNum_;
53
+ /** The ephemeris type field. */
54
+ private static readonly ephemerisType_;
55
+ /** The epoch day field. */
56
+ private static readonly epochDay_;
57
+ /** The epoch year field. */
58
+ private static readonly epochYear_;
59
+ /** The inclination field. */
60
+ private static readonly inclination_;
61
+ /** The international designator launch number field. */
62
+ private static readonly intlDesLaunchNum_;
63
+ /** The international designator launch piece field. */
64
+ private static readonly intlDesLaunchPiece_;
65
+ /** The international designator year field. */
66
+ private static readonly intlDesYear_;
67
+ /** The line number field. */
68
+ private static readonly lineNumber_;
69
+ /** The mean anomaly field. */
70
+ private static readonly meanAnom_;
71
+ /** The first derivative of the mean motion field. */
72
+ private static readonly meanMoDev1_;
73
+ /** The second derivative of the mean motion field. */
74
+ private static readonly meanMoDev2_;
75
+ /** The mean motion field. */
76
+ private static readonly meanMo_;
77
+ /** The right ascension of the ascending node field. */
78
+ private static readonly rightAscension_;
79
+ /** The revolution number field. */
80
+ private static readonly revNum_;
81
+ /** The satellite number field. */
82
+ private static readonly satNum_;
83
+ constructor(line1: string, line2: string, opsMode?: Sgp4OpsMode, gravConst?: Sgp4GravConstants);
84
+ toString(): string;
85
+ /**
86
+ * Gets the semimajor axis of the TLE.
87
+ * @returns The semimajor axis value.
88
+ */
89
+ get semimajorAxis(): number;
90
+ /**
91
+ * Gets the eccentricity of the TLE.
92
+ * @returns The eccentricity value.
93
+ */
94
+ get eccentricity(): number;
95
+ /**
96
+ * Gets the inclination of the TLE.
97
+ * @returns The inclination in degrees.
98
+ */
99
+ get inclination(): number;
100
+ /**
101
+ * Gets the inclination in degrees.
102
+ * @returns The inclination in degrees.
103
+ */
104
+ get inclinationDegrees(): number;
105
+ /**
106
+ * Gets the apogee of the TLE (Two-Line Elements) object.
107
+ * Apogee is the point in an orbit that is farthest from the Earth.
108
+ * It is calculated as the product of the semimajor axis and (1 + eccentricity).
109
+ * @returns The apogee value.
110
+ */
111
+ get apogee(): number;
112
+ /**
113
+ * Gets the perigee of the TLE (Two-Line Element Set).
114
+ * The perigee is the point in the orbit of a satellite or other celestial body where it is closest to the Earth.
115
+ * It is calculated as the product of the semimajor axis and the difference between 1 and the eccentricity.
116
+ * @returns The perigee value.
117
+ */
118
+ get perigee(): number;
119
+ /**
120
+ * Gets the period of the TLE in minutes.
121
+ * @returns The period of the TLE in minutes.
122
+ */
123
+ get period(): Minutes;
124
+ /**
125
+ * Parses the epoch string and returns the corresponding EpochUTC object.
126
+ * @param epochStr - The epoch string to parse.
127
+ * @returns The parsed EpochUTC object.
128
+ */
129
+ private static parseEpoch_;
130
+ static calcElsetAge(tle1: TleLine1, nowInput?: Date, outputUnits?: 'days' | 'hours' | 'minutes' | 'seconds'): number;
131
+ /**
132
+ * Propagates the TLE (Two-Line Element Set) to a specific epoch and returns the TEME (True Equator Mean Equinox)
133
+ * coordinates.
134
+ * @param epoch The epoch to propagate the TLE to.
135
+ * @returns The TEME coordinates at the specified epoch.
136
+ * @throws Error if propagation fails.
137
+ */
138
+ propagate(epoch: EpochUTC): TEME;
139
+ /**
140
+ * Converts the state vector to position and velocity arrays.
141
+ * @param stateVector - The state vector containing position and velocity information.
142
+ * @param r - The array to store the position values.
143
+ * @param v - The array to store the velocity values.
144
+ */
145
+ private static sv2rv_;
146
+ /**
147
+ * Returns the current state of the satellite in the TEME coordinate system.
148
+ * @returns The current state of the satellite.
149
+ */
150
+ private currentState_;
151
+ /**
152
+ * Gets the state of the TLE in the TEME coordinate system.
153
+ * @returns The state of the TLE in the TEME coordinate system.
154
+ */
155
+ get state(): TEME;
156
+ /**
157
+ * Calculates the Semi-Major Axis (SMA) from the second line of a TLE.
158
+ * @param line2 The second line of the TLE.
159
+ * @returns The Semi-Major Axis (SMA) in kilometers.
160
+ */
161
+ private static tleSma_;
162
+ /**
163
+ * Parses the eccentricity value from the second line of a TLE.
164
+ * @param line2 The second line of the TLE.
165
+ * @returns The eccentricity value.
166
+ */
167
+ private static tleEcc_;
168
+ /**
169
+ * Calculates the inclination angle from the second line of a TLE.
170
+ * @param line2 The second line of the TLE.
171
+ * @returns The inclination angle in radians.
172
+ */
173
+ private static tleInc_;
174
+ /**
175
+ * Creates a TLE (Two-Line Element) object from classical orbital elements.
176
+ * @param elements - The classical orbital elements.
177
+ * @returns A TLE object.
178
+ */
179
+ static fromClassicalElements(elements: ClassicalElements): Tle;
180
+ /**
181
+ * Argument of perigee.
182
+ * @see https://en.wikipedia.org/wiki/Argument_of_perigee
183
+ * @example 69.9862
184
+ * @param tleLine2 The second line of the Tle to parse.
185
+ * @returns The argument of perigee in degrees (0 to 360).
186
+ */
187
+ static argOfPerigee(tleLine2: TleLine2): Degrees;
188
+ /**
189
+ * BSTAR drag term (decimal point assumed). Estimates the effects of atmospheric drag on the satellite's motion.
190
+ * @see https://en.wikipedia.org/wiki/BSTAR
191
+ * @example 0.000036771
192
+ * @description ('36771-4' in the original Tle or 0.36771 * 10 ^ -4)
193
+ * @param tleLine1 The first line of the Tle to parse.
194
+ * @returns The drag coefficient.
195
+ */
196
+ static bstar(tleLine1: TleLine1): number;
197
+ /**
198
+ * Tle line 1 checksum (modulo 10), for verifying the integrity of this line of the Tle.
199
+ * @example 3
200
+ * @param tleLine The first line of the Tle to parse.
201
+ * @returns The checksum value (0 to 9)
202
+ */
203
+ static checksum(tleLine: TleLine1 | TleLine2): number;
204
+ /**
205
+ * Returns the satellite classification.
206
+ * Some websites like https://KeepTrack.space and Celestrak.org will embed
207
+ * information in this field about the source of the Tle.
208
+ * @example 'U'
209
+ * unclassified
210
+ * @example 'C'
211
+ * confidential
212
+ * @example 'S'
213
+ * secret
214
+ * @param tleLine1 The first line of the Tle to parse.
215
+ * @returns The satellite classification.
216
+ */
217
+ static classification(tleLine1: TleLine1): string;
218
+ /**
219
+ * Orbital eccentricity, decimal point assumed. All artificial Earth satellites have an eccentricity between 0
220
+ * (perfect circle) and 1 (parabolic orbit).
221
+ * @example 0.0006317
222
+ * (`0006317` in the original Tle)
223
+ * @param tleLine2 The second line of the Tle to parse.
224
+ * @returns The eccentricity of the satellite (0 to 1)
225
+ */
226
+ static eccentricity(tleLine2: TleLine2): number;
227
+ /**
228
+ * Tle element set number, incremented for each new Tle generated.
229
+ * @see https://en.wikipedia.org/wiki/Two-line_element_set
230
+ * @example 999
231
+ * @param tleLine1 The first line of the Tle to parse.
232
+ * @returns The element number (1 to 999)
233
+ */
234
+ static elsetNum(tleLine1: TleLine1): number;
235
+ /**
236
+ * Private value - used by United States Space Force to reference the orbit model used to generate the Tle. Will
237
+ * always be seen as zero externally (e.g. by "us", unless you are "them" - in which case, hello!).
238
+ *
239
+ * Starting in 2024, this may contain a 4 if the Tle was generated using the new SGP4-XP model. Until the source code
240
+ * is released, there is no way to support that format in JavaScript or TypeScript.
241
+ * @example 0
242
+ * @param tleLine1 The first line of the Tle to parse.
243
+ * @returns The ephemeris type.
244
+ */
245
+ static ephemerisType(tleLine1: TleLine1): 0;
246
+ /**
247
+ * Fractional day of the year when the Tle was generated (Tle epoch).
248
+ * @example 206.18396726
249
+ * @param tleLine1 The first line of the Tle to parse.
250
+ * @returns The day of the year the Tle was generated. (1 to 365.99999999)
251
+ */
252
+ static epochDay(tleLine1: string): number;
253
+ /**
254
+ * Year when the Tle was generated (Tle epoch), last two digits.
255
+ * @example 17
256
+ * @param tleLine1 The first line of the Tle to parse.
257
+ * @returns The year the Tle was generated. (0 to 99)
258
+ */
259
+ static epochYear(tleLine1: TleLine1): number;
260
+ /**
261
+ * Year when the Tle was generated (Tle epoch), four digits.
262
+ * @example 2008
263
+ * @param tleLine1 The first line of the Tle to parse.
264
+ * @returns The year the Tle was generated. (1957 to 2056)
265
+ */
266
+ static epochYearFull(tleLine1: TleLine1): number;
267
+ /**
268
+ * Inclination relative to the Earth's equatorial plane in degrees. 0 to 90 degrees is a prograde orbit and 90 to 180
269
+ * degrees is a retrograde orbit.
270
+ * @example 51.6400
271
+ * @param tleLine2 The second line of the Tle to parse.
272
+ * @returns The inclination of the satellite. (0 to 180)
273
+ */
274
+ static inclination(tleLine2: TleLine2): Degrees;
275
+ /**
276
+ * International Designator (COSPAR ID)
277
+ * @see https://en.wikipedia.org/wiki/International_Designator
278
+ * @param tleLine1 The first line of the Tle to parse.
279
+ * @returns The International Designator.
280
+ */
281
+ static intlDes(tleLine1: TleLine1): string;
282
+ /**
283
+ * International Designator (COSPAR ID): Launch number of the year.
284
+ * @example 67
285
+ * @param tleLine1 The first line of the Tle to parse.
286
+ * @returns The launch number of the International Designator. (1 to 999)
287
+ */
288
+ static intlDesLaunchNum(tleLine1: string): number;
289
+ /**
290
+ * International Designator (COSPAR ID): Piece of the launch.
291
+ * @example 'A'
292
+ * @param tleLine1 The first line of the Tle to parse.
293
+ * @returns The launch piece of the International Designator. (A to ZZZ)
294
+ */
295
+ static intlDesLaunchPiece(tleLine1: TleLine1): string;
296
+ /**
297
+ * International Designator (COSPAR ID): Last 2 digits of launch year.
298
+ * @example 98
299
+ * @param tleLine1 The first line of the Tle to parse.
300
+ * @returns The year of the International Designator. (0 to 99)
301
+ */
302
+ static intlDesYear(tleLine1: TleLine1): number;
303
+ /**
304
+ * This should always return a 1 or a 2.
305
+ * @example 1
306
+ * @param tleLine The first line of the Tle to parse.
307
+ * @returns The line number of the Tle. (1 or 2)
308
+ */
309
+ static lineNumber(tleLine: TleLine1 | TleLine2): 1 | 2;
310
+ /**
311
+ * Mean anomaly. Indicates where the satellite was located within its orbit at the time of the Tle epoch.
312
+ * @see https://en.wikipedia.org/wiki/Mean_Anomaly
313
+ * @example 25.2906
314
+ * @param tleLine2 The second line of the Tle to parse.
315
+ * @returns The mean anomaly of the satellite. (0 to 360)
316
+ */
317
+ static meanAnomaly(tleLine2: TleLine2): Degrees;
318
+ /**
319
+ * First Time Derivative of the Mean Motion divided by two. Defines how mean motion changes over time, so Tle
320
+ * propagators can still be used to make reasonable guesses when times are distant from the original Tle epoch. This
321
+ * is recorded in units of orbits per day per day.
322
+ * @example 0.00001961
323
+ * @param tleLine1 The first line of the Tle to parse.
324
+ * @returns The first derivative of the mean motion.
325
+ */
326
+ static meanMoDev1(tleLine1: TleLine1): number;
327
+ /**
328
+ * Second Time Derivative of Mean Motion divided by six (decimal point assumed). Measures rate of change in the Mean
329
+ * Motion Dot so software can make reasonable guesses when times are distant from the original Tle epoch. Usually
330
+ * zero, unless the satellite is manuevering or in a decaying orbit. This is recorded in units of orbits per day per
331
+ * day per day.
332
+ * @example 0
333
+ * '00000-0' in the original Tle or 0.00000 * 10 ^ 0
334
+ * @param tleLine1 The first line of the Tle to parse.
335
+ * @returns The second derivative of the mean motion.
336
+ */
337
+ static meanMoDev2(tleLine1: string): number;
338
+ /**
339
+ * Revolutions around the Earth per day (mean motion).
340
+ * @see https://en.wikipedia.org/wiki/Mean_Motion
341
+ * @example 15.54225995
342
+ * @param tleLine2 The second line of the Tle to parse.
343
+ * @returns The mean motion of the satellite. (0 to 18)
344
+ */
345
+ static meanMotion(tleLine2: TleLine2): number;
346
+ /**
347
+ * Calculates the period of a satellite orbit based on the given Tle line 2.
348
+ * @example 92.53035747
349
+ * @param tleLine2 The Tle line 2.
350
+ * @returns The period of the satellite orbit in minutes.
351
+ */
352
+ static period(tleLine2: TleLine2): Minutes;
353
+ /**
354
+ * Right ascension of the ascending node in degrees. Essentially, this is the angle of the satellite as it crosses
355
+ * northward (ascending) across the Earth's equator (equatorial plane).
356
+ * @example 208.9163
357
+ * @param tleLine2 The second line of the Tle to parse.
358
+ * @returns The right ascension of the satellite. (0 to 360)
359
+ */
360
+ static rightAscension(tleLine2: TleLine2): Degrees;
361
+ /**
362
+ * NORAD catalog number. To support Alpha-5, the first digit can be a letter. This will NOT be converted to a number.
363
+ * Use satNum() for that.
364
+ * @see https://en.wikipedia.org/wiki/Satellite_Catalog_Number
365
+ * @example 25544
366
+ * @example B1234
367
+ * @param tleLine The first line of the Tle to parse.
368
+ * @returns NORAD catalog number.
369
+ */
370
+ static rawSatNum(tleLine: TleLine1 | TleLine2): string;
371
+ /**
372
+ * Total satellite revolutions when this Tle was generated. This number rolls over (e.g. 99999 -> 0).
373
+ * @example 6766
374
+ * @param tleLine2 The second line of the Tle to parse.
375
+ * @returns The revolutions around the Earth per day (mean motion). (0 to 99999)
376
+ */
377
+ static revNum(tleLine2: TleLine2): number;
378
+ /**
379
+ * NORAD catalog number converted to a number.
380
+ * @see https://en.wikipedia.org/wiki/Satellite_Catalog_Number
381
+ * @example 25544
382
+ * @example 111234
383
+ * @param tleLine The first line of the Tle to parse.
384
+ * @returns NORAD catalog number. (0 to 339999)
385
+ */
386
+ static satNum(tleLine: TleLine1 | TleLine2): number;
387
+ /**
388
+ * Parse the first line of the Tle.
389
+ * @param tleLine1 The first line of the Tle to parse.
390
+ * @returns Returns the data from the first line of the Tle.
391
+ */
392
+ static parseLine1(tleLine1: TleLine1): Line1Data;
393
+ /**
394
+ * Parse the second line of the Tle.
395
+ * @param tleLine2 The second line of the Tle to parse.
396
+ * @returns Returns the data from the second line of the Tle.
397
+ */
398
+ static parseLine2(tleLine2: TleLine2): Line2Data;
399
+ /**
400
+ * Parses the Tle into orbital data.
401
+ *
402
+ * If you want all of the data then use parseTleFull instead.
403
+ * @param tleLine1 Tle line 1
404
+ * @param tleLine2 Tle line 2
405
+ * @returns Returns most commonly used orbital data from Tle
406
+ */
407
+ static parse(tleLine1: TleLine1, tleLine2: TleLine2): TleData;
408
+ /**
409
+ * Parses all of the data contained in the Tle.
410
+ *
411
+ * If you only want the most commonly used data then use parseTle instead.
412
+ * @param tleLine1 The first line of the Tle to parse.
413
+ * @param tleLine2 The second line of the Tle to parse.
414
+ * @returns Returns all of the data from the Tle.
415
+ */
416
+ static parseAll(tleLine1: TleLine1, tleLine2: TleLine2): TleDataFull;
417
+ /**
418
+ * Converts a 6 digit SCC number to a 5 digit SCC alpha 5 number
419
+ * @param sccNum The 6 digit SCC number
420
+ * @returns The 5 digit SCC alpha 5 number
421
+ */
422
+ static convert6DigitToA5(sccNum: string): string;
423
+ /**
424
+ * Converts a 5-digit SCC number to a 6-digit SCC number.
425
+ * @param sccNum - The 5-digit SCC number to convert.
426
+ * @returns The converted 6-digit SCC number.
427
+ */
428
+ static convertA5to6Digit(sccNum: string): string;
429
+ }