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.
- package/README.md +0 -15
- package/dist/body/Celestial.d.ts +96 -0
- package/dist/body/Celestial.js +124 -0
- package/dist/body/Celestial.js.map +1 -0
- package/dist/body/Earth.d.ts +68 -0
- package/dist/body/Earth.js +198 -0
- package/dist/body/Earth.js.map +1 -0
- package/dist/body/Moon.d.ts +137 -0
- package/dist/body/Moon.js +464 -0
- package/dist/body/Moon.js.map +1 -0
- package/dist/body/NutationAngles.d.ts +38 -0
- package/dist/body/NutationAngles.js +24 -0
- package/dist/body/NutationAngles.js.map +1 -0
- package/dist/body/PrecessionAngles.d.ts +29 -0
- package/dist/body/PrecessionAngles.js +24 -0
- package/dist/body/PrecessionAngles.js.map +1 -0
- package/dist/body/Sun.d.ts +301 -0
- package/dist/body/Sun.js +544 -0
- package/dist/body/Sun.js.map +1 -0
- package/dist/body/index.d.ts +26 -0
- package/dist/body/index.js +27 -0
- package/dist/body/index.js.map +1 -0
- package/dist/coordinate/ClassicalElements.d.ts +132 -0
- package/dist/coordinate/ClassicalElements.js +279 -0
- package/dist/coordinate/ClassicalElements.js.map +1 -0
- package/dist/coordinate/EquinoctialElements.d.ts +114 -0
- package/dist/coordinate/EquinoctialElements.js +172 -0
- package/dist/coordinate/EquinoctialElements.js.map +1 -0
- package/dist/coordinate/FormatTle.d.ts +95 -0
- package/dist/coordinate/FormatTle.js +184 -0
- package/dist/coordinate/FormatTle.js.map +1 -0
- package/dist/coordinate/Geodetic.d.ts +110 -0
- package/dist/coordinate/Geodetic.js +163 -0
- package/dist/coordinate/Geodetic.js.map +1 -0
- package/dist/coordinate/Hill.d.ts +2 -2
- package/dist/coordinate/Hill.js +2 -2
- package/dist/coordinate/Hill.js.map +1 -1
- package/dist/coordinate/ITRF.d.ts +75 -0
- package/dist/coordinate/ITRF.js +134 -0
- package/dist/coordinate/ITRF.js.map +1 -0
- package/dist/coordinate/J2000.d.ts +65 -0
- package/dist/coordinate/J2000.js +120 -0
- package/dist/coordinate/J2000.js.map +1 -0
- package/dist/coordinate/RIC.d.ts +64 -0
- package/dist/coordinate/RIC.js +79 -0
- package/dist/coordinate/RIC.js.map +1 -0
- package/dist/coordinate/RelativeState.d.ts +70 -0
- package/dist/coordinate/RelativeState.js +79 -0
- package/dist/coordinate/RelativeState.js.map +1 -0
- package/dist/coordinate/StateVector.d.ts +76 -0
- package/dist/coordinate/StateVector.js +97 -0
- package/dist/coordinate/StateVector.js.map +1 -0
- package/dist/coordinate/TEME.d.ts +57 -0
- package/dist/coordinate/TEME.js +89 -0
- package/dist/coordinate/TEME.js.map +1 -0
- package/dist/coordinate/Tle.d.ts +429 -0
- package/dist/coordinate/Tle.js +865 -0
- package/dist/coordinate/Tle.js.map +1 -0
- package/dist/coordinate/index.d.ts +11 -0
- package/dist/coordinate/index.js +11 -0
- package/dist/coordinate/index.js.map +1 -1
- package/dist/coordinate/tle-format-data.d.ts +41 -0
- package/dist/coordinate/tle-format-data.js +46 -0
- package/dist/coordinate/tle-format-data.js.map +1 -0
- package/dist/covariance/CovarianceSample.d.ts +9 -6
- package/dist/covariance/CovarianceSample.js +92 -18
- package/dist/covariance/CovarianceSample.js.map +1 -1
- package/dist/covariance/StateCovariance.d.ts +2 -2
- package/dist/covariance/StateCovariance.js +2 -2
- package/dist/covariance/StateCovariance.js.map +1 -1
- package/dist/covariance/index.d.ts +2 -0
- package/dist/covariance/index.js +3 -0
- package/dist/covariance/index.js.map +1 -0
- package/dist/data/DataHandler.d.ts +66 -0
- package/dist/data/DataHandler.js +80 -0
- package/dist/data/DataHandler.js.map +1 -0
- package/dist/data/values/Egm96Data.d.ts +37 -0
- package/dist/data/values/Egm96Data.js +63 -0
- package/dist/data/values/Egm96Data.js.map +1 -0
- package/dist/data/values/HpAtmosphereData.d.ts +33 -0
- package/dist/data/values/HpAtmosphereData.js +58 -0
- package/dist/data/values/HpAtmosphereData.js.map +1 -0
- package/dist/data/values/HpAtmosphereResult.d.ts +29 -0
- package/dist/data/values/HpAtmosphereResult.js +38 -0
- package/dist/data/values/HpAtmosphereResult.js.map +1 -0
- package/dist/data/values/Iau1980Data.d.ts +36 -0
- package/dist/data/values/Iau1980Data.js +52 -0
- package/dist/data/values/Iau1980Data.js.map +1 -0
- package/dist/data/values/LeapSecond.d.ts +27 -0
- package/dist/data/values/LeapSecond.js +35 -0
- package/dist/data/values/LeapSecond.js.map +1 -0
- package/dist/data/values/LeapSecondData.d.ts +41 -0
- package/dist/data/values/LeapSecondData.js +103 -0
- package/dist/data/values/LeapSecondData.js.map +1 -0
- package/dist/data/values/egm96.d.ts +24 -0
- package/dist/data/values/egm96.js +726 -0
- package/dist/data/values/egm96.js.map +1 -0
- package/dist/data/values/hpAtmosphere.d.ts +24 -0
- package/dist/data/values/hpAtmosphere.js +76 -0
- package/dist/data/values/hpAtmosphere.js.map +1 -0
- package/dist/data/values/iau1980.d.ts +24 -0
- package/dist/data/values/iau1980.js +30 -0
- package/dist/data/values/iau1980.js.map +1 -0
- package/dist/enums/AngularDiameterMethod.d.ts +27 -0
- package/dist/enums/AngularDiameterMethod.js +29 -0
- package/dist/enums/AngularDiameterMethod.js.map +1 -0
- package/dist/enums/AngularDistanceMethod.d.ts +27 -0
- package/dist/enums/AngularDistanceMethod.js +29 -0
- package/dist/enums/AngularDistanceMethod.js.map +1 -0
- package/dist/enums/OrbitRegime.d.ts +30 -0
- package/dist/enums/OrbitRegime.js +32 -0
- package/dist/enums/OrbitRegime.js.map +1 -0
- package/dist/enums/PassType.d.ts +28 -0
- package/dist/enums/PassType.js +30 -0
- package/dist/enums/PassType.js.map +1 -0
- package/dist/enums/Sgp4OpsMode.d.ts +26 -0
- package/dist/enums/Sgp4OpsMode.js +28 -0
- package/dist/enums/Sgp4OpsMode.js.map +1 -0
- package/dist/enums/index.d.ts +5 -0
- package/dist/enums/index.js +5 -0
- package/dist/enums/index.js.map +1 -1
- package/dist/force/AtmosphericDrag.d.ts +2 -2
- package/dist/force/AtmosphericDrag.js +3 -6
- package/dist/force/AtmosphericDrag.js.map +1 -1
- package/dist/force/EarthGravity.d.ts +2 -2
- package/dist/force/EarthGravity.js +2 -2
- package/dist/force/EarthGravity.js.map +1 -1
- package/dist/force/Force.d.ts +2 -2
- package/dist/force/Force.js +1 -1
- package/dist/force/ForceModel.d.ts +2 -2
- package/dist/force/ForceModel.js +2 -2
- package/dist/force/ForceModel.js.map +1 -1
- package/dist/force/Gravity.d.ts +2 -2
- package/dist/force/Gravity.js +2 -2
- package/dist/force/Gravity.js.map +1 -1
- package/dist/force/SolarRadiationPressure.d.ts +2 -2
- package/dist/force/SolarRadiationPressure.js +2 -2
- package/dist/force/SolarRadiationPressure.js.map +1 -1
- package/dist/force/ThirdBodyGravity.d.ts +2 -2
- package/dist/force/ThirdBodyGravity.js +2 -2
- package/dist/force/ThirdBodyGravity.js.map +1 -1
- package/dist/force/Thrust.d.ts +2 -2
- package/dist/force/Thrust.js +2 -2
- package/dist/force/Thrust.js.map +1 -1
- package/dist/interfaces/BaseObjectParams.d.ts +31 -0
- package/dist/interfaces/BaseObjectParams.js +24 -0
- package/dist/interfaces/BaseObjectParams.js.map +1 -0
- package/dist/interfaces/ClassicalElementsParams.d.ts +33 -0
- package/dist/interfaces/ClassicalElementsParams.js +24 -0
- package/dist/interfaces/ClassicalElementsParams.js.map +1 -0
- package/dist/interfaces/EquinoctialElementsParams.d.ts +35 -0
- package/dist/interfaces/EquinoctialElementsParams.js +24 -0
- package/dist/interfaces/EquinoctialElementsParams.js.map +1 -0
- package/dist/interfaces/GroundPositionParams.d.ts +28 -0
- package/dist/interfaces/GroundPositionParams.js +24 -0
- package/dist/interfaces/GroundPositionParams.js.map +1 -0
- package/dist/interfaces/OmmFormat.d.ts +62 -0
- package/dist/interfaces/OmmFormat.js +2 -0
- package/dist/interfaces/OmmFormat.js.map +1 -0
- package/dist/interfaces/OptionsParams.d.ts +3 -0
- package/dist/interfaces/OptionsParams.js +2 -0
- package/dist/interfaces/OptionsParams.js.map +1 -0
- package/dist/interfaces/RfSensorParams.d.ts +1 -1
- package/dist/interfaces/SatelliteParams.d.ts +18 -0
- package/dist/interfaces/SatelliteParams.js +2 -0
- package/dist/interfaces/SatelliteParams.js.map +1 -0
- package/dist/interfaces/SensorParams.d.ts +38 -0
- package/dist/interfaces/SensorParams.js +2 -0
- package/dist/interfaces/SensorParams.js.map +1 -0
- package/dist/interfaces/StarObjectParams.d.ts +10 -0
- package/dist/interfaces/StarObjectParams.js +2 -0
- package/dist/interfaces/StarObjectParams.js.map +1 -0
- package/dist/interfaces/TimeVariables.d.ts +6 -0
- package/dist/interfaces/TimeVariables.js +2 -0
- package/dist/interfaces/TimeVariables.js.map +1 -0
- package/dist/interfaces/index.d.ts +8 -0
- package/dist/interpolator/ChebyshevCoefficients.d.ts +5 -5
- package/dist/interpolator/ChebyshevCoefficients.js +2 -2
- package/dist/interpolator/ChebyshevCoefficients.js.map +1 -1
- package/dist/interpolator/ChebyshevInterpolator.d.ts +3 -3
- package/dist/interpolator/ChebyshevInterpolator.js +9 -9
- package/dist/interpolator/ChebyshevInterpolator.js.map +1 -1
- package/dist/interpolator/CubicSpline.d.ts +2 -2
- package/dist/interpolator/CubicSpline.js +1 -1
- package/dist/interpolator/CubicSplineInterpolator.d.ts +4 -4
- package/dist/interpolator/CubicSplineInterpolator.js +10 -10
- package/dist/interpolator/CubicSplineInterpolator.js.map +1 -1
- package/dist/interpolator/FieldInterpolator.d.ts +1 -1
- package/dist/interpolator/FieldInterpolator.js +1 -1
- package/dist/interpolator/Interpolator.d.ts +2 -2
- package/dist/interpolator/Interpolator.js +2 -2
- package/dist/interpolator/Interpolator.js.map +1 -1
- package/dist/interpolator/LagrangeInterpolator.d.ts +7 -7
- package/dist/interpolator/LagrangeInterpolator.js +2 -2
- package/dist/interpolator/LagrangeInterpolator.js.map +1 -1
- package/dist/interpolator/StateInterpolator.d.ts +2 -2
- package/dist/interpolator/StateInterpolator.js +1 -1
- package/dist/interpolator/VerletBlendInterpolator.d.ts +2 -2
- package/dist/interpolator/VerletBlendInterpolator.js +2 -2
- package/dist/interpolator/VerletBlendInterpolator.js.map +1 -1
- package/dist/main.d.ts +15 -5
- package/dist/main.js +15 -5
- package/dist/main.js.map +1 -1
- package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +2 -2
- package/dist/maneuver/TwoBurnOrbitTransfer.js +2 -2
- package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -1
- package/dist/maneuver/Waypoint.d.ts +2 -2
- package/dist/maneuver/Waypoint.js +2 -2
- package/dist/maneuver/Waypoint.js.map +1 -1
- package/dist/objects/BaseObject.d.ts +74 -0
- package/dist/objects/BaseObject.js +151 -0
- package/dist/objects/BaseObject.js.map +1 -0
- package/dist/objects/DetailedSatellite.d.ts +3 -2
- package/dist/objects/DetailedSatellite.js +6 -4
- package/dist/objects/DetailedSatellite.js.map +1 -1
- package/dist/objects/DetailedSensor.d.ts +3 -2
- package/dist/objects/DetailedSensor.js +2 -2
- package/dist/objects/DetailedSensor.js.map +1 -1
- package/dist/objects/GroundObject.d.ts +85 -0
- package/dist/objects/GroundObject.js +143 -0
- package/dist/objects/GroundObject.js.map +1 -0
- package/dist/objects/LandObject.d.ts +3 -2
- package/dist/objects/LandObject.js +2 -2
- package/dist/objects/LandObject.js.map +1 -1
- package/dist/objects/Marker.d.ts +2 -2
- package/dist/objects/Marker.js +2 -2
- package/dist/objects/Marker.js.map +1 -1
- package/dist/objects/RfSensor.d.ts +1 -2
- package/dist/objects/RfSensor.js +1 -2
- package/dist/objects/RfSensor.js.map +1 -1
- package/dist/objects/Satellite.d.ts +226 -0
- package/dist/objects/Satellite.js +443 -0
- package/dist/objects/Satellite.js.map +1 -0
- package/dist/objects/Sensor.d.ts +99 -0
- package/dist/objects/Sensor.js +238 -0
- package/dist/objects/Sensor.js.map +1 -0
- package/dist/objects/Star.d.ts +36 -0
- package/dist/objects/Star.js +59 -0
- package/dist/objects/Star.js.map +1 -0
- package/dist/objects/index.d.ts +5 -0
- package/dist/objects/index.js +5 -0
- package/dist/objects/index.js.map +1 -1
- package/dist/observation/Observation.d.ts +2 -2
- package/dist/observation/Observation.js +1 -1
- package/dist/observation/ObservationOptical.d.ts +6 -6
- package/dist/observation/ObservationOptical.js +9 -9
- package/dist/observation/ObservationOptical.js.map +1 -1
- package/dist/observation/ObservationRadar.d.ts +6 -6
- package/dist/observation/ObservationRadar.js +9 -9
- package/dist/observation/ObservationRadar.js.map +1 -1
- package/dist/observation/ObservationUtils.d.ts +4 -2
- package/dist/observation/ObservationUtils.js +16 -2
- package/dist/observation/ObservationUtils.js.map +1 -1
- package/dist/observation/PropagatorPairs.d.ts +4 -4
- package/dist/observation/PropagatorPairs.js +7 -7
- package/dist/observation/PropagatorPairs.js.map +1 -1
- package/dist/observation/RAE.d.ts +111 -0
- package/dist/observation/RAE.js +214 -0
- package/dist/observation/RAE.js.map +1 -0
- package/dist/observation/RadecGeocentric.d.ts +111 -0
- package/dist/observation/RadecGeocentric.js +169 -0
- package/dist/observation/RadecGeocentric.js.map +1 -0
- package/dist/observation/RadecTopocentric.d.ts +123 -0
- package/dist/observation/RadecTopocentric.js +196 -0
- package/dist/observation/RadecTopocentric.js.map +1 -0
- package/dist/observation/index.d.ts +26 -0
- package/dist/observation/index.js +27 -0
- package/dist/observation/index.js.map +1 -0
- package/dist/operations/BoxMuller.d.ts +2 -2
- package/dist/operations/BoxMuller.js +2 -2
- package/dist/operations/BoxMuller.js.map +1 -1
- package/dist/operations/EulerAngles.d.ts +2 -2
- package/dist/operations/EulerAngles.js +2 -2
- package/dist/operations/EulerAngles.js.map +1 -1
- package/dist/operations/Matrix.d.ts +170 -0
- package/dist/operations/Matrix.js +405 -0
- package/dist/operations/Matrix.js.map +1 -0
- package/dist/operations/Quaternion.d.ts +7 -7
- package/dist/operations/Quaternion.js +2 -2
- package/dist/operations/Quaternion.js.map +1 -1
- package/dist/operations/Random.d.ts +40 -0
- package/dist/operations/Random.js +50 -0
- package/dist/operations/Random.js.map +1 -0
- package/dist/operations/RandomGaussianSource.d.ts +3 -3
- package/dist/operations/RandomGaussianSource.js +5 -5
- package/dist/operations/RandomGaussianSource.js.map +1 -1
- package/dist/operations/Vector.d.ts +262 -0
- package/dist/operations/Vector.js +415 -0
- package/dist/operations/Vector.js.map +1 -0
- package/dist/operations/Vector3D.d.ts +86 -0
- package/dist/operations/Vector3D.js +241 -0
- package/dist/operations/Vector3D.js.map +1 -0
- package/dist/operations/operations.d.ts +26 -0
- package/dist/operations/operations.js +27 -0
- package/dist/operations/operations.js.map +1 -0
- package/dist/optimize/ChebyshevCompressor.d.ts +3 -3
- package/dist/optimize/ChebyshevCompressor.js +8 -8
- package/dist/optimize/ChebyshevCompressor.js.map +1 -1
- package/dist/optimize/DownhillSimplex.d.ts +1 -1
- package/dist/optimize/DownhillSimplex.js +1 -1
- package/dist/optimize/GoldenSection.d.ts +2 -2
- package/dist/optimize/GoldenSection.js +3 -3
- package/dist/optimize/PolynomialRegression.d.ts +1 -1
- package/dist/optimize/PolynomialRegression.js +2 -2
- package/dist/optimize/PolynomialRegression.js.map +1 -1
- package/dist/optimize/PolynomicalRegressionResult.d.ts +1 -1
- package/dist/optimize/PolynomicalRegressionResult.js +1 -1
- package/dist/optimize/SimpleLinearRegression.d.ts +1 -1
- package/dist/optimize/SimpleLinearRegression.js +1 -1
- package/dist/optimize/SimplexEntry.d.ts +4 -4
- package/dist/optimize/SimplexEntry.js +11 -11
- package/dist/optimize/SimplexEntry.js.map +1 -1
- package/dist/orbit_determination/BatchLeastSquaresOD.d.ts +11 -11
- package/dist/orbit_determination/BatchLeastSquaresOD.js +2 -2
- package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -1
- package/dist/orbit_determination/BatchLeastSquaresResult.d.ts +2 -2
- package/dist/orbit_determination/BatchLeastSquaresResult.js +1 -1
- package/dist/orbit_determination/GibbsIOD.d.ts +2 -2
- package/dist/orbit_determination/GibbsIOD.js +2 -2
- package/dist/orbit_determination/GibbsIOD.js.map +1 -1
- package/dist/orbit_determination/GoodingIOD.d.ts +2 -2
- package/dist/orbit_determination/GoodingIOD.js +2 -2
- package/dist/orbit_determination/GoodingIOD.js.map +1 -1
- package/dist/orbit_determination/HerrickGibbsIOD.d.ts +2 -2
- package/dist/orbit_determination/HerrickGibbsIOD.js +2 -2
- package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -1
- package/dist/orbit_determination/LambertIOD.d.ts +2 -2
- package/dist/orbit_determination/LambertIOD.js +2 -2
- package/dist/orbit_determination/LambertIOD.js.map +1 -1
- package/dist/orbit_determination/ModifiedGoodingIOD.d.ts +4 -4
- package/dist/orbit_determination/ModifiedGoodingIOD.js +2 -2
- package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -1
- package/dist/orbit_determination/index.d.ts +7 -0
- package/dist/orbit_determination/index.js +8 -0
- package/dist/orbit_determination/index.js.map +1 -0
- package/dist/propagator/DormandPrince54Propagator.d.ts +5 -5
- package/dist/propagator/DormandPrince54Propagator.js +9 -9
- package/dist/propagator/DormandPrince54Propagator.js.map +1 -1
- package/dist/propagator/KeplerPropagator.d.ts +6 -6
- package/dist/propagator/KeplerPropagator.js +31 -31
- package/dist/propagator/KeplerPropagator.js.map +1 -1
- package/dist/propagator/Propagator.d.ts +2 -2
- package/dist/propagator/Propagator.js +2 -2
- package/dist/propagator/Propagator.js.map +1 -1
- package/dist/propagator/RkCheckpoint.d.ts +2 -2
- package/dist/propagator/RkCheckpoint.js +1 -1
- package/dist/propagator/RkResult.d.ts +2 -2
- package/dist/propagator/RkResult.js +1 -1
- package/dist/propagator/RungeKutta4Propagator.d.ts +3 -3
- package/dist/propagator/RungeKutta4Propagator.js +2 -2
- package/dist/propagator/RungeKutta4Propagator.js.map +1 -1
- package/dist/propagator/RungeKutta89Propagator.d.ts +5 -5
- package/dist/propagator/RungeKutta89Propagator.js +1 -1
- package/dist/propagator/RungeKutta89Propagator.js.map +1 -1
- package/dist/propagator/RungeKuttaAdaptive.d.ts +4 -4
- package/dist/propagator/RungeKuttaAdaptive.js +2 -2
- package/dist/propagator/RungeKuttaAdaptive.js.map +1 -1
- package/dist/propagator/Sgp4Propagator.d.ts +6 -6
- package/dist/propagator/Sgp4Propagator.js +15 -15
- package/dist/propagator/Sgp4Propagator.js.map +1 -1
- package/dist/sgp4/index.d.ts +23 -0
- package/dist/sgp4/index.js +24 -0
- package/dist/sgp4/index.js.map +1 -0
- package/dist/sgp4/sgp4-error.d.ts +22 -0
- package/dist/sgp4/sgp4-error.js +44 -0
- package/dist/sgp4/sgp4-error.js.map +1 -0
- package/dist/sgp4/sgp4.d.ts +99 -0
- package/dist/sgp4/sgp4.js +3164 -0
- package/dist/sgp4/sgp4.js.map +1 -0
- package/dist/smoothing/ExponentialSmoothing.d.ts +2 -2
- package/dist/smoothing/ExponentialSmoothing.js +1 -1
- package/dist/time/Epoch.d.ts +44 -0
- package/dist/time/Epoch.js +109 -0
- package/dist/time/Epoch.js.map +1 -0
- package/dist/time/EpochGPS.d.ts +42 -0
- package/dist/time/EpochGPS.js +70 -0
- package/dist/time/EpochGPS.js.map +1 -0
- package/dist/time/EpochTAI.d.ts +26 -0
- package/dist/time/EpochTAI.js +27 -0
- package/dist/time/EpochTAI.js.map +1 -0
- package/dist/time/EpochTDB.d.ts +26 -0
- package/dist/time/EpochTDB.js +27 -0
- package/dist/time/EpochTDB.js.map +1 -0
- package/dist/time/EpochTT.d.ts +26 -0
- package/dist/time/EpochTT.js +27 -0
- package/dist/time/EpochTT.js.map +1 -0
- package/dist/time/EpochUTC.d.ts +59 -0
- package/dist/time/EpochUTC.js +137 -0
- package/dist/time/EpochUTC.js.map +1 -0
- package/dist/time/EpochWindow.d.ts +28 -0
- package/dist/time/EpochWindow.js +31 -0
- package/dist/time/EpochWindow.js.map +1 -0
- package/dist/time/TimeStamped.d.ts +39 -0
- package/dist/time/TimeStamped.js +42 -0
- package/dist/time/TimeStamped.js.map +1 -0
- package/dist/time/index.d.ts +8 -0
- package/dist/time/index.js +9 -0
- package/dist/time/index.js.map +1 -0
- package/dist/transforms/TransformCache.d.ts +27 -0
- package/dist/transforms/TransformCache.js +41 -0
- package/dist/transforms/TransformCache.js.map +1 -0
- package/dist/transforms/conversions.d.ts +63 -0
- package/dist/transforms/conversions.js +88 -0
- package/dist/transforms/conversions.js.map +1 -0
- package/dist/transforms/index.d.ts +1 -0
- package/dist/transforms/index.js +1 -0
- package/dist/transforms/index.js.map +1 -1
- package/dist/transforms/transforms.d.ts +166 -2
- package/dist/transforms/transforms.js +372 -1
- package/dist/transforms/transforms.js.map +1 -1
- package/dist/types/types.d.ts +675 -3
- package/dist/types/types.js +37 -1
- package/dist/types/types.js.map +1 -1
- package/dist/utils/constants.d.ts +80 -0
- package/dist/utils/constants.js +87 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/create-covariance-from-tle.d.ts +18 -0
- package/dist/utils/create-covariance-from-tle.js +57 -0
- package/dist/utils/create-covariance-from-tle.js.map +1 -0
- package/dist/utils/functions.d.ts +228 -0
- package/dist/utils/functions.js +476 -0
- package/dist/utils/functions.js.map +1 -1
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/index.js +4 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/jacobian.d.ts +7 -1
- package/dist/utils/jacobian.js +7 -2
- package/dist/utils/jacobian.js.map +1 -1
- package/dist/utils/linearDistance.d.ts +8 -0
- package/dist/utils/linearDistance.js +10 -0
- package/dist/utils/linearDistance.js.map +1 -0
- package/package.json +5 -8
- package/src/body/Celestial.ts +134 -0
- package/src/body/Earth.ts +260 -0
- package/src/body/Moon.ts +556 -0
- package/src/body/NutationAngles.ts +40 -0
- package/src/body/PrecessionAngles.ts +31 -0
- package/src/body/Sun.ts +665 -0
- package/src/body/index.ts +27 -0
- package/src/body/suncalc.LICENSE.md +18 -0
- package/src/coordinate/ClassicalElements.ts +327 -0
- package/src/coordinate/EquinoctialElements.ts +189 -0
- package/src/coordinate/FormatTle.ts +214 -0
- package/src/coordinate/Geodetic.ts +186 -0
- package/src/coordinate/Hill.ts +2 -2
- package/src/coordinate/ITRF.ts +146 -0
- package/src/coordinate/J2000.ts +130 -0
- package/src/coordinate/RIC.ts +87 -0
- package/src/coordinate/RelativeState.ts +101 -0
- package/src/coordinate/StateVector.ts +123 -0
- package/src/coordinate/TEME.ts +97 -0
- package/src/coordinate/Tle.ts +1024 -0
- package/src/coordinate/index.ts +11 -0
- package/src/coordinate/tle-format-data.ts +47 -0
- package/src/covariance/CovarianceSample.ts +117 -19
- package/src/covariance/StateCovariance.ts +2 -2
- package/src/covariance/index.ts +2 -0
- package/src/data/DataHandler.ts +88 -0
- package/src/data/values/Egm96Data.ts +75 -0
- package/src/data/values/HpAtmosphereData.ts +76 -0
- package/src/data/values/HpAtmosphereResult.ts +41 -0
- package/src/data/values/Iau1980Data.ts +63 -0
- package/src/data/values/LeapSecond.ts +37 -0
- package/src/data/values/LeapSecondData.ts +113 -0
- package/src/data/values/egm96.ts +728 -0
- package/src/data/values/hpAtmosphere.ts +79 -0
- package/src/data/values/iau1980.ts +32 -0
- package/src/enums/AngularDiameterMethod.ts +28 -0
- package/src/enums/AngularDistanceMethod.ts +28 -0
- package/src/enums/OrbitRegime.ts +31 -0
- package/src/enums/PassType.ts +29 -0
- package/src/enums/Sgp4OpsMode.ts +27 -0
- package/src/enums/index.ts +5 -0
- package/src/force/AtmosphericDrag.ts +2 -4
- package/src/force/EarthGravity.ts +2 -2
- package/src/force/Force.ts +2 -2
- package/src/force/ForceModel.ts +2 -2
- package/src/force/Gravity.ts +2 -2
- package/src/force/SolarRadiationPressure.ts +2 -2
- package/src/force/ThirdBodyGravity.ts +2 -2
- package/src/force/Thrust.ts +2 -2
- package/src/interfaces/BaseObjectParams.ts +33 -0
- package/src/interfaces/ClassicalElementsParams.ts +35 -0
- package/src/interfaces/EquinoctialElementsParams.ts +37 -0
- package/src/interfaces/GroundPositionParams.ts +30 -0
- package/src/interfaces/OmmFormat.ts +63 -0
- package/src/interfaces/OptionsParams.ts +3 -0
- package/src/interfaces/RfSensorParams.ts +1 -1
- package/src/interfaces/SatelliteParams.ts +20 -0
- package/src/interfaces/SensorParams.ts +39 -0
- package/src/interfaces/StarObjectParams.ts +11 -0
- package/src/interfaces/TimeVariables.ts +7 -0
- package/src/interfaces/index.ts +8 -0
- package/src/interpolator/ChebyshevCoefficients.ts +5 -5
- package/src/interpolator/ChebyshevInterpolator.ts +10 -10
- package/src/interpolator/CubicSpline.ts +2 -2
- package/src/interpolator/CubicSplineInterpolator.ts +8 -8
- package/src/interpolator/FieldInterpolator.ts +1 -1
- package/src/interpolator/Interpolator.ts +2 -2
- package/src/interpolator/LagrangeInterpolator.ts +7 -7
- package/src/interpolator/StateInterpolator.ts +2 -2
- package/src/interpolator/VerletBlendInterpolator.ts +2 -2
- package/src/main.ts +15 -5
- package/src/maneuver/TwoBurnOrbitTransfer.ts +2 -2
- package/src/maneuver/Waypoint.ts +2 -2
- package/src/objects/BaseObject.ts +171 -0
- package/src/objects/DetailedSatellite.ts +5 -4
- package/src/objects/DetailedSensor.ts +3 -2
- package/src/objects/GroundObject.ts +176 -0
- package/src/objects/LandObject.ts +3 -2
- package/src/objects/Marker.ts +2 -2
- package/src/objects/RfSensor.ts +1 -2
- package/src/objects/Satellite.ts +552 -0
- package/src/objects/Sensor.ts +279 -0
- package/src/objects/Star.ts +96 -0
- package/src/objects/index.ts +5 -0
- package/src/observation/Observation.ts +2 -2
- package/src/observation/ObservationOptical.ts +7 -7
- package/src/observation/ObservationRadar.ts +10 -6
- package/src/observation/ObservationUtils.ts +31 -2
- package/src/observation/PropagatorPairs.ts +3 -3
- package/src/observation/RAE.ts +261 -0
- package/src/observation/RadecGeocentric.ts +206 -0
- package/src/observation/RadecTopocentric.ts +241 -0
- package/src/observation/index.ts +27 -0
- package/src/operations/BoxMuller.ts +2 -2
- package/src/operations/EulerAngles.ts +2 -2
- package/src/operations/Matrix.ts +473 -0
- package/src/operations/Quaternion.ts +7 -7
- package/src/operations/Random.ts +54 -0
- package/src/operations/RandomGaussianSource.ts +5 -5
- package/src/operations/Vector.ts +484 -0
- package/src/operations/Vector3D.ts +289 -0
- package/src/operations/operations.ts +27 -0
- package/src/optimize/ChebyshevCompressor.ts +6 -6
- package/src/optimize/DownhillSimplex.ts +1 -1
- package/src/optimize/GoldenSection.ts +3 -3
- package/src/optimize/PolynomialRegression.ts +2 -2
- package/src/optimize/PolynomicalRegressionResult.ts +1 -1
- package/src/optimize/SimpleLinearRegression.ts +1 -1
- package/src/optimize/SimplexEntry.ts +9 -9
- package/src/orbit_determination/BatchLeastSquaresOD.ts +11 -11
- package/src/orbit_determination/BatchLeastSquaresResult.ts +2 -2
- package/src/orbit_determination/GibbsIOD.ts +4 -2
- package/src/orbit_determination/GoodingIOD.ts +2 -2
- package/src/orbit_determination/HerrickGibbsIOD.ts +2 -2
- package/src/orbit_determination/LambertIOD.ts +2 -2
- package/src/orbit_determination/ModifiedGoodingIOD.ts +4 -4
- package/src/orbit_determination/index.ts +7 -0
- package/src/propagator/DormandPrince54Propagator.ts +9 -9
- package/src/propagator/KeplerPropagator.ts +31 -31
- package/src/propagator/Propagator.ts +2 -2
- package/src/propagator/RkCheckpoint.ts +2 -2
- package/src/propagator/RkResult.ts +2 -2
- package/src/propagator/RungeKutta4Propagator.ts +3 -3
- package/src/propagator/RungeKutta89Propagator.ts +5 -5
- package/src/propagator/RungeKuttaAdaptive.ts +4 -4
- package/src/propagator/Sgp4Propagator.ts +14 -14
- package/src/sgp4/index.ts +24 -0
- package/src/sgp4/sgp4-error.ts +53 -0
- package/src/sgp4/sgp4.LICENSE.md +28 -0
- package/src/sgp4/sgp4.ts +3983 -0
- package/src/smoothing/ExponentialSmoothing.ts +2 -2
- package/src/time/Epoch.ts +128 -0
- package/src/time/EpochGPS.ts +76 -0
- package/src/time/EpochTAI.ts +27 -0
- package/src/time/EpochTDB.ts +27 -0
- package/src/time/EpochTT.ts +27 -0
- package/src/time/EpochUTC.ts +188 -0
- package/src/time/EpochWindow.ts +33 -0
- package/src/time/TimeStamped.ts +46 -0
- package/src/time/index.ts +8 -0
- package/src/transforms/TransformCache.ts +46 -0
- package/src/transforms/conversions.ts +98 -0
- package/src/transforms/index.ts +1 -0
- package/src/transforms/transforms.ts +478 -2
- package/src/types/types.ts +722 -3
- package/src/utils/constants.ts +113 -0
- package/src/utils/create-covariance-from-tle.ts +75 -0
- package/src/utils/functions.ts +562 -0
- package/src/utils/index.ts +4 -1
- package/src/utils/jacobian.ts +7 -3
- package/src/utils/linearDistance.ts +11 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
|
-
* @copyright (c)
|
|
4
|
+
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
6
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
7
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -14,17 +14,17 @@
|
|
|
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 '
|
|
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';
|
|
21
21
|
import { PropagatorPairs } from './PropagatorPairs.js';
|
|
22
22
|
export declare class ObservationRadar extends Observation {
|
|
23
|
-
private
|
|
23
|
+
private readonly site_;
|
|
24
24
|
observation: RAE;
|
|
25
|
-
private
|
|
26
|
-
constructor(
|
|
27
|
-
private static defaultNoise;
|
|
25
|
+
private readonly noise_;
|
|
26
|
+
constructor(site_: J2000, observation: RAE, noise_?: Matrix);
|
|
27
|
+
private static readonly defaultNoise;
|
|
28
28
|
get epoch(): EpochUTC;
|
|
29
29
|
get site(): J2000;
|
|
30
30
|
get noise(): Matrix;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
|
-
* @copyright (c)
|
|
4
|
+
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
6
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
7
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -14,20 +14,20 @@
|
|
|
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 '
|
|
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.
|
|
21
21
|
export class ObservationRadar extends Observation {
|
|
22
|
-
|
|
22
|
+
site_;
|
|
23
23
|
observation;
|
|
24
|
-
|
|
24
|
+
noise_;
|
|
25
25
|
// / Create a new [ObservationRadar] object.
|
|
26
|
-
constructor(
|
|
26
|
+
constructor(site_, observation, noise_ = ObservationRadar.defaultNoise) {
|
|
27
27
|
super();
|
|
28
|
-
this.
|
|
28
|
+
this.site_ = site_;
|
|
29
29
|
this.observation = observation;
|
|
30
|
-
this.
|
|
30
|
+
this.noise_ = noise_;
|
|
31
31
|
}
|
|
32
32
|
// / Default noise matrix.
|
|
33
33
|
static defaultNoise = ObservationRadar.noiseFromSigmas(0.32, 0.015 * DEG2RAD, 0.015 * DEG2RAD);
|
|
@@ -35,10 +35,10 @@ export class ObservationRadar extends Observation {
|
|
|
35
35
|
return this.observation.epoch;
|
|
36
36
|
}
|
|
37
37
|
get site() {
|
|
38
|
-
return this.
|
|
38
|
+
return this.site_;
|
|
39
39
|
}
|
|
40
40
|
get noise() {
|
|
41
|
-
return this.
|
|
41
|
+
return this.noise_;
|
|
42
42
|
}
|
|
43
43
|
toVector() {
|
|
44
44
|
return Vector.fromList([this.observation.rng, this.observation.azRad, this.observation.elRad]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservationRadar.js","sourceRoot":"","sources":["../../src/observation/ObservationRadar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,OAAO,EACP,OAAO,EAEP,KAAK,EAGL,MAAM,EAEN,GAAG,EACH,GAAG,EACH,MAAM,EACN,QAAQ,GACT,MAAM,
|
|
1
|
+
{"version":3,"file":"ObservationRadar.js","sourceRoot":"","sources":["../../src/observation/ObservationRadar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
|
-
* @copyright (c)
|
|
4
|
+
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
6
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
7
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -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 '
|
|
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;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
|
-
* @copyright (c)
|
|
4
|
+
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
6
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
7
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -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 '
|
|
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));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservationUtils.js","sourceRoot":"","sources":["../../src/observation/ObservationUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ObservationUtils.js","sourceRoot":"","sources":["../../src/observation/ObservationUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
|
-
* @copyright (c)
|
|
4
|
+
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
6
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
7
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { Propagator } from '../propagator/Propagator.js';
|
|
18
18
|
export declare class PropagatorPairs {
|
|
19
|
-
private
|
|
20
|
-
private
|
|
21
|
-
constructor(
|
|
19
|
+
private readonly posStep_;
|
|
20
|
+
private readonly velStep_;
|
|
21
|
+
constructor(posStep_: number, velStep_: number);
|
|
22
22
|
private _high;
|
|
23
23
|
private _low;
|
|
24
24
|
set(index: number, high: Propagator, low: Propagator): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
|
-
* @copyright (c)
|
|
4
|
+
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
6
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
7
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
export class PropagatorPairs {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
constructor(
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
18
|
+
posStep_;
|
|
19
|
+
velStep_;
|
|
20
|
+
constructor(posStep_, velStep_) {
|
|
21
|
+
this.posStep_ = posStep_;
|
|
22
|
+
this.velStep_ = velStep_;
|
|
23
23
|
// Do nothing.
|
|
24
24
|
}
|
|
25
25
|
_high = Array(6).fill(null);
|
|
@@ -37,7 +37,7 @@ export class PropagatorPairs {
|
|
|
37
37
|
* @returns The step size.
|
|
38
38
|
*/
|
|
39
39
|
step(index) {
|
|
40
|
-
return index < 3 ? this.
|
|
40
|
+
return index < 3 ? this.posStep_ : this.velStep_;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
//# sourceMappingURL=PropagatorPairs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropagatorPairs.js","sourceRoot":"","sources":["../../src/observation/PropagatorPairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,eAAe;
|
|
1
|
+
{"version":3,"file":"PropagatorPairs.js","sourceRoot":"","sources":["../../src/observation/PropagatorPairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,eAAe;IACG;IAAmC;IAAhE,YAA6B,QAAgB,EAAmB,QAAgB;QAAnD,aAAQ,GAAR,QAAQ,CAAQ;QAAmB,aAAQ,GAAR,QAAQ,CAAQ;QAC9E,cAAc;IAChB,CAAC;IAEO,KAAK,GAA0B,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,GAA0B,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1D,GAAG,CAAC,KAAa,EAAE,IAAgB,EAAE,GAAe;QAClD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,GAAG,CAAC,KAAa;QACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,KAAa;QAChB,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACnD,CAAC;CACF"}
|
|
@@ -0,0 +1,111 @@
|
|
|
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 { J2000 } from '../coordinate/J2000.js';
|
|
24
|
+
import { AngularDistanceMethod } from '../enums/AngularDistanceMethod.js';
|
|
25
|
+
import { Degrees, Kilometers, Radians } from '../main.js';
|
|
26
|
+
import { Vector3D } from '../operations/Vector3D.js';
|
|
27
|
+
import { EpochUTC } from '../time/EpochUTC.js';
|
|
28
|
+
export declare class RAE {
|
|
29
|
+
epoch: EpochUTC;
|
|
30
|
+
rng: Kilometers;
|
|
31
|
+
azRad: Radians;
|
|
32
|
+
elRad: Radians;
|
|
33
|
+
/** The range rate of the satellite relative to the observer in kilometers per second. */
|
|
34
|
+
rngRate?: number | undefined;
|
|
35
|
+
/** The azimuth rate of the satellite relative to the observer in radians per second. */
|
|
36
|
+
azRateRad?: number | undefined;
|
|
37
|
+
/** The elevation rate of the satellite relative to the observer in radians per second. */
|
|
38
|
+
elRateRad?: number | undefined;
|
|
39
|
+
constructor(epoch: EpochUTC, rng: Kilometers, azRad: Radians, elRad: Radians,
|
|
40
|
+
/** The range rate of the satellite relative to the observer in kilometers per second. */
|
|
41
|
+
rngRate?: number | undefined,
|
|
42
|
+
/** The azimuth rate of the satellite relative to the observer in radians per second. */
|
|
43
|
+
azRateRad?: number | undefined,
|
|
44
|
+
/** The elevation rate of the satellite relative to the observer in radians per second. */
|
|
45
|
+
elRateRad?: number | undefined);
|
|
46
|
+
static fromDegrees(epoch: EpochUTC, range: Kilometers, azimuth: Degrees, elevation: Degrees, rangeRate?: number, azimuthRate?: number, elevationRate?: number): RAE;
|
|
47
|
+
/**
|
|
48
|
+
* Create a [Razel] object from an inertial [state] and [site] vector.
|
|
49
|
+
* @param state The inertial [state] vector.
|
|
50
|
+
* @param site The observer [site] vector.
|
|
51
|
+
* @returns A new [Razel] object.
|
|
52
|
+
*/
|
|
53
|
+
static fromStateVector(state: J2000, site: J2000): RAE;
|
|
54
|
+
/**
|
|
55
|
+
* Gets the azimuth in degrees.
|
|
56
|
+
* @returns The azimuth in degrees.
|
|
57
|
+
*/
|
|
58
|
+
get az(): Degrees;
|
|
59
|
+
/**
|
|
60
|
+
* Gets the elevation angle in degrees.
|
|
61
|
+
* @returns The elevation angle in degrees.
|
|
62
|
+
*/
|
|
63
|
+
get el(): Degrees;
|
|
64
|
+
/**
|
|
65
|
+
* Gets the azimuth rate in degrees per second.
|
|
66
|
+
* @returns The azimuth rate in degrees per second, or undefined if it is not available.
|
|
67
|
+
*/
|
|
68
|
+
get azRate(): number | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Gets the elevation rate in degrees per second.
|
|
71
|
+
* @returns The elevation rate in degrees per second, or undefined if the elevation rate is not set.
|
|
72
|
+
*/
|
|
73
|
+
get elRate(): number | undefined;
|
|
74
|
+
toString(): string;
|
|
75
|
+
/**
|
|
76
|
+
* Return the position relative to the observer [site].
|
|
77
|
+
*
|
|
78
|
+
* An optional azimuth [az] _(rad)_ and elevation [el] _(rad)_ value can be
|
|
79
|
+
* passed to override the values contained in this observation.
|
|
80
|
+
* @param site The observer [site].
|
|
81
|
+
* @param azRad Azimuth _(rad)_.
|
|
82
|
+
* @param elRad Elevation _(rad)_.
|
|
83
|
+
* @returns A [Vector3D] object.
|
|
84
|
+
*/
|
|
85
|
+
position(site: J2000, azRad?: Radians, elRad?: Radians): Vector3D<Kilometers>;
|
|
86
|
+
/**
|
|
87
|
+
* Convert this observation into a [J2000] state vector.
|
|
88
|
+
*
|
|
89
|
+
* This will throw an error if the [rangeRate], [elevationRate], or
|
|
90
|
+
* [azimuthRate] are not defined.
|
|
91
|
+
* @param site The observer [site].
|
|
92
|
+
* @returns A [J2000] state vector.
|
|
93
|
+
*/
|
|
94
|
+
toStateVector(site: J2000): J2000;
|
|
95
|
+
/**
|
|
96
|
+
* Calculate the angular distance _(rad)_ between this and another [Razel]
|
|
97
|
+
* object.
|
|
98
|
+
* @param razel The other [Razel] object.
|
|
99
|
+
* @param method The angular distance method to use.
|
|
100
|
+
* @returns The angular distance _(rad)_.
|
|
101
|
+
*/
|
|
102
|
+
angle(razel: RAE, method?: AngularDistanceMethod): number;
|
|
103
|
+
/**
|
|
104
|
+
* Calculate the angular distance _(°)_ between this and another [Razel]
|
|
105
|
+
* object.
|
|
106
|
+
* @param razel The other [Razel] object.
|
|
107
|
+
* @param method The angular distance method to use.
|
|
108
|
+
* @returns The angular distance _(°)_.
|
|
109
|
+
*/
|
|
110
|
+
angleDegrees(razel: RAE, method?: AngularDistanceMethod): number;
|
|
111
|
+
}
|
|
@@ -0,0 +1,214 @@
|
|
|
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
|
+
/* eslint-disable no-undefined */
|
|
24
|
+
import { ITRF } from '../coordinate/ITRF.js';
|
|
25
|
+
import { AngularDistanceMethod } from '../enums/AngularDistanceMethod.js';
|
|
26
|
+
import { Vector3D } from '../operations/Vector3D.js';
|
|
27
|
+
import { DEG2RAD, halfPi, RAD2DEG, TAU } from '../utils/constants.js';
|
|
28
|
+
import { angularDistance } from '../utils/functions.js';
|
|
29
|
+
// / Range, azimuth, and elevation.
|
|
30
|
+
export class RAE {
|
|
31
|
+
epoch;
|
|
32
|
+
rng;
|
|
33
|
+
azRad;
|
|
34
|
+
elRad;
|
|
35
|
+
rngRate;
|
|
36
|
+
azRateRad;
|
|
37
|
+
elRateRad;
|
|
38
|
+
constructor(epoch, rng, azRad, elRad,
|
|
39
|
+
/** The range rate of the satellite relative to the observer in kilometers per second. */
|
|
40
|
+
rngRate,
|
|
41
|
+
/** The azimuth rate of the satellite relative to the observer in radians per second. */
|
|
42
|
+
azRateRad,
|
|
43
|
+
/** The elevation rate of the satellite relative to the observer in radians per second. */
|
|
44
|
+
elRateRad) {
|
|
45
|
+
this.epoch = epoch;
|
|
46
|
+
this.rng = rng;
|
|
47
|
+
this.azRad = azRad;
|
|
48
|
+
this.elRad = elRad;
|
|
49
|
+
this.rngRate = rngRate;
|
|
50
|
+
this.azRateRad = azRateRad;
|
|
51
|
+
this.elRateRad = elRateRad;
|
|
52
|
+
// Do nothing
|
|
53
|
+
}
|
|
54
|
+
// / Create a new [Razel] object, using degrees for the angular values.
|
|
55
|
+
static fromDegrees(epoch, range, azimuth, elevation, rangeRate, azimuthRate, elevationRate) {
|
|
56
|
+
const azimuthRateRad = azimuthRate ? azimuthRate * DEG2RAD : undefined;
|
|
57
|
+
const elevationRateRad = elevationRate ? elevationRate * DEG2RAD : undefined;
|
|
58
|
+
return new RAE(epoch, range, (azimuth * DEG2RAD), (elevation * DEG2RAD), rangeRate, azimuthRateRad, elevationRateRad);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Create a [Razel] object from an inertial [state] and [site] vector.
|
|
62
|
+
* @param state The inertial [state] vector.
|
|
63
|
+
* @param site The observer [site] vector.
|
|
64
|
+
* @returns A new [Razel] object.
|
|
65
|
+
*/
|
|
66
|
+
static fromStateVector(state, site) {
|
|
67
|
+
const stateEcef = state.toITRF();
|
|
68
|
+
const siteEcef = site.toITRF();
|
|
69
|
+
const po2 = halfPi;
|
|
70
|
+
const r = stateEcef.position.subtract(siteEcef.position);
|
|
71
|
+
const rDot = stateEcef.velocity;
|
|
72
|
+
const geo = siteEcef.toGeodetic();
|
|
73
|
+
const p = r.rotZ(geo.lon).rotY((po2 - geo.lat));
|
|
74
|
+
const pDot = rDot.rotZ(geo.lon).rotY((po2 - geo.lat));
|
|
75
|
+
const pS = p.x;
|
|
76
|
+
const pE = p.y;
|
|
77
|
+
const pZ = p.z;
|
|
78
|
+
const pSDot = pDot.x;
|
|
79
|
+
const pEDot = pDot.y;
|
|
80
|
+
const pZDot = pDot.z;
|
|
81
|
+
const pMag = p.magnitude();
|
|
82
|
+
const pSEMag = Math.sqrt(pS * pS + pE * pE);
|
|
83
|
+
const elevation = Math.asin(pZ / pMag);
|
|
84
|
+
let azimuth;
|
|
85
|
+
if (elevation !== po2) {
|
|
86
|
+
azimuth = Math.atan2(-pE, pS) + Math.PI;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
azimuth = Math.atan2(-pEDot, pSDot) + Math.PI;
|
|
90
|
+
}
|
|
91
|
+
const rangeRate = p.dot(pDot) / pMag;
|
|
92
|
+
const azimuthRate = (pSDot * pE - pEDot * pS) / (pS * pS + pE * pE);
|
|
93
|
+
const elevationRate = (pZDot - rangeRate * Math.sin(elevation)) / pSEMag;
|
|
94
|
+
return new RAE(state.epoch, pMag, (azimuth % TAU), elevation, rangeRate, azimuthRate, elevationRate);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Gets the azimuth in degrees.
|
|
98
|
+
* @returns The azimuth in degrees.
|
|
99
|
+
*/
|
|
100
|
+
get az() {
|
|
101
|
+
return this.azRad * RAD2DEG;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Gets the elevation angle in degrees.
|
|
105
|
+
* @returns The elevation angle in degrees.
|
|
106
|
+
*/
|
|
107
|
+
get el() {
|
|
108
|
+
return this.elRad * RAD2DEG;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Gets the azimuth rate in degrees per second.
|
|
112
|
+
* @returns The azimuth rate in degrees per second, or undefined if it is not available.
|
|
113
|
+
*/
|
|
114
|
+
get azRate() {
|
|
115
|
+
return this.azRateRad ? this.azRateRad * RAD2DEG : undefined;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Gets the elevation rate in degrees per second.
|
|
119
|
+
* @returns The elevation rate in degrees per second, or undefined if the elevation rate is not set.
|
|
120
|
+
*/
|
|
121
|
+
get elRate() {
|
|
122
|
+
return this.elRateRad ? this.elRateRad * RAD2DEG : undefined;
|
|
123
|
+
}
|
|
124
|
+
toString() {
|
|
125
|
+
return [
|
|
126
|
+
'[RazEl]',
|
|
127
|
+
` Epoch: ${this.epoch}`,
|
|
128
|
+
` Azimuth: ${this.az.toFixed(4)}°`,
|
|
129
|
+
` Elevation: ${this.el.toFixed(4)}°`,
|
|
130
|
+
` Range: ${this.rng.toFixed(3)} km`,
|
|
131
|
+
].join('\n');
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Return the position relative to the observer [site].
|
|
135
|
+
*
|
|
136
|
+
* An optional azimuth [az] _(rad)_ and elevation [el] _(rad)_ value can be
|
|
137
|
+
* passed to override the values contained in this observation.
|
|
138
|
+
* @param site The observer [site].
|
|
139
|
+
* @param azRad Azimuth _(rad)_.
|
|
140
|
+
* @param elRad Elevation _(rad)_.
|
|
141
|
+
* @returns A [Vector3D] object.
|
|
142
|
+
*/
|
|
143
|
+
position(site, azRad, elRad) {
|
|
144
|
+
const ecef = site.toITRF();
|
|
145
|
+
const geo = ecef.toGeodetic();
|
|
146
|
+
const po2 = halfPi;
|
|
147
|
+
const newAz = azRad ?? this.azRad;
|
|
148
|
+
const newEl = elRad ?? this.elRad;
|
|
149
|
+
const sAz = Math.sin(newAz);
|
|
150
|
+
const cAz = Math.cos(newAz);
|
|
151
|
+
const sEl = Math.sin(newEl);
|
|
152
|
+
const cEl = Math.cos(newEl);
|
|
153
|
+
const pSez = new Vector3D((-this.rng * cEl * cAz), (this.rng * cEl * sAz), (this.rng * sEl));
|
|
154
|
+
const rEcef = pSez
|
|
155
|
+
.rotY(-(po2 - geo.lat))
|
|
156
|
+
.rotZ(-geo.lon)
|
|
157
|
+
.add(ecef.position);
|
|
158
|
+
return new ITRF(this.epoch, rEcef, Vector3D.origin).toJ2000().position;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Convert this observation into a [J2000] state vector.
|
|
162
|
+
*
|
|
163
|
+
* This will throw an error if the [rangeRate], [elevationRate], or
|
|
164
|
+
* [azimuthRate] are not defined.
|
|
165
|
+
* @param site The observer [site].
|
|
166
|
+
* @returns A [J2000] state vector.
|
|
167
|
+
*/
|
|
168
|
+
toStateVector(site) {
|
|
169
|
+
// If the rates are not defined then assume stationary
|
|
170
|
+
this.rngRate ??= 0;
|
|
171
|
+
this.elRateRad ??= 0;
|
|
172
|
+
this.azRateRad ??= 0;
|
|
173
|
+
const ecef = site.toITRF();
|
|
174
|
+
const geo = ecef.toGeodetic();
|
|
175
|
+
const po2 = halfPi;
|
|
176
|
+
const sAz = Math.sin(this.azRad);
|
|
177
|
+
const cAz = Math.cos(this.azRad);
|
|
178
|
+
const sEl = Math.sin(this.elRad);
|
|
179
|
+
const cEl = Math.cos(this.elRad);
|
|
180
|
+
const pSez = new Vector3D((-this.rng * cEl * cAz), (this.rng * cEl * sAz), (this.rng * sEl));
|
|
181
|
+
const pDotSez = new Vector3D((-this.rngRate * cEl * cAz +
|
|
182
|
+
this.rng * sEl * cAz * this.elRateRad +
|
|
183
|
+
this.rng * cEl * sAz * this.azRateRad), (this.rngRate * cEl * sAz -
|
|
184
|
+
this.rng * sEl * sAz * this.elRateRad +
|
|
185
|
+
this.rng * cEl * cAz * this.azRateRad), (this.rngRate * sEl + this.rng * cEl * this.elRateRad));
|
|
186
|
+
const pEcef = pSez.rotY(-(po2 - geo.lat)).rotZ(-geo.lon);
|
|
187
|
+
const pDotEcef = pDotSez
|
|
188
|
+
.rotY(-(po2 - geo.lat))
|
|
189
|
+
.rotZ(-geo.lon);
|
|
190
|
+
const rEcef = pEcef.add(ecef.position);
|
|
191
|
+
return new ITRF(this.epoch, rEcef, pDotEcef).toJ2000();
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Calculate the angular distance _(rad)_ between this and another [Razel]
|
|
195
|
+
* object.
|
|
196
|
+
* @param razel The other [Razel] object.
|
|
197
|
+
* @param method The angular distance method to use.
|
|
198
|
+
* @returns The angular distance _(rad)_.
|
|
199
|
+
*/
|
|
200
|
+
angle(razel, method = AngularDistanceMethod.Cosine) {
|
|
201
|
+
return angularDistance(this.azRad, this.elRad, razel.azRad, razel.elRad, method);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Calculate the angular distance _(°)_ between this and another [Razel]
|
|
205
|
+
* object.
|
|
206
|
+
* @param razel The other [Razel] object.
|
|
207
|
+
* @param method The angular distance method to use.
|
|
208
|
+
* @returns The angular distance _(°)_.
|
|
209
|
+
*/
|
|
210
|
+
angleDegrees(razel, method = AngularDistanceMethod.Cosine) {
|
|
211
|
+
return this.angle(razel, method) * RAD2DEG;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=RAE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RAE.js","sourceRoot":"","sources":["../../src/observation/RAE.ts"],"names":[],"mappings":"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"}
|