ootk 4.0.9 → 5.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 (535) 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 +305 -0
  18. package/dist/body/Sun.js +548 -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 +1 -1
  36. package/dist/coordinate/Hill.js +1 -1
  37. package/dist/coordinate/Hill.js.map +1 -1
  38. package/dist/coordinate/ITRF.d.ts +75 -0
  39. package/dist/coordinate/ITRF.js +135 -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 +430 -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 +12 -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 +1 -1
  66. package/dist/covariance/CovarianceSample.js +1 -1
  67. package/dist/covariance/CovarianceSample.js.map +1 -1
  68. package/dist/covariance/StateCovariance.d.ts +1 -1
  69. package/dist/covariance/StateCovariance.js +1 -1
  70. package/dist/covariance/StateCovariance.js.map +1 -1
  71. package/dist/data/DataHandler.d.ts +66 -0
  72. package/dist/data/DataHandler.js +80 -0
  73. package/dist/data/DataHandler.js.map +1 -0
  74. package/dist/data/values/Egm96Data.d.ts +37 -0
  75. package/dist/data/values/Egm96Data.js +63 -0
  76. package/dist/data/values/Egm96Data.js.map +1 -0
  77. package/dist/data/values/HpAtmosphereData.d.ts +33 -0
  78. package/dist/data/values/HpAtmosphereData.js +58 -0
  79. package/dist/data/values/HpAtmosphereData.js.map +1 -0
  80. package/dist/data/values/HpAtmosphereResult.d.ts +29 -0
  81. package/dist/data/values/HpAtmosphereResult.js +38 -0
  82. package/dist/data/values/HpAtmosphereResult.js.map +1 -0
  83. package/dist/data/values/Iau1980Data.d.ts +36 -0
  84. package/dist/data/values/Iau1980Data.js +52 -0
  85. package/dist/data/values/Iau1980Data.js.map +1 -0
  86. package/dist/data/values/LeapSecond.d.ts +27 -0
  87. package/dist/data/values/LeapSecond.js +35 -0
  88. package/dist/data/values/LeapSecond.js.map +1 -0
  89. package/dist/data/values/LeapSecondData.d.ts +41 -0
  90. package/dist/data/values/LeapSecondData.js +103 -0
  91. package/dist/data/values/LeapSecondData.js.map +1 -0
  92. package/dist/data/values/egm96.d.ts +24 -0
  93. package/dist/data/values/egm96.js +726 -0
  94. package/dist/data/values/egm96.js.map +1 -0
  95. package/dist/data/values/hpAtmosphere.d.ts +24 -0
  96. package/dist/data/values/hpAtmosphere.js +76 -0
  97. package/dist/data/values/hpAtmosphere.js.map +1 -0
  98. package/dist/data/values/iau1980.d.ts +24 -0
  99. package/dist/data/values/iau1980.js +30 -0
  100. package/dist/data/values/iau1980.js.map +1 -0
  101. package/dist/enums/AngularDiameterMethod.d.ts +27 -0
  102. package/dist/enums/AngularDiameterMethod.js +29 -0
  103. package/dist/enums/AngularDiameterMethod.js.map +1 -0
  104. package/dist/enums/AngularDistanceMethod.d.ts +27 -0
  105. package/dist/enums/AngularDistanceMethod.js +29 -0
  106. package/dist/enums/AngularDistanceMethod.js.map +1 -0
  107. package/dist/enums/OrbitRegime.d.ts +30 -0
  108. package/dist/enums/OrbitRegime.js +32 -0
  109. package/dist/enums/OrbitRegime.js.map +1 -0
  110. package/dist/enums/PassType.d.ts +28 -0
  111. package/dist/enums/PassType.js +30 -0
  112. package/dist/enums/PassType.js.map +1 -0
  113. package/dist/enums/Sgp4OpsMode.d.ts +26 -0
  114. package/dist/enums/Sgp4OpsMode.js +28 -0
  115. package/dist/enums/Sgp4OpsMode.js.map +1 -0
  116. package/dist/enums/index.d.ts +5 -0
  117. package/dist/enums/index.js +5 -0
  118. package/dist/enums/index.js.map +1 -1
  119. package/dist/force/AtmosphericDrag.d.ts +1 -1
  120. package/dist/force/AtmosphericDrag.js +1 -1
  121. package/dist/force/AtmosphericDrag.js.map +1 -1
  122. package/dist/force/EarthGravity.d.ts +1 -1
  123. package/dist/force/EarthGravity.js +1 -1
  124. package/dist/force/EarthGravity.js.map +1 -1
  125. package/dist/force/Force.d.ts +1 -1
  126. package/dist/force/ForceModel.d.ts +1 -1
  127. package/dist/force/ForceModel.js +1 -1
  128. package/dist/force/ForceModel.js.map +1 -1
  129. package/dist/force/Gravity.d.ts +1 -1
  130. package/dist/force/Gravity.js +1 -1
  131. package/dist/force/Gravity.js.map +1 -1
  132. package/dist/force/SolarRadiationPressure.d.ts +1 -1
  133. package/dist/force/SolarRadiationPressure.js +1 -1
  134. package/dist/force/SolarRadiationPressure.js.map +1 -1
  135. package/dist/force/ThirdBodyGravity.d.ts +1 -1
  136. package/dist/force/ThirdBodyGravity.js +1 -1
  137. package/dist/force/ThirdBodyGravity.js.map +1 -1
  138. package/dist/force/Thrust.d.ts +1 -1
  139. package/dist/force/Thrust.js +1 -1
  140. package/dist/force/Thrust.js.map +1 -1
  141. package/dist/interfaces/BaseObjectParams.d.ts +31 -0
  142. package/dist/interfaces/BaseObjectParams.js +24 -0
  143. package/dist/interfaces/BaseObjectParams.js.map +1 -0
  144. package/dist/interfaces/ClassicalElementsParams.d.ts +33 -0
  145. package/dist/interfaces/ClassicalElementsParams.js +24 -0
  146. package/dist/interfaces/ClassicalElementsParams.js.map +1 -0
  147. package/dist/interfaces/EquinoctialElementsParams.d.ts +35 -0
  148. package/dist/interfaces/EquinoctialElementsParams.js +24 -0
  149. package/dist/interfaces/EquinoctialElementsParams.js.map +1 -0
  150. package/dist/interfaces/GroundPositionParams.d.ts +28 -0
  151. package/dist/interfaces/GroundPositionParams.js +24 -0
  152. package/dist/interfaces/GroundPositionParams.js.map +1 -0
  153. package/dist/interfaces/OmmFormat.d.ts +62 -0
  154. package/dist/interfaces/OmmFormat.js +2 -0
  155. package/dist/interfaces/OmmFormat.js.map +1 -0
  156. package/dist/interfaces/OptionsParams.d.ts +3 -0
  157. package/dist/interfaces/OptionsParams.js +2 -0
  158. package/dist/interfaces/OptionsParams.js.map +1 -0
  159. package/dist/interfaces/RfSensorParams.d.ts +1 -1
  160. package/dist/interfaces/SatelliteParams.d.ts +18 -0
  161. package/dist/interfaces/SatelliteParams.js +2 -0
  162. package/dist/interfaces/SatelliteParams.js.map +1 -0
  163. package/dist/interfaces/SensorParams.d.ts +38 -0
  164. package/dist/interfaces/SensorParams.js +2 -0
  165. package/dist/interfaces/SensorParams.js.map +1 -0
  166. package/dist/interfaces/StarObjectParams.d.ts +10 -0
  167. package/dist/interfaces/StarObjectParams.js +2 -0
  168. package/dist/interfaces/StarObjectParams.js.map +1 -0
  169. package/dist/interfaces/TimeVariables.d.ts +6 -0
  170. package/dist/interfaces/TimeVariables.js +2 -0
  171. package/dist/interfaces/TimeVariables.js.map +1 -0
  172. package/dist/interfaces/index.d.ts +8 -0
  173. package/dist/interpolator/ChebyshevCoefficients.d.ts +1 -1
  174. package/dist/interpolator/ChebyshevCoefficients.js +1 -1
  175. package/dist/interpolator/ChebyshevCoefficients.js.map +1 -1
  176. package/dist/interpolator/ChebyshevInterpolator.d.ts +1 -1
  177. package/dist/interpolator/ChebyshevInterpolator.js +1 -1
  178. package/dist/interpolator/ChebyshevInterpolator.js.map +1 -1
  179. package/dist/interpolator/CubicSpline.d.ts +1 -1
  180. package/dist/interpolator/CubicSplineInterpolator.d.ts +1 -1
  181. package/dist/interpolator/CubicSplineInterpolator.js +1 -1
  182. package/dist/interpolator/CubicSplineInterpolator.js.map +1 -1
  183. package/dist/interpolator/Interpolator.d.ts +1 -1
  184. package/dist/interpolator/Interpolator.js +1 -1
  185. package/dist/interpolator/Interpolator.js.map +1 -1
  186. package/dist/interpolator/LagrangeInterpolator.d.ts +1 -1
  187. package/dist/interpolator/LagrangeInterpolator.js +1 -1
  188. package/dist/interpolator/LagrangeInterpolator.js.map +1 -1
  189. package/dist/interpolator/StateInterpolator.d.ts +1 -1
  190. package/dist/interpolator/VerletBlendInterpolator.d.ts +1 -1
  191. package/dist/interpolator/VerletBlendInterpolator.js +1 -1
  192. package/dist/interpolator/VerletBlendInterpolator.js.map +1 -1
  193. package/dist/main.d.ts +11 -3
  194. package/dist/main.js +11 -3
  195. package/dist/main.js.map +1 -1
  196. package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +1 -1
  197. package/dist/maneuver/TwoBurnOrbitTransfer.js +1 -1
  198. package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -1
  199. package/dist/maneuver/Waypoint.d.ts +1 -1
  200. package/dist/maneuver/Waypoint.js +1 -1
  201. package/dist/maneuver/Waypoint.js.map +1 -1
  202. package/dist/objects/BaseObject.d.ts +74 -0
  203. package/dist/objects/BaseObject.js +151 -0
  204. package/dist/objects/BaseObject.js.map +1 -0
  205. package/dist/objects/DetailedSatellite.d.ts +2 -1
  206. package/dist/objects/DetailedSatellite.js +2 -2
  207. package/dist/objects/DetailedSatellite.js.map +1 -1
  208. package/dist/objects/DetailedSensor.d.ts +2 -1
  209. package/dist/objects/DetailedSensor.js +1 -1
  210. package/dist/objects/DetailedSensor.js.map +1 -1
  211. package/dist/objects/GroundObject.d.ts +85 -0
  212. package/dist/objects/GroundObject.js +143 -0
  213. package/dist/objects/GroundObject.js.map +1 -0
  214. package/dist/objects/LandObject.d.ts +2 -1
  215. package/dist/objects/LandObject.js +1 -1
  216. package/dist/objects/LandObject.js.map +1 -1
  217. package/dist/objects/Marker.d.ts +1 -1
  218. package/dist/objects/Marker.js +1 -1
  219. package/dist/objects/Marker.js.map +1 -1
  220. package/dist/objects/RfSensor.d.ts +1 -2
  221. package/dist/objects/RfSensor.js +1 -2
  222. package/dist/objects/RfSensor.js.map +1 -1
  223. package/dist/objects/Satellite.d.ts +226 -0
  224. package/dist/objects/Satellite.js +443 -0
  225. package/dist/objects/Satellite.js.map +1 -0
  226. package/dist/objects/Sensor.d.ts +100 -0
  227. package/dist/objects/Sensor.js +239 -0
  228. package/dist/objects/Sensor.js.map +1 -0
  229. package/dist/objects/Star.d.ts +36 -0
  230. package/dist/objects/Star.js +59 -0
  231. package/dist/objects/Star.js.map +1 -0
  232. package/dist/objects/index.d.ts +5 -0
  233. package/dist/objects/index.js +5 -0
  234. package/dist/objects/index.js.map +1 -1
  235. package/dist/observation/Observation.d.ts +1 -1
  236. package/dist/observation/ObservationOptical.d.ts +1 -1
  237. package/dist/observation/ObservationOptical.js +1 -1
  238. package/dist/observation/ObservationOptical.js.map +1 -1
  239. package/dist/observation/ObservationRadar.d.ts +1 -1
  240. package/dist/observation/ObservationRadar.js +1 -1
  241. package/dist/observation/ObservationRadar.js.map +1 -1
  242. package/dist/observation/ObservationUtils.d.ts +3 -1
  243. package/dist/observation/ObservationUtils.js +15 -1
  244. package/dist/observation/ObservationUtils.js.map +1 -1
  245. package/dist/observation/RAE.d.ts +111 -0
  246. package/dist/observation/RAE.js +215 -0
  247. package/dist/observation/RAE.js.map +1 -0
  248. package/dist/observation/RadecGeocentric.d.ts +111 -0
  249. package/dist/observation/RadecGeocentric.js +169 -0
  250. package/dist/observation/RadecGeocentric.js.map +1 -0
  251. package/dist/observation/RadecTopocentric.d.ts +123 -0
  252. package/dist/observation/RadecTopocentric.js +196 -0
  253. package/dist/observation/RadecTopocentric.js.map +1 -0
  254. package/dist/observation/index.d.ts +26 -0
  255. package/dist/observation/index.js +27 -0
  256. package/dist/observation/index.js.map +1 -0
  257. package/dist/operations/BoxMuller.d.ts +1 -1
  258. package/dist/operations/BoxMuller.js +1 -1
  259. package/dist/operations/BoxMuller.js.map +1 -1
  260. package/dist/operations/EulerAngles.d.ts +1 -1
  261. package/dist/operations/EulerAngles.js +1 -1
  262. package/dist/operations/EulerAngles.js.map +1 -1
  263. package/dist/operations/Matrix.d.ts +170 -0
  264. package/dist/operations/Matrix.js +405 -0
  265. package/dist/operations/Matrix.js.map +1 -0
  266. package/dist/operations/Quaternion.d.ts +1 -1
  267. package/dist/operations/Quaternion.js +1 -1
  268. package/dist/operations/Quaternion.js.map +1 -1
  269. package/dist/operations/Random.d.ts +40 -0
  270. package/dist/operations/Random.js +50 -0
  271. package/dist/operations/Random.js.map +1 -0
  272. package/dist/operations/RandomGaussianSource.d.ts +1 -1
  273. package/dist/operations/RandomGaussianSource.js +1 -1
  274. package/dist/operations/RandomGaussianSource.js.map +1 -1
  275. package/dist/operations/Vector.d.ts +262 -0
  276. package/dist/operations/Vector.js +415 -0
  277. package/dist/operations/Vector.js.map +1 -0
  278. package/dist/operations/Vector3D.d.ts +86 -0
  279. package/dist/operations/Vector3D.js +241 -0
  280. package/dist/operations/Vector3D.js.map +1 -0
  281. package/dist/operations/operations.d.ts +26 -0
  282. package/dist/operations/operations.js +27 -0
  283. package/dist/operations/operations.js.map +1 -0
  284. package/dist/optimize/ChebyshevCompressor.js +1 -1
  285. package/dist/optimize/ChebyshevCompressor.js.map +1 -1
  286. package/dist/optimize/PolynomialRegression.js +1 -1
  287. package/dist/optimize/PolynomialRegression.js.map +1 -1
  288. package/dist/optimize/SimplexEntry.js +1 -1
  289. package/dist/optimize/SimplexEntry.js.map +1 -1
  290. package/dist/orbit_determination/BatchLeastSquaresOD.d.ts +1 -1
  291. package/dist/orbit_determination/BatchLeastSquaresOD.js +1 -1
  292. package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -1
  293. package/dist/orbit_determination/BatchLeastSquaresResult.d.ts +1 -1
  294. package/dist/orbit_determination/GibbsIOD.d.ts +1 -1
  295. package/dist/orbit_determination/GibbsIOD.js +1 -1
  296. package/dist/orbit_determination/GibbsIOD.js.map +1 -1
  297. package/dist/orbit_determination/GoodingIOD.d.ts +1 -1
  298. package/dist/orbit_determination/GoodingIOD.js +1 -1
  299. package/dist/orbit_determination/GoodingIOD.js.map +1 -1
  300. package/dist/orbit_determination/HerrickGibbsIOD.d.ts +1 -1
  301. package/dist/orbit_determination/HerrickGibbsIOD.js +1 -1
  302. package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -1
  303. package/dist/orbit_determination/LambertIOD.d.ts +1 -1
  304. package/dist/orbit_determination/LambertIOD.js +1 -1
  305. package/dist/orbit_determination/LambertIOD.js.map +1 -1
  306. package/dist/orbit_determination/ModifiedGoodingIOD.d.ts +1 -1
  307. package/dist/orbit_determination/ModifiedGoodingIOD.js +1 -1
  308. package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -1
  309. package/dist/orbit_determination/index.d.ts +7 -0
  310. package/dist/orbit_determination/index.js +8 -0
  311. package/dist/orbit_determination/index.js.map +1 -0
  312. package/dist/propagator/KeplerPropagator.d.ts +1 -1
  313. package/dist/propagator/KeplerPropagator.js +1 -1
  314. package/dist/propagator/KeplerPropagator.js.map +1 -1
  315. package/dist/propagator/Propagator.d.ts +1 -1
  316. package/dist/propagator/Propagator.js +1 -1
  317. package/dist/propagator/Propagator.js.map +1 -1
  318. package/dist/propagator/RkCheckpoint.d.ts +1 -1
  319. package/dist/propagator/RkResult.d.ts +1 -1
  320. package/dist/propagator/RungeKutta4Propagator.d.ts +1 -1
  321. package/dist/propagator/RungeKutta4Propagator.js +1 -1
  322. package/dist/propagator/RungeKutta4Propagator.js.map +1 -1
  323. package/dist/propagator/RungeKuttaAdaptive.d.ts +1 -1
  324. package/dist/propagator/RungeKuttaAdaptive.js +1 -1
  325. package/dist/propagator/RungeKuttaAdaptive.js.map +1 -1
  326. package/dist/propagator/Sgp4Propagator.d.ts +1 -1
  327. package/dist/sgp4/index.d.ts +23 -0
  328. package/dist/sgp4/index.js +24 -0
  329. package/dist/sgp4/index.js.map +1 -0
  330. package/dist/sgp4/sgp4-error.d.ts +22 -0
  331. package/dist/sgp4/sgp4-error.js +44 -0
  332. package/dist/sgp4/sgp4-error.js.map +1 -0
  333. package/dist/sgp4/sgp4.d.ts +102 -0
  334. package/dist/sgp4/sgp4.js +3167 -0
  335. package/dist/sgp4/sgp4.js.map +1 -0
  336. package/dist/smoothing/ExponentialSmoothing.d.ts +1 -1
  337. package/dist/time/Epoch.d.ts +44 -0
  338. package/dist/time/Epoch.js +109 -0
  339. package/dist/time/Epoch.js.map +1 -0
  340. package/dist/time/EpochGPS.d.ts +42 -0
  341. package/dist/time/EpochGPS.js +70 -0
  342. package/dist/time/EpochGPS.js.map +1 -0
  343. package/dist/time/EpochTAI.d.ts +26 -0
  344. package/dist/time/EpochTAI.js +27 -0
  345. package/dist/time/EpochTAI.js.map +1 -0
  346. package/dist/time/EpochTDB.d.ts +26 -0
  347. package/dist/time/EpochTDB.js +27 -0
  348. package/dist/time/EpochTDB.js.map +1 -0
  349. package/dist/time/EpochTT.d.ts +26 -0
  350. package/dist/time/EpochTT.js +27 -0
  351. package/dist/time/EpochTT.js.map +1 -0
  352. package/dist/time/EpochUTC.d.ts +59 -0
  353. package/dist/time/EpochUTC.js +137 -0
  354. package/dist/time/EpochUTC.js.map +1 -0
  355. package/dist/time/EpochWindow.d.ts +28 -0
  356. package/dist/time/EpochWindow.js +31 -0
  357. package/dist/time/EpochWindow.js.map +1 -0
  358. package/dist/time/TimeStamped.d.ts +43 -0
  359. package/dist/time/TimeStamped.js +46 -0
  360. package/dist/time/TimeStamped.js.map +1 -0
  361. package/dist/time/index.d.ts +30 -0
  362. package/dist/time/index.js +31 -0
  363. package/dist/time/index.js.map +1 -0
  364. package/dist/transforms/TransformCache.d.ts +27 -0
  365. package/dist/transforms/TransformCache.js +41 -0
  366. package/dist/transforms/TransformCache.js.map +1 -0
  367. package/dist/transforms/conversions.d.ts +63 -0
  368. package/dist/transforms/conversions.js +88 -0
  369. package/dist/transforms/conversions.js.map +1 -0
  370. package/dist/transforms/index.d.ts +1 -0
  371. package/dist/transforms/index.js +1 -0
  372. package/dist/transforms/index.js.map +1 -1
  373. package/dist/transforms/transforms.d.ts +166 -2
  374. package/dist/transforms/transforms.js +372 -1
  375. package/dist/transforms/transforms.js.map +1 -1
  376. package/dist/types/types.d.ts +674 -2
  377. package/dist/types/types.js +36 -0
  378. package/dist/types/types.js.map +1 -1
  379. package/dist/utils/constants.d.ts +80 -0
  380. package/dist/utils/constants.js +87 -0
  381. package/dist/utils/constants.js.map +1 -0
  382. package/dist/utils/functions.d.ts +228 -0
  383. package/dist/utils/functions.js +476 -0
  384. package/dist/utils/functions.js.map +1 -1
  385. package/dist/utils/index.d.ts +3 -1
  386. package/dist/utils/index.js +3 -1
  387. package/dist/utils/index.js.map +1 -1
  388. package/dist/utils/jacobian.d.ts +1 -1
  389. package/dist/utils/jacobian.js +1 -1
  390. package/dist/utils/jacobian.js.map +1 -1
  391. package/dist/utils/linearDistance.d.ts +8 -0
  392. package/dist/utils/linearDistance.js +10 -0
  393. package/dist/utils/linearDistance.js.map +1 -0
  394. package/package.json +4 -7
  395. package/src/body/Celestial.ts +134 -0
  396. package/src/body/Earth.ts +260 -0
  397. package/src/body/Moon.ts +556 -0
  398. package/src/body/NutationAngles.ts +40 -0
  399. package/src/body/PrecessionAngles.ts +31 -0
  400. package/src/body/Sun.ts +669 -0
  401. package/src/body/index.ts +27 -0
  402. package/src/body/suncalc.LICENSE.md +18 -0
  403. package/src/coordinate/ClassicalElements.ts +326 -0
  404. package/src/coordinate/EquinoctialElements.ts +189 -0
  405. package/src/coordinate/FormatTle.ts +214 -0
  406. package/src/coordinate/Geodetic.ts +186 -0
  407. package/src/coordinate/Hill.ts +1 -1
  408. package/src/coordinate/ITRF.ts +146 -0
  409. package/src/coordinate/J2000.ts +130 -0
  410. package/src/coordinate/RIC.ts +87 -0
  411. package/src/coordinate/RelativeState.ts +101 -0
  412. package/src/coordinate/StateVector.ts +122 -0
  413. package/src/coordinate/TEME.ts +97 -0
  414. package/src/coordinate/Tle.ts +1024 -0
  415. package/src/coordinate/index.ts +12 -0
  416. package/src/coordinate/tle-format-data.ts +47 -0
  417. package/src/covariance/CovarianceSample.ts +1 -1
  418. package/src/covariance/StateCovariance.ts +1 -1
  419. package/src/data/DataHandler.ts +88 -0
  420. package/src/data/values/Egm96Data.ts +75 -0
  421. package/src/data/values/HpAtmosphereData.ts +76 -0
  422. package/src/data/values/HpAtmosphereResult.ts +41 -0
  423. package/src/data/values/Iau1980Data.ts +63 -0
  424. package/src/data/values/LeapSecond.ts +37 -0
  425. package/src/data/values/LeapSecondData.ts +113 -0
  426. package/src/data/values/egm96.ts +728 -0
  427. package/src/data/values/hpAtmosphere.ts +79 -0
  428. package/src/data/values/iau1980.ts +32 -0
  429. package/src/enums/AngularDiameterMethod.ts +28 -0
  430. package/src/enums/AngularDistanceMethod.ts +28 -0
  431. package/src/enums/OrbitRegime.ts +31 -0
  432. package/src/enums/PassType.ts +29 -0
  433. package/src/enums/Sgp4OpsMode.ts +27 -0
  434. package/src/enums/index.ts +5 -0
  435. package/src/force/AtmosphericDrag.ts +1 -1
  436. package/src/force/EarthGravity.ts +1 -1
  437. package/src/force/Force.ts +1 -1
  438. package/src/force/ForceModel.ts +1 -1
  439. package/src/force/Gravity.ts +1 -1
  440. package/src/force/SolarRadiationPressure.ts +1 -1
  441. package/src/force/ThirdBodyGravity.ts +1 -1
  442. package/src/force/Thrust.ts +1 -1
  443. package/src/interfaces/BaseObjectParams.ts +33 -0
  444. package/src/interfaces/ClassicalElementsParams.ts +35 -0
  445. package/src/interfaces/EquinoctialElementsParams.ts +37 -0
  446. package/src/interfaces/GroundPositionParams.ts +30 -0
  447. package/src/interfaces/OmmFormat.ts +63 -0
  448. package/src/interfaces/OptionsParams.ts +3 -0
  449. package/src/interfaces/RfSensorParams.ts +1 -1
  450. package/src/interfaces/SatelliteParams.ts +20 -0
  451. package/src/interfaces/SensorParams.ts +39 -0
  452. package/src/interfaces/StarObjectParams.ts +11 -0
  453. package/src/interfaces/TimeVariables.ts +7 -0
  454. package/src/interfaces/index.ts +8 -0
  455. package/src/interpolator/ChebyshevCoefficients.ts +1 -1
  456. package/src/interpolator/ChebyshevInterpolator.ts +1 -1
  457. package/src/interpolator/CubicSpline.ts +1 -1
  458. package/src/interpolator/CubicSplineInterpolator.ts +1 -1
  459. package/src/interpolator/Interpolator.ts +1 -1
  460. package/src/interpolator/LagrangeInterpolator.ts +1 -1
  461. package/src/interpolator/StateInterpolator.ts +1 -1
  462. package/src/interpolator/VerletBlendInterpolator.ts +1 -1
  463. package/src/main.ts +11 -3
  464. package/src/maneuver/TwoBurnOrbitTransfer.ts +1 -1
  465. package/src/maneuver/Waypoint.ts +1 -1
  466. package/src/objects/BaseObject.ts +171 -0
  467. package/src/objects/DetailedSatellite.ts +3 -3
  468. package/src/objects/DetailedSensor.ts +2 -1
  469. package/src/objects/GroundObject.ts +176 -0
  470. package/src/objects/LandObject.ts +2 -1
  471. package/src/objects/Marker.ts +1 -1
  472. package/src/objects/RfSensor.ts +1 -2
  473. package/src/objects/Satellite.ts +552 -0
  474. package/src/objects/Sensor.ts +280 -0
  475. package/src/objects/Star.ts +96 -0
  476. package/src/objects/index.ts +5 -0
  477. package/src/observation/Observation.ts +1 -1
  478. package/src/observation/ObservationOptical.ts +1 -1
  479. package/src/observation/ObservationRadar.ts +1 -1
  480. package/src/observation/ObservationUtils.ts +30 -1
  481. package/src/observation/RAE.ts +262 -0
  482. package/src/observation/RadecGeocentric.ts +206 -0
  483. package/src/observation/RadecTopocentric.ts +241 -0
  484. package/src/observation/index.ts +27 -0
  485. package/src/operations/BoxMuller.ts +1 -1
  486. package/src/operations/EulerAngles.ts +1 -1
  487. package/src/operations/Matrix.ts +473 -0
  488. package/src/operations/Quaternion.ts +1 -1
  489. package/src/operations/Random.ts +54 -0
  490. package/src/operations/RandomGaussianSource.ts +1 -1
  491. package/src/operations/Vector.ts +484 -0
  492. package/src/operations/Vector3D.ts +289 -0
  493. package/src/operations/operations.ts +27 -0
  494. package/src/optimize/ChebyshevCompressor.ts +1 -1
  495. package/src/optimize/PolynomialRegression.ts +1 -1
  496. package/src/optimize/SimplexEntry.ts +1 -1
  497. package/src/orbit_determination/BatchLeastSquaresOD.ts +1 -1
  498. package/src/orbit_determination/BatchLeastSquaresResult.ts +1 -1
  499. package/src/orbit_determination/GibbsIOD.ts +3 -1
  500. package/src/orbit_determination/GoodingIOD.ts +1 -1
  501. package/src/orbit_determination/HerrickGibbsIOD.ts +1 -1
  502. package/src/orbit_determination/LambertIOD.ts +1 -1
  503. package/src/orbit_determination/ModifiedGoodingIOD.ts +1 -1
  504. package/src/orbit_determination/index.ts +7 -0
  505. package/src/propagator/KeplerPropagator.ts +1 -1
  506. package/src/propagator/Propagator.ts +1 -1
  507. package/src/propagator/RkCheckpoint.ts +1 -1
  508. package/src/propagator/RkResult.ts +1 -1
  509. package/src/propagator/RungeKutta4Propagator.ts +1 -1
  510. package/src/propagator/RungeKuttaAdaptive.ts +1 -1
  511. package/src/propagator/Sgp4Propagator.ts +1 -1
  512. package/src/sgp4/index.ts +24 -0
  513. package/src/sgp4/sgp4-error.ts +53 -0
  514. package/src/sgp4/sgp4.LICENSE.md +28 -0
  515. package/src/sgp4/sgp4.ts +3986 -0
  516. package/src/smoothing/ExponentialSmoothing.ts +1 -1
  517. package/src/time/Epoch.ts +128 -0
  518. package/src/time/EpochGPS.ts +76 -0
  519. package/src/time/EpochTAI.ts +27 -0
  520. package/src/time/EpochTDB.ts +27 -0
  521. package/src/time/EpochTT.ts +27 -0
  522. package/src/time/EpochUTC.ts +188 -0
  523. package/src/time/EpochWindow.ts +33 -0
  524. package/src/time/TimeStamped.ts +50 -0
  525. package/src/time/index.ts +31 -0
  526. package/src/transforms/TransformCache.ts +46 -0
  527. package/src/transforms/conversions.ts +98 -0
  528. package/src/transforms/index.ts +1 -0
  529. package/src/transforms/transforms.ts +478 -2
  530. package/src/types/types.ts +721 -2
  531. package/src/utils/constants.ts +113 -0
  532. package/src/utils/functions.ts +562 -0
  533. package/src/utils/index.ts +3 -1
  534. package/src/utils/jacobian.ts +1 -1
  535. package/src/utils/linearDistance.ts +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Satellite.js","sourceRoot":"","sources":["../../src/objects/Satellite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAG3C,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAkBzE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;IACvC,MAAM,CAAc;IACpB,YAAY,CAAW;IACvB,KAAK,CAAU;IACf,YAAY,CAAU;IACtB,QAAQ,CAAU;IAClB,SAAS,CAAU;IACnB,WAAW,CAAW;IACtB,OAAO,CAAU;IACjB,WAAW,CAAW;IACtB,UAAU,CAAU;IACpB,UAAU,CAAU;IACpB,UAAU,CAAU;IACpB,OAAO,CAAgB;IACvB,OAAO,CAAc;IACrB,MAAM,CAAW;IACjB,cAAc,CAAW;IACzB,MAAM,CAAmB;IACzB,yDAAyD;IACzD,MAAM,CAAU;IAChB,0DAA0D;IAC1D,OAAO,CAAU;IACjB,oDAAoD;IACpD,OAAO,CAAU;IACjB,IAAI,CAAY;IAChB,IAAI,CAAY;IAChB,oDAAoD;IACpD,aAAa,CAAc;IAC3B,oDAAoD;IACpD,aAAa,CAAc;IAE3B,YAAY,IAAqB,EAAE,OAAuB;QACxD,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI;YACxB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAAC,IAAc,EAAE,IAAc,EAAE,MAAe;QAC7E,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAe,CAAC;QAChF,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAe,CAAC;QAChG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAe,CAAC;QAClF,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAe,CAAC;QACnF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEO,uBAAuB,CAAC,GAAkB;QAChD,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5G,MAAM,SAAS,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QAE3E,MAAM,SAAS,GAAwB;YACrC,GAAG,GAAG;YACN,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBACjB,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;gBACf,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;gBAChB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAClB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAClB,GAAG,EAAE,SAAS;aACf;SACF,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAY,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,cAAc,CAAY,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAY,CAAC;QACjE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAY,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,UAAqB,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAe,CAAC;QAChF,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAe,CAAC;QAChG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAe,CAAC;QAClF,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAe,CAAC;QACnF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACM,WAAW;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACM,QAAQ;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAuB;QAC1C,IACE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACf,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAClB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAClB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAChB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,QAAe,EAAE,cAAwD,MAAM;QACxF,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,IAAc,EAAE,IAAc,EAAE,MAAe;QACrD,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACH,EAAE,CAAC,QAAsB,EAAE,OAAa,IAAI,IAAI,EAAE;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAY,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAsB,EAAE,OAAa,IAAI,IAAI,EAAE;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAe,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QAEvC,OAAO,IAAI,GAAG,CACZ,KAAK,EACL,GAAG,CAAC,GAAG,EACP,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAY,EAC7B,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAY,EAC7B,SAAS,EACT,WAAW,EACX,aAAa,CACd,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,OAAa,IAAI,IAAI,EAAE;QACzB,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,IAAW,EAAE,CAAU,EAAE,IAAgC;QAC3D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAE3E,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAE1C,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,EAAY,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,OAAa,IAAI,IAAI,EAAE;QAC7B,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAElE,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAE1C,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,EAAE,CAAC,QAAmB,CAAC;YACjC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAwC,CAAC;YAEtD,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAe,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,EAAE,CAAC,QAAsB,EAAE,OAAa,IAAI,IAAI,EAAE;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAY,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,IAAW,EAAE,CAAU,EAAE,IAAgC;QAE3D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAEpE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YACd,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE/B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,OAAa,IAAI,IAAI,EAAE;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAa,IAAI,IAAI,EAAE;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAoB,EAAE,OAAa,IAAI,IAAI,EAAE;QACjD,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,OAAa,IAAI,IAAI,EAAE;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC;IAClD,CAAC;IAED;;;;;;;;OAQG;IACH,GAAG,CAAC,QAAsB,EAAE,IAAW,EAAE,CAAU,EAAE,IAAgC;QAEnF,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACpB,IAAI,KAAK,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAExC,OAAO,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CAAC,QAAsB,EAAE,OAAa,IAAI,IAAI,EAAE;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,GAAG,CAAC,GAAG,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,IAAY,EAAE,QAAsB,EAAE,IAAW;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,QAAsB,EAAE,IAAW;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,sBAAsB,CACnC,IAAU,EAAE,MAAwB,EAAE,CAAU,EAAE,IAAgC;QAElF,CAAC,KAAK,IAAI,CACR,IAAI,CAAC,cAAc,EAAE,EACrB,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EACtB,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,EAAE,CACrB,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,oBAAoB,CAAC;QACrD,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @author Theodore Kruczek.
3
+ * @license MIT
4
+ * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
+ * hereby granted, free of charge, to any person obtaining a copy of this
6
+ * software and associated documentation files (the "Software"), to deal in the
7
+ * Software without restriction, including without limitation the rights to use,
8
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ * the Software, and to permit persons to whom the Software is furnished to do
10
+ * so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in
13
+ * all copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ import { SensorParams } from '../interfaces/SensorParams.js';
24
+ import { Degrees, Kilometers, Lookangle, RaeVec3 } from '../types/types.js';
25
+ import { GroundObject } from './GroundObject.js';
26
+ import { Satellite } from './Satellite.js';
27
+ import { J2000 } from '../main.js';
28
+ export declare class Sensor extends GroundObject {
29
+ minRng: Kilometers;
30
+ minAz: Degrees;
31
+ minEl: Degrees;
32
+ maxRng: Kilometers;
33
+ maxAz: Degrees;
34
+ maxEl: Degrees;
35
+ minRng2?: Kilometers;
36
+ minAz2?: Degrees;
37
+ minEl2?: Degrees;
38
+ maxRng2?: Kilometers;
39
+ maxAz2?: Degrees;
40
+ maxEl2?: Degrees;
41
+ constructor(info: SensorParams);
42
+ /**
43
+ * Checks if the object is a sensor.
44
+ * @returns True if the object is a sensor, false otherwise.
45
+ */
46
+ isSensor(): boolean;
47
+ calculatePasses(planningInterval: number, sat: Satellite, date?: Date): Lookangle[];
48
+ /**
49
+ * Checks if the given RAE vector is within the field of view of the sensor.
50
+ * TODO: #8 This doesn't account for secondary sensor FOV
51
+ * @param rae - The RAE vector to check.
52
+ * @returns True if the RAE vector is within the field of view, false otherwise.
53
+ */
54
+ isRaeInFov(rae: RaeVec3<Kilometers, Degrees>): boolean;
55
+ /**
56
+ * Checks if a satellite is in the field of view (FOV) of the sensor.
57
+ * @param sat - The satellite to check.
58
+ * @param date - The date to use for the calculation. Defaults to the current date.
59
+ * @returns A boolean indicating whether the satellite is in the FOV.
60
+ */
61
+ isSatInFov(sat: Satellite, date?: Date): boolean;
62
+ /**
63
+ * Checks if the sensor is in deep space.
64
+ * @returns True if the sensor is in deep space, false otherwise.
65
+ */
66
+ isDeepSpace(): boolean;
67
+ /**
68
+ * Checks if the sensor is near Earth.
69
+ * @returns True if the sensor is near Earth, false otherwise.
70
+ */
71
+ isNearEarth(): boolean;
72
+ toJ2000(date?: Date): J2000;
73
+ /**
74
+ * Returns the pass type based on the current and previous visibility states.
75
+ * @param isInView - Indicates if the object is currently in view.
76
+ * @param isInViewLast - Indicates if the object was in view in the previous state.
77
+ * @returns The pass type.
78
+ */
79
+ private static getPassType_;
80
+ /**
81
+ * Validates the field of view (FOV) parameters of the sensor.
82
+ * @param info - The sensor parameters.
83
+ */
84
+ private validateFov_;
85
+ /**
86
+ * Validates the field of view parameters for the sensor.
87
+ * @param info - The sensor parameters.
88
+ */
89
+ private validateFov2_;
90
+ /**
91
+ * Validates the input data for the sensor.
92
+ * @param info - The sensor parameters.
93
+ */
94
+ private validateSensorInputData_;
95
+ /**
96
+ * Validates the latitude, longitude, and altitude of a sensor.
97
+ * @param info - The sensor parameters containing the latitude, longitude, and altitude.
98
+ */
99
+ private validateLla_;
100
+ }
@@ -0,0 +1,239 @@
1
+ /**
2
+ * @author Theodore Kruczek.
3
+ * @license MIT
4
+ * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
+ * hereby granted, free of charge, to any person obtaining a copy of this
6
+ * software and associated documentation files (the "Software"), to deal in the
7
+ * Software without restriction, including without limitation the rights to use,
8
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ * the Software, and to permit persons to whom the Software is furnished to do
10
+ * so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in
13
+ * all copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ import { PassType } from '../enums/PassType.js';
24
+ import { SpaceObjectType } from '../types/types.js';
25
+ import { GroundObject } from './GroundObject.js';
26
+ import { calcGmst, lla2eci, J2000, Vector3D, EpochUTC } from '../main.js';
27
+ export class Sensor extends GroundObject {
28
+ minRng;
29
+ minAz;
30
+ minEl;
31
+ maxRng;
32
+ maxAz;
33
+ maxEl;
34
+ minRng2;
35
+ minAz2;
36
+ minEl2;
37
+ maxRng2;
38
+ maxAz2;
39
+ maxEl2;
40
+ constructor(info) {
41
+ // If there is a sensor type verify it is valid
42
+ if (info.type) {
43
+ switch (info.type) {
44
+ case SpaceObjectType.OPTICAL:
45
+ case SpaceObjectType.MECHANICAL:
46
+ case SpaceObjectType.PHASED_ARRAY_RADAR:
47
+ case SpaceObjectType.OBSERVER:
48
+ case SpaceObjectType.BISTATIC_RADIO_TELESCOPE:
49
+ case SpaceObjectType.SHORT_TERM_FENCE:
50
+ break;
51
+ default:
52
+ throw new Error('Invalid sensor type');
53
+ }
54
+ }
55
+ super(info);
56
+ this.validateSensorInputData_(info);
57
+ this.minRng = info.minRng;
58
+ this.minAz = info.minAz;
59
+ this.minEl = info.minEl;
60
+ this.maxRng = info.maxRng;
61
+ this.maxAz = info.maxAz;
62
+ this.maxEl = info.maxEl;
63
+ this.minRng2 = info.minRng2;
64
+ this.minAz2 = info.minAz2;
65
+ this.minEl2 = info.minEl2;
66
+ this.maxRng2 = info.maxRng2;
67
+ this.maxAz2 = info.maxAz2;
68
+ this.maxEl2 = info.maxEl2;
69
+ }
70
+ /**
71
+ * Checks if the object is a sensor.
72
+ * @returns True if the object is a sensor, false otherwise.
73
+ */
74
+ isSensor() {
75
+ return true;
76
+ }
77
+ calculatePasses(planningInterval, sat, date = new Date()) {
78
+ let isInViewLast = false;
79
+ let maxElThisPass = 0;
80
+ const msnPlanPasses = [];
81
+ const startTime = date.getTime();
82
+ for (let timeOffset = 0; timeOffset < planningInterval; timeOffset++) {
83
+ const curTime = new Date(startTime + timeOffset * 1000);
84
+ const rae = this.rae(sat, curTime);
85
+ if (!rae) {
86
+ continue;
87
+ }
88
+ const isInView = this.isRaeInFov(rae);
89
+ if (timeOffset === 0) {
90
+ // Propagate Backwards to get the previous pass
91
+ const oldRae = this.rae(sat, new Date(date.getTime() - 1 * 1000));
92
+ if (!oldRae) {
93
+ continue;
94
+ }
95
+ isInViewLast = this.isRaeInFov(oldRae);
96
+ }
97
+ const type = Sensor.getPassType_(isInView, isInViewLast);
98
+ maxElThisPass = Math.max(maxElThisPass, rae.el);
99
+ if (type === PassType.ENTER || type === PassType.EXIT) {
100
+ const pass = {
101
+ type,
102
+ time: curTime,
103
+ az: rae.az,
104
+ el: rae.el,
105
+ rng: rae.rng,
106
+ };
107
+ // Only set maxEl for EXIT passes
108
+ if (type === PassType.EXIT) {
109
+ pass.maxElPass = maxElThisPass;
110
+ }
111
+ msnPlanPasses.push(pass);
112
+ maxElThisPass = 0;
113
+ }
114
+ isInViewLast = isInView;
115
+ }
116
+ return msnPlanPasses;
117
+ }
118
+ /**
119
+ * Checks if the given RAE vector is within the field of view of the sensor.
120
+ * TODO: #8 This doesn't account for secondary sensor FOV
121
+ * @param rae - The RAE vector to check.
122
+ * @returns True if the RAE vector is within the field of view, false otherwise.
123
+ */
124
+ isRaeInFov(rae) {
125
+ if (rae.el < this.minEl || rae.el > this.maxEl) {
126
+ return false;
127
+ }
128
+ if (rae.rng < this.minRng || rae.rng > this.maxRng) {
129
+ return false;
130
+ }
131
+ if (this.minAz > this.maxAz) {
132
+ // North Facing Sensors
133
+ if (rae.az < this.minAz && rae.az > this.maxAz) {
134
+ return false;
135
+ }
136
+ // Normal Facing Sensors
137
+ }
138
+ else if (rae.az < this.minAz || rae.az > this.maxAz) {
139
+ return false;
140
+ }
141
+ return true;
142
+ }
143
+ /**
144
+ * Checks if a satellite is in the field of view (FOV) of the sensor.
145
+ * @param sat - The satellite to check.
146
+ * @param date - The date to use for the calculation. Defaults to the current date.
147
+ * @returns A boolean indicating whether the satellite is in the FOV.
148
+ */
149
+ isSatInFov(sat, date = new Date()) {
150
+ const rae = this.rae(sat, date);
151
+ if (!rae) {
152
+ return false;
153
+ }
154
+ return this.isRaeInFov(rae);
155
+ }
156
+ /**
157
+ * Checks if the sensor is in deep space.
158
+ * @returns True if the sensor is in deep space, false otherwise.
159
+ */
160
+ isDeepSpace() {
161
+ return this.maxRng > 6000;
162
+ }
163
+ /**
164
+ * Checks if the sensor is near Earth.
165
+ * @returns True if the sensor is near Earth, false otherwise.
166
+ */
167
+ isNearEarth() {
168
+ return this.maxRng <= 6000;
169
+ }
170
+ toJ2000(date = new Date()) {
171
+ const gmst = calcGmst(date).gmst;
172
+ const position = lla2eci(this.llaRad(), gmst);
173
+ return new J2000(EpochUTC.fromDateTime(date), new Vector3D(position.x, position.y, position.z), new Vector3D(0, 0, 0));
174
+ }
175
+ /**
176
+ * Returns the pass type based on the current and previous visibility states.
177
+ * @param isInView - Indicates if the object is currently in view.
178
+ * @param isInViewLast - Indicates if the object was in view in the previous state.
179
+ * @returns The pass type.
180
+ */
181
+ static getPassType_(isInView, isInViewLast) {
182
+ let type = PassType.OUT_OF_VIEW;
183
+ if (isInView && !isInViewLast) {
184
+ type = PassType.ENTER;
185
+ }
186
+ else if (!isInView && isInViewLast) {
187
+ type = PassType.EXIT;
188
+ }
189
+ else if (isInView && isInViewLast) {
190
+ type = PassType.IN_VIEW;
191
+ }
192
+ return type;
193
+ }
194
+ /**
195
+ * Validates the field of view (FOV) parameters of the sensor.
196
+ * @param info - The sensor parameters.
197
+ */
198
+ validateFov_(info) {
199
+ this.validateParameter(info.maxAz, 0, 360, 'Invalid maximum azimuth - must be between 0 and 360');
200
+ this.validateParameter(info.minAz, 0, 360, 'Invalid maximum azimuth - must be between 0 and 360');
201
+ this.validateParameter(info.maxEl, -15, 180, 'Invalid maximum elevation - must be between 0 and 180');
202
+ this.validateParameter(info.minEl, -15, 90, 'Invalid minimum elevation - must be between 0 and 90');
203
+ this.validateParameter(info.maxRng, 0, null, 'Invalid maximum range - must be greater than 0');
204
+ this.validateParameter(info.minRng, 0, null, 'Invalid minimum range - must be greater than 0');
205
+ }
206
+ /**
207
+ * Validates the field of view parameters for the sensor.
208
+ * @param info - The sensor parameters.
209
+ */
210
+ validateFov2_(info) {
211
+ this.validateParameter(info.maxAz2, 0, 360, 'Invalid maximum azimuth2 - must be between 0 and 360');
212
+ this.validateParameter(info.minAz2, 0, 360, 'Invalid maximum azimuth2 - must be between 0 and 360');
213
+ this.validateParameter(info.maxEl2, -15, 180, 'Invalid maximum elevation2 - must be between 0 and 180');
214
+ this.validateParameter(info.minEl2, -15, 90, 'Invalid minimum elevation2 - must be between 0 and 90');
215
+ this.validateParameter(info.maxRng2, 0, null, 'Invalid maximum range2 - must be greater than 0');
216
+ this.validateParameter(info.minRng2, 0, null, 'Invalid minimum range2 - must be greater than 0');
217
+ }
218
+ /**
219
+ * Validates the input data for the sensor.
220
+ * @param info - The sensor parameters.
221
+ */
222
+ validateSensorInputData_(info) {
223
+ this.validateLla_(info);
224
+ this.validateFov_(info);
225
+ if (info.minAz2 || info.maxAz2 || info.minEl2 || info.maxEl2 || info.minRng2 || info.maxRng2) {
226
+ this.validateFov2_(info);
227
+ }
228
+ }
229
+ /**
230
+ * Validates the latitude, longitude, and altitude of a sensor.
231
+ * @param info - The sensor parameters containing the latitude, longitude, and altitude.
232
+ */
233
+ validateLla_(info) {
234
+ this.validateParameter(info.lat, -90, 90, 'Invalid latitude - must be between -90 and 90');
235
+ this.validateParameter(info.lon, -180, 180, 'Invalid longitude - must be between -180 and 180');
236
+ this.validateParameter(info.alt, 0, null, 'Invalid altitude - must be greater than 0');
237
+ }
238
+ }
239
+ //# sourceMappingURL=Sensor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sensor.js","sourceRoot":"","sources":["../../src/objects/Sensor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @author Theodore Kruczek.
3
+ * @license MIT
4
+ * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
+ * hereby granted, free of charge, to any person obtaining a copy of this
6
+ * software and associated documentation files (the "Software"), to deal in the
7
+ * Software without restriction, including without limitation the rights to use,
8
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ * the Software, and to permit persons to whom the Software is furnished to do
10
+ * so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in
13
+ * all copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ import { Degrees, EciVec3, Kilometers, LlaVec3, Radians, RaeVec3, StarObjectParams } from '../main.js';
24
+ import { BaseObject } from './BaseObject.js';
25
+ export declare class Star extends BaseObject {
26
+ ra: Radians;
27
+ dec: Radians;
28
+ bf: string;
29
+ h: string;
30
+ pname: string;
31
+ vmag?: number;
32
+ constructor(info: StarObjectParams);
33
+ eci(lla?: LlaVec3, date?: Date): EciVec3;
34
+ rae(lla?: LlaVec3<Degrees, Kilometers>, date?: Date): RaeVec3;
35
+ private static calculateTimeVariables_;
36
+ }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @author Theodore Kruczek.
3
+ * @license MIT
4
+ * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
+ * hereby granted, free of charge, to any person obtaining a copy of this
6
+ * software and associated documentation files (the "Software"), to deal in the
7
+ * Software without restriction, including without limitation the rights to use,
8
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ * the Software, and to permit persons to whom the Software is furnished to do
10
+ * so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in
13
+ * all copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ import { Celestial, ecf2eci, jday, MILLISECONDS_TO_DAYS, rae2ecf, Sgp4, SpaceObjectType, } from '../main.js';
24
+ import { BaseObject } from './BaseObject.js';
25
+ export class Star extends BaseObject {
26
+ ra;
27
+ dec;
28
+ bf;
29
+ h;
30
+ pname;
31
+ vmag;
32
+ constructor(info) {
33
+ super(info);
34
+ this.type = SpaceObjectType.STAR;
35
+ this.ra = info.ra;
36
+ this.dec = info.dec;
37
+ this.pname = info.pname ?? '';
38
+ this.bf = info.bf ?? '';
39
+ this.h = info.h ?? '';
40
+ this.vmag = info.vmag;
41
+ }
42
+ eci(lla = { lat: 180, lon: 0, alt: 0 }, date = new Date()) {
43
+ const rae = this.rae(lla, date);
44
+ const { gmst } = Star.calculateTimeVariables_(date);
45
+ // Arbitrary distance to enable using ECI coordinates
46
+ return ecf2eci(rae2ecf(rae, { lat: 0, lon: 0, alt: 0 }), gmst);
47
+ }
48
+ rae(lla = { lat: 180, lon: 0, alt: 0 }, date = new Date()) {
49
+ const starPos = Celestial.azEl(date, lla.lat, lla.lon, this.ra, this.dec);
50
+ return { az: starPos.az, el: starPos.el, rng: 250000 };
51
+ }
52
+ static calculateTimeVariables_(date) {
53
+ const j = jday(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()) +
54
+ date.getUTCMilliseconds() * MILLISECONDS_TO_DAYS;
55
+ const gmst = Sgp4.gstime(j);
56
+ return { gmst, j };
57
+ }
58
+ }
59
+ //# sourceMappingURL=Star.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Star.js","sourceRoot":"","sources":["../../src/objects/Star.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,SAAS,EAET,OAAO,EAGP,IAAI,EAGJ,oBAAoB,EAEpB,OAAO,EAEP,IAAI,EACJ,eAAe,GAEhB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,OAAO,IAAK,SAAQ,UAAU;IAClC,EAAE,CAAU;IACZ,GAAG,CAAU;IACb,EAAE,CAAS;IACX,CAAC,CAAS;IACV,KAAK,CAAS;IACd,IAAI,CAAU;IAEd,YAAY,IAAsB;QAChC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAEjC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,GAAG,CAAC,MAAe,EAAE,GAAG,EAAW,GAAG,EAAE,GAAG,EAAW,CAAC,EAAE,GAAG,EAAc,CAAC,EAAE,EAAE,OAAa,IAAI,IAAI,EAAE;QACpG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAEpD,qDAAqD;QACrD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAW,CAAC,EAAE,GAAG,EAAW,CAAC,EAAE,GAAG,EAAc,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/F,CAAC;IAED,GAAG,CACD,MAAoC,EAAE,GAAG,EAAW,GAAG,EAAE,GAAG,EAAW,CAAC,EAAE,GAAG,EAAc,CAAC,EAAE,EAC9F,OAAa,IAAI,IAAI,EAAE;QAEvB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1E,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAc,MAAM,EAAE,CAAC;IACrE,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,IAAU;QAC/C,MAAM,CAAC,GACL,IAAI,CACF,IAAI,CAAC,cAAc,EAAE,EACrB,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EACtB,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,EAAE,CACrB;YACD,IAAI,CAAC,kBAAkB,EAAE,GAAG,oBAAoB,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5B,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrB,CAAC;CACF"}
@@ -1,3 +1,8 @@
1
+ export { BaseObject } from './BaseObject.js';
2
+ export { GroundObject } from './GroundObject.js';
3
+ export { Satellite } from './Satellite.js';
4
+ export { Sensor } from './Sensor.js';
5
+ export { Star } from './Star.js';
1
6
  export { DetailedSatellite } from './DetailedSatellite.js';
2
7
  export { DetailedSensor } from './DetailedSensor.js';
3
8
  export { LandObject } from './LandObject.js';
@@ -1,3 +1,8 @@
1
+ export { BaseObject } from './BaseObject.js';
2
+ export { GroundObject } from './GroundObject.js';
3
+ export { Satellite } from './Satellite.js';
4
+ export { Sensor } from './Sensor.js';
5
+ export { Star } from './Star.js';
1
6
  export { DetailedSatellite } from './DetailedSatellite.js';
2
7
  export { DetailedSensor } from './DetailedSensor.js';
3
8
  export { LandObject } from './LandObject.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/objects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/objects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { EpochUTC, J2000, Matrix, Vector, Vector3D } from 'ootk-core';
17
+ import { EpochUTC, J2000, Matrix, Vector, Vector3D } from '../main.js';
18
18
  import { Propagator } from '../propagator/Propagator.js';
19
19
  import { RandomGaussianSource } from './../operations/RandomGaussianSource.js';
20
20
  import { PropagatorPairs } from './PropagatorPairs.js';
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { EpochUTC, J2000, Matrix, RadecTopocentric, Radians, Vector, Vector3D } from 'ootk-core';
17
+ import { EpochUTC, J2000, Matrix, RadecTopocentric, Radians, Vector, Vector3D } from '../main.js';
18
18
  import { RandomGaussianSource } from '../operations/RandomGaussianSource.js';
19
19
  import { Propagator } from '../propagator/Propagator.js';
20
20
  import { Observation } from './Observation.js';
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { array2d, DEG2RAD, J2000, Matrix, RadecTopocentric, RIC, Vector, Vector3D, } from 'ootk-core';
17
+ import { array2d, DEG2RAD, J2000, Matrix, RadecTopocentric, RIC, Vector, Vector3D, } from '../main.js';
18
18
  import { Observation } from './Observation.js';
19
19
  import { normalizeAngle, observationDerivative, observationNoiseFromSigmas } from './ObservationUtils.js';
20
20
  // / Optical observation data.
@@ -1 +1 @@
1
- {"version":3,"file":"ObservationOptical.js","sourceRoot":"","sources":["../../src/observation/ObservationOptical.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ObservationOptical.js","sourceRoot":"","sources":["../../src/observation/ObservationOptical.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { EpochUTC, J2000, Kilometers, Matrix, Radians, RAE, Vector, Vector3D } from 'ootk-core';
17
+ import { EpochUTC, J2000, Kilometers, Matrix, Radians, RAE, Vector, Vector3D } from '../main.js';
18
18
  import { RandomGaussianSource } from '../operations/RandomGaussianSource.js';
19
19
  import { Propagator } from '../propagator/Propagator.js';
20
20
  import { Observation } from './Observation.js';
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { array2d, DEG2RAD, J2000, Matrix, RAE, RIC, Vector, Vector3D, } from 'ootk-core';
17
+ import { array2d, DEG2RAD, J2000, Matrix, RAE, RIC, Vector, Vector3D, } from '../main.js';
18
18
  import { Observation } from './Observation.js';
19
19
  import { normalizeAngle, observationDerivative, observationNoiseFromSigmas } from './ObservationUtils.js';
20
20
  // / Radar observation data.
@@ -1 +1 @@
1
- {"version":3,"file":"ObservationRadar.js","sourceRoot":"","sources":["../../src/observation/ObservationRadar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ObservationRadar.js","sourceRoot":"","sources":["../../src/observation/ObservationRadar.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,9 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { Matrix } from 'ootk-core';
17
+ import { Radians, Kilometers, Vector3D, RadiansPerSecond, KilometersPerSecond, Matrix } from '../main.js';
18
+ export declare const radecToPosition: (ra: Radians, dec: Radians, r: Kilometers) => Vector3D<Kilometers>;
19
+ export declare const radecToVelocity: (ra: Radians, dec: Radians, r: Kilometers, raDot: RadiansPerSecond, decDot: RadiansPerSecond, rDot: KilometersPerSecond) => Vector3D<KilometersPerSecond>;
18
20
  export declare const normalizeAngle: (a: number, b: number) => number;
19
21
  export declare const observationDerivative: (xh: number, xl: number, step: number, isAngle?: boolean) => number;
20
22
  export declare const observationNoiseFromSigmas: (sigmas: number[]) => Matrix;
@@ -14,7 +14,21 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { Matrix } from 'ootk-core';
17
+ import { Vector3D, Matrix } from '../main.js';
18
+ export const radecToPosition = (ra, dec, r) => {
19
+ const ca = Math.cos(ra);
20
+ const sa = Math.sin(ra);
21
+ const cd = Math.cos(dec);
22
+ const sd = Math.sin(dec);
23
+ return new Vector3D(r * cd * ca, r * cd * sa, r * sd);
24
+ };
25
+ export const radecToVelocity = (ra, dec, r, raDot, decDot, rDot) => {
26
+ const ca = Math.cos(ra);
27
+ const sa = Math.sin(ra);
28
+ const cd = Math.cos(dec);
29
+ const sd = Math.sin(dec);
30
+ return new Vector3D(rDot * cd * ca - r * sd * ca * decDot - r * cd * sa * raDot, rDot * cd * sa - r * sd * sa * decDot + r * cd * ca * raDot, rDot * sd + r * cd * decDot);
31
+ };
18
32
  export const normalizeAngle = (a, b) => {
19
33
  const x = a - b;
20
34
  return Math.atan2(Math.sin(x), Math.cos(x));