ootk 5.1.0 → 6.0.0-rc.2
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/.claude/PROMPT.md +13 -0
- package/.claude/hooks/post-tool-use.ts +33 -0
- package/.claude/hooks/user-prompt-submit.ts +138 -0
- package/.claude/settings.local.json +13 -0
- package/.claude/skill-rules.json +11 -0
- package/.claude/skills/ootk-dev/SKILL.md +16 -0
- package/ADVANCED_FEATURES_GUIDE.md +1025 -0
- package/CHANGELOG.md +42 -3
- package/README.md +77 -45
- package/dist/body/Celestial.d.ts +2 -2
- package/dist/body/Celestial.js +2 -2
- package/dist/body/Celestial.js.map +1 -1
- package/dist/body/Earth.d.ts +4 -4
- package/dist/body/Earth.js +2 -2
- package/dist/body/Earth.js.map +1 -1
- package/dist/body/Moon.d.ts +3 -3
- package/dist/body/Moon.js +7 -7
- package/dist/body/Moon.js.map +1 -1
- package/dist/body/NutationAngles.d.ts +2 -2
- package/dist/body/NutationAngles.js +1 -1
- package/dist/body/PrecessionAngles.d.ts +2 -2
- package/dist/body/PrecessionAngles.js +1 -1
- package/dist/body/Sun.d.ts +2 -2
- package/dist/body/Sun.js +3 -3
- package/dist/body/Sun.js.map +1 -1
- package/dist/body/index.d.ts +5 -5
- package/dist/body/index.js +5 -5
- package/dist/body/index.js.map +1 -1
- package/dist/conjunction/ConjunctionAssessment.d.ts +156 -0
- package/dist/conjunction/ConjunctionAssessment.js +281 -0
- package/dist/conjunction/ConjunctionAssessment.js.map +1 -0
- package/dist/conjunction/ConjunctionEvent.d.ts +104 -0
- package/dist/conjunction/ConjunctionEvent.js +156 -0
- package/dist/conjunction/ConjunctionEvent.js.map +1 -0
- package/dist/conjunction/ProbabilityOfCollision.d.ts +102 -0
- package/dist/conjunction/ProbabilityOfCollision.js +240 -0
- package/dist/conjunction/ProbabilityOfCollision.js.map +1 -0
- package/dist/conjunction/index.d.ts +19 -0
- package/dist/conjunction/index.js +20 -0
- package/dist/conjunction/index.js.map +1 -0
- package/dist/coordinate/ClassicalElements.d.ts +7 -7
- package/dist/coordinate/ClassicalElements.js +7 -7
- package/dist/coordinate/ClassicalElements.js.map +1 -1
- package/dist/coordinate/EquinoctialElements.d.ts +5 -5
- package/dist/coordinate/EquinoctialElements.js +4 -4
- package/dist/coordinate/EquinoctialElements.js.map +1 -1
- package/dist/coordinate/FormatTle.d.ts +2 -2
- package/dist/coordinate/FormatTle.js +2 -2
- package/dist/coordinate/FormatTle.js.map +1 -1
- package/dist/coordinate/Geodetic.d.ts +4 -4
- package/dist/coordinate/Geodetic.js +7 -7
- package/dist/coordinate/Geodetic.js.map +1 -1
- package/dist/coordinate/Hill.d.ts +4 -4
- package/dist/coordinate/Hill.js +3 -3
- package/dist/coordinate/Hill.js.map +1 -1
- package/dist/coordinate/ITRF.d.ts +5 -5
- package/dist/coordinate/ITRF.js +6 -5
- package/dist/coordinate/ITRF.js.map +1 -1
- package/dist/coordinate/J2000.d.ts +5 -5
- package/dist/coordinate/J2000.js +5 -5
- package/dist/coordinate/J2000.js.map +1 -1
- package/dist/coordinate/RIC.d.ts +4 -4
- package/dist/coordinate/RIC.js +3 -3
- package/dist/coordinate/RIC.js.map +1 -1
- package/dist/coordinate/RelativeState.d.ts +5 -5
- package/dist/coordinate/RelativeState.js +2 -2
- package/dist/coordinate/RelativeState.js.map +1 -1
- package/dist/coordinate/StateVector.d.ts +2 -2
- package/dist/coordinate/StateVector.js +2 -2
- package/dist/coordinate/StateVector.js.map +1 -1
- package/dist/coordinate/TEME.d.ts +4 -4
- package/dist/coordinate/TEME.js +4 -4
- package/dist/coordinate/TEME.js.map +1 -1
- package/dist/coordinate/Tle.d.ts +5 -5
- package/dist/coordinate/Tle.js +9 -9
- package/dist/coordinate/Tle.js.map +1 -1
- package/dist/coordinate/index.d.ts +12 -12
- package/dist/coordinate/index.js +12 -12
- package/dist/coordinate/index.js.map +1 -1
- package/dist/coordinate/tle-format-data.d.ts +1 -1
- package/dist/coordinate/tle-format-data.js +1 -1
- package/dist/covariance/CovarianceSample.d.ts +5 -5
- package/dist/covariance/CovarianceSample.js +5 -5
- 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 -2
- package/dist/covariance/index.js +2 -2
- package/dist/covariance/index.js.map +1 -1
- package/dist/data/DataHandler.d.ts +4 -4
- package/dist/data/DataHandler.js +5 -5
- package/dist/data/DataHandler.js.map +1 -1
- package/dist/data/values/Egm96Data.d.ts +1 -1
- package/dist/data/values/Egm96Data.js +3 -3
- package/dist/data/values/Egm96Data.js.map +1 -1
- package/dist/data/values/HpAtmosphereData.d.ts +2 -2
- package/dist/data/values/HpAtmosphereData.js +3 -3
- package/dist/data/values/HpAtmosphereData.js.map +1 -1
- package/dist/data/values/HpAtmosphereResult.d.ts +2 -2
- package/dist/data/values/HpAtmosphereResult.js +1 -1
- package/dist/data/values/Iau1980Data.d.ts +1 -1
- package/dist/data/values/Iau1980Data.js +2 -2
- package/dist/data/values/Iau1980Data.js.map +1 -1
- package/dist/data/values/LeapSecond.d.ts +1 -1
- package/dist/data/values/LeapSecond.js +1 -1
- package/dist/data/values/LeapSecondData.d.ts +2 -2
- package/dist/data/values/LeapSecondData.js +2 -2
- package/dist/data/values/LeapSecondData.js.map +1 -1
- package/dist/data/values/egm96.d.ts +2 -2
- package/dist/data/values/egm96.js +1 -1
- package/dist/data/values/hpAtmosphere.d.ts +2 -2
- package/dist/data/values/hpAtmosphere.js +1 -1
- package/dist/data/values/iau1980.d.ts +2 -2
- package/dist/data/values/iau1980.js +1 -1
- package/dist/enums/AngularDiameterMethod.d.ts +1 -1
- package/dist/enums/AngularDiameterMethod.js +1 -1
- package/dist/enums/AngularDistanceMethod.d.ts +1 -1
- package/dist/enums/AngularDistanceMethod.js +1 -1
- package/dist/enums/OrbitRegime.d.ts +1 -1
- package/dist/enums/OrbitRegime.js +1 -1
- package/dist/enums/PassType.d.ts +1 -1
- package/dist/enums/PassType.js +1 -1
- package/dist/enums/Sgp4OpsMode.d.ts +1 -1
- package/dist/enums/Sgp4OpsMode.js +1 -1
- package/dist/enums/index.d.ts +7 -7
- package/dist/enums/index.js +7 -7
- package/dist/enums/index.js.map +1 -1
- package/dist/fetch/horizons-constants.d.ts +43 -0
- package/dist/fetch/horizons-constants.js +50 -0
- package/dist/fetch/horizons-constants.js.map +1 -0
- package/dist/fetch/horizons-interfaces.d.ts +37 -0
- package/dist/fetch/horizons-interfaces.js +2 -0
- package/dist/fetch/horizons-interfaces.js.map +1 -0
- package/dist/fetch/horizons.d.ts +86 -0
- package/dist/fetch/horizons.js +237 -0
- package/dist/fetch/horizons.js.map +1 -0
- package/dist/force/AtmosphericDrag.d.ts +3 -3
- package/dist/force/AtmosphericDrag.js +2 -2
- package/dist/force/AtmosphericDrag.js.map +1 -1
- package/dist/force/EarthGravity.d.ts +3 -3
- package/dist/force/EarthGravity.js +2 -2
- package/dist/force/EarthGravity.js.map +1 -1
- package/dist/force/Force.d.ts +3 -3
- package/dist/force/Force.js +1 -10
- package/dist/force/Force.js.map +1 -1
- package/dist/force/ForceModel.d.ts +3 -3
- package/dist/force/ForceModel.js +7 -7
- package/dist/force/ForceModel.js.map +1 -1
- package/dist/force/Gravity.d.ts +3 -3
- package/dist/force/Gravity.js +2 -2
- package/dist/force/Gravity.js.map +1 -1
- package/dist/force/SolarRadiationPressure.d.ts +3 -3
- package/dist/force/SolarRadiationPressure.js +4 -4
- package/dist/force/SolarRadiationPressure.js.map +1 -1
- package/dist/force/ThirdBodyGravity.d.ts +3 -3
- package/dist/force/ThirdBodyGravity.js +2 -2
- package/dist/force/ThirdBodyGravity.js.map +1 -1
- package/dist/force/Thrust.d.ts +3 -3
- package/dist/force/Thrust.js +2 -2
- package/dist/force/Thrust.js.map +1 -1
- package/dist/force/index.d.ts +1 -1
- package/dist/force/index.js +1 -1
- package/dist/force/index.js.map +1 -1
- package/dist/interfaces/BaseObjectParams.d.ts +2 -2
- package/dist/interfaces/BaseObjectParams.js +1 -1
- package/dist/interfaces/ClassicalElementsParams.d.ts +2 -2
- package/dist/interfaces/ClassicalElementsParams.js +1 -1
- package/dist/interfaces/EquinoctialElementsParams.d.ts +2 -2
- package/dist/interfaces/EquinoctialElementsParams.js +1 -1
- package/dist/interfaces/GroundPositionParams.d.ts +2 -2
- package/dist/interfaces/GroundPositionParams.js +1 -1
- package/dist/interfaces/RfSensorParams.d.ts +2 -2
- package/dist/interfaces/SatelliteParams.d.ts +2 -2
- package/dist/interfaces/SensorParams.d.ts +2 -2
- package/dist/interfaces/StarObjectParams.d.ts +1 -1
- package/dist/interfaces/TimeVariables.d.ts +1 -1
- package/dist/interfaces/index.d.ts +9 -9
- package/dist/interpolator/ChebyshevCoefficients.d.ts +2 -2
- package/dist/interpolator/ChebyshevCoefficients.js +2 -2
- package/dist/interpolator/ChebyshevCoefficients.js.map +1 -1
- package/dist/interpolator/ChebyshevInterpolator.d.ts +4 -4
- package/dist/interpolator/ChebyshevInterpolator.js +3 -3
- 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 +4 -4
- package/dist/interpolator/CubicSplineInterpolator.js.map +1 -1
- package/dist/interpolator/FieldInterpolator.d.ts +3 -3
- package/dist/interpolator/FieldInterpolator.js +2 -12
- package/dist/interpolator/FieldInterpolator.js.map +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 +3 -3
- package/dist/interpolator/LagrangeInterpolator.js +3 -3
- package/dist/interpolator/LagrangeInterpolator.js.map +1 -1
- package/dist/interpolator/StateInterpolator.d.ts +4 -4
- package/dist/interpolator/StateInterpolator.js +2 -10
- package/dist/interpolator/StateInterpolator.js.map +1 -1
- package/dist/interpolator/VerletBlendInterpolator.d.ts +5 -5
- package/dist/interpolator/VerletBlendInterpolator.js +5 -5
- package/dist/interpolator/VerletBlendInterpolator.js.map +1 -1
- package/dist/main.d.ts +20 -20
- package/dist/main.js +21 -20
- package/dist/main.js.map +1 -1
- package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +3 -3
- package/dist/maneuver/TwoBurnOrbitTransfer.js +3 -3
- package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -1
- package/dist/maneuver/Waypoint.d.ts +5 -5
- package/dist/maneuver/Waypoint.js +7 -7
- package/dist/maneuver/Waypoint.js.map +1 -1
- package/dist/objects/BaseObject.d.ts +3 -3
- package/dist/objects/BaseObject.js +2 -2
- package/dist/objects/BaseObject.js.map +1 -1
- package/dist/objects/DetailedSatellite.d.ts +4 -4
- package/dist/objects/DetailedSatellite.js +4 -4
- package/dist/objects/DetailedSatellite.js.map +1 -1
- package/dist/objects/DetailedSensor.d.ts +5 -5
- package/dist/objects/DetailedSensor.js +2 -2
- package/dist/objects/DetailedSensor.js.map +1 -1
- package/dist/objects/GroundObject.d.ts +4 -4
- package/dist/objects/GroundObject.js +3 -3
- package/dist/objects/GroundObject.js.map +1 -1
- package/dist/objects/LandObject.d.ts +3 -3
- 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 +2 -2
- package/dist/objects/RfSensor.js +2 -2
- package/dist/objects/RfSensor.js.map +1 -1
- package/dist/objects/Satellite.d.ts +12 -12
- package/dist/objects/Satellite.js +14 -14
- package/dist/objects/Satellite.js.map +1 -1
- package/dist/objects/Sensor.d.ts +6 -6
- package/dist/objects/Sensor.js +5 -5
- package/dist/objects/Sensor.js.map +1 -1
- package/dist/objects/Star.d.ts +3 -3
- package/dist/objects/Star.js +3 -3
- package/dist/objects/Star.js.map +1 -1
- package/dist/objects/index.d.ts +10 -10
- package/dist/objects/index.js +10 -10
- package/dist/objects/index.js.map +1 -1
- package/dist/observation/Observation.d.ts +11 -11
- package/dist/observation/Observation.js +1 -52
- package/dist/observation/Observation.js.map +1 -1
- package/dist/observation/ObservationOptical.d.ts +6 -6
- package/dist/observation/ObservationOptical.js +4 -4
- package/dist/observation/ObservationOptical.js.map +1 -1
- package/dist/observation/ObservationRadar.d.ts +6 -6
- package/dist/observation/ObservationRadar.js +4 -4
- package/dist/observation/ObservationRadar.js.map +1 -1
- package/dist/observation/ObservationUtils.d.ts +2 -2
- package/dist/observation/ObservationUtils.js +2 -2
- package/dist/observation/ObservationUtils.js.map +1 -1
- package/dist/observation/PropagatorPairs.d.ts +2 -2
- package/dist/observation/PropagatorPairs.js +1 -1
- package/dist/observation/RAE.d.ts +6 -6
- package/dist/observation/RAE.js +6 -6
- package/dist/observation/RAE.js.map +1 -1
- package/dist/observation/RadecGeocentric.d.ts +6 -6
- package/dist/observation/RadecGeocentric.js +5 -5
- package/dist/observation/RadecGeocentric.js.map +1 -1
- package/dist/observation/RadecTopocentric.d.ts +6 -6
- package/dist/observation/RadecTopocentric.js +9 -7
- package/dist/observation/RadecTopocentric.js.map +1 -1
- package/dist/observation/index.d.ts +5 -5
- package/dist/observation/index.js +5 -5
- package/dist/observation/index.js.map +1 -1
- 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 +2 -2
- package/dist/operations/Matrix.js +2 -2
- package/dist/operations/Matrix.js.map +1 -1
- package/dist/operations/Quaternion.d.ts +2 -2
- package/dist/operations/Quaternion.js +2 -2
- package/dist/operations/Quaternion.js.map +1 -1
- package/dist/operations/Random.d.ts +1 -1
- package/dist/operations/Random.js +1 -1
- package/dist/operations/RandomGaussianSource.d.ts +2 -2
- package/dist/operations/RandomGaussianSource.js +3 -3
- package/dist/operations/RandomGaussianSource.js.map +1 -1
- package/dist/operations/Vector.d.ts +2 -2
- package/dist/operations/Vector.js +2 -2
- package/dist/operations/Vector.js.map +1 -1
- package/dist/operations/Vector3D.d.ts +5 -4
- package/dist/operations/Vector3D.js +5 -4
- package/dist/operations/Vector3D.js.map +1 -1
- package/dist/operations/index.d.ts +4 -4
- package/dist/operations/index.js +4 -4
- package/dist/operations/index.js.map +1 -1
- package/dist/operations/operations.d.ts +5 -5
- package/dist/operations/operations.js +5 -5
- package/dist/operations/operations.js.map +1 -1
- package/dist/optimize/ChebyshevCompressor.d.ts +3 -3
- package/dist/optimize/ChebyshevCompressor.js +4 -4
- package/dist/optimize/ChebyshevCompressor.js.map +1 -1
- package/dist/optimize/DownhillSimplex.d.ts +2 -2
- package/dist/optimize/DownhillSimplex.js +2 -2
- package/dist/optimize/DownhillSimplex.js.map +1 -1
- package/dist/optimize/GoldenSection.d.ts +2 -2
- package/dist/optimize/GoldenSection.js +1 -1
- package/dist/optimize/PolynomialRegression.d.ts +2 -2
- package/dist/optimize/PolynomialRegression.js +4 -4
- 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 +1 -1
- package/dist/optimize/SimplexEntry.js +2 -2
- package/dist/optimize/SimplexEntry.js.map +1 -1
- package/dist/orbit_determination/BatchLeastSquaresOD.d.ts +5 -5
- package/dist/orbit_determination/BatchLeastSquaresOD.js +8 -8
- package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -1
- package/dist/orbit_determination/BatchLeastSquaresResult.d.ts +3 -3
- package/dist/orbit_determination/BatchLeastSquaresResult.js +1 -1
- package/dist/orbit_determination/GaussIOD.d.ts +98 -0
- package/dist/orbit_determination/GaussIOD.js +291 -0
- package/dist/orbit_determination/GaussIOD.js.map +1 -0
- package/dist/orbit_determination/GibbsIOD.d.ts +2 -2
- package/dist/orbit_determination/GibbsIOD.js +4 -4
- package/dist/orbit_determination/GibbsIOD.js.map +1 -1
- package/dist/orbit_determination/GoodingIOD.d.ts +58 -8
- package/dist/orbit_determination/GoodingIOD.js +225 -35
- 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 +3 -3
- package/dist/orbit_determination/ModifiedGoodingIOD.js +8 -8
- package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -1
- package/dist/orbit_determination/index.d.ts +7 -7
- package/dist/orbit_determination/index.js +7 -7
- package/dist/orbit_determination/index.js.map +1 -1
- package/dist/propagator/DormandPrince54Propagator.d.ts +2 -2
- package/dist/propagator/DormandPrince54Propagator.js +2 -2
- package/dist/propagator/DormandPrince54Propagator.js.map +1 -1
- package/dist/propagator/KeplerPropagator.d.ts +6 -6
- package/dist/propagator/KeplerPropagator.js +6 -7
- package/dist/propagator/KeplerPropagator.js.map +1 -1
- package/dist/propagator/Propagator.d.ts +5 -5
- package/dist/propagator/Propagator.js +5 -5
- 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 +6 -6
- package/dist/propagator/RungeKutta4Propagator.js +5 -5
- package/dist/propagator/RungeKutta4Propagator.js.map +1 -1
- package/dist/propagator/RungeKutta89Propagator.d.ts +2 -2
- package/dist/propagator/RungeKutta89Propagator.js +2 -2
- package/dist/propagator/RungeKutta89Propagator.js.map +1 -1
- package/dist/propagator/RungeKuttaAdaptive.d.ts +6 -6
- package/dist/propagator/RungeKuttaAdaptive.js +52 -9
- package/dist/propagator/RungeKuttaAdaptive.js.map +1 -1
- package/dist/propagator/Sgp4Propagator.d.ts +7 -7
- package/dist/propagator/Sgp4Propagator.js +4 -4
- package/dist/propagator/Sgp4Propagator.js.map +1 -1
- package/dist/propagator/index.d.ts +3 -3
- package/dist/propagator/index.js +3 -3
- package/dist/propagator/index.js.map +1 -1
- package/dist/sgp4/index.d.ts +2 -2
- package/dist/sgp4/index.js +2 -2
- package/dist/sgp4/index.js.map +1 -1
- package/dist/sgp4/sgp4.d.ts +3 -3
- package/dist/sgp4/sgp4.js +11 -5
- package/dist/sgp4/sgp4.js.map +1 -1
- package/dist/smoothing/ExponentialSmoothing.d.ts +2 -2
- package/dist/smoothing/ExponentialSmoothing.js +1 -1
- package/dist/time/Epoch.d.ts +2 -2
- package/dist/time/Epoch.js +2 -2
- package/dist/time/Epoch.js.map +1 -1
- package/dist/time/EpochGPS.d.ts +3 -3
- package/dist/time/EpochGPS.js +3 -3
- package/dist/time/EpochGPS.js.map +1 -1
- package/dist/time/EpochTAI.d.ts +2 -2
- package/dist/time/EpochTAI.js +2 -2
- package/dist/time/EpochTAI.js.map +1 -1
- package/dist/time/EpochTDB.d.ts +2 -2
- package/dist/time/EpochTDB.js +2 -2
- package/dist/time/EpochTDB.js.map +1 -1
- package/dist/time/EpochTT.d.ts +2 -2
- package/dist/time/EpochTT.js +2 -2
- package/dist/time/EpochTT.js.map +1 -1
- package/dist/time/EpochUTC.d.ts +7 -7
- package/dist/time/EpochUTC.js +9 -9
- package/dist/time/EpochUTC.js.map +1 -1
- package/dist/time/EpochWindow.d.ts +2 -2
- package/dist/time/EpochWindow.js +1 -1
- package/dist/time/TimeStamped.d.ts +2 -2
- package/dist/time/TimeStamped.js +1 -1
- package/dist/time/index.d.ts +8 -8
- package/dist/time/index.js +8 -8
- package/dist/time/index.js.map +1 -1
- package/dist/transforms/TransformCache.d.ts +1 -1
- package/dist/transforms/TransformCache.js +1 -1
- package/dist/transforms/conversions.d.ts +2 -2
- package/dist/transforms/conversions.js +2 -2
- package/dist/transforms/conversions.js.map +1 -1
- package/dist/transforms/index.d.ts +2 -2
- package/dist/transforms/index.js +2 -2
- package/dist/transforms/index.js.map +1 -1
- package/dist/transforms/transforms.d.ts +1 -1
- package/dist/transforms/transforms.js +1 -1
- package/dist/transforms/transforms.js.map +1 -1
- package/dist/types/types.d.ts +8 -3
- package/dist/types/types.js +6 -1
- package/dist/types/types.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -2
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/create-covariance-from-tle.d.ts +1 -1
- package/dist/utils/create-covariance-from-tle.js +1 -1
- package/dist/utils/create-covariance-from-tle.js.map +1 -1
- package/dist/utils/functions.d.ts +4 -4
- package/dist/utils/functions.js +9 -4
- package/dist/utils/functions.js.map +1 -1
- package/dist/utils/index.d.ts +5 -5
- package/dist/utils/index.js +5 -5
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/jacobian.d.ts +2 -2
- package/dist/utils/jacobian.js +1 -1
- package/dist/utils/jacobian.js.map +1 -1
- package/dist/utils/linearDistance.d.ts +1 -1
- package/docs/README.md +132 -0
- package/docs/getting-started.md +792 -0
- package/docs/lambert-satellite-integration-guide.md +766 -0
- package/docs/user-guide.md +1935 -0
- package/jest.config.mjs +28 -0
- package/package.json +3 -4
- package/src/body/Celestial.ts +2 -2
- package/src/body/Earth.ts +4 -4
- package/src/body/Moon.ts +7 -7
- package/src/body/NutationAngles.ts +2 -2
- package/src/body/PrecessionAngles.ts +2 -2
- package/src/body/Sun.ts +4 -4
- package/src/body/index.ts +6 -5
- package/src/conjunction/ConjunctionAssessment.ts +417 -0
- package/src/conjunction/ConjunctionEvent.ts +149 -0
- package/src/conjunction/ProbabilityOfCollision.ts +300 -0
- package/src/conjunction/index.ts +24 -0
- package/src/coordinate/ClassicalElements.ts +16 -11
- package/src/coordinate/EquinoctialElements.ts +7 -7
- package/src/coordinate/FormatTle.ts +2 -2
- package/src/coordinate/Geodetic.ts +8 -8
- package/src/coordinate/Hill.ts +4 -4
- package/src/coordinate/ITRF.ts +6 -6
- package/src/coordinate/J2000.ts +7 -7
- package/src/coordinate/RIC.ts +4 -4
- package/src/coordinate/RelativeState.ts +5 -5
- package/src/coordinate/StateVector.ts +8 -3
- package/src/coordinate/TEME.ts +6 -6
- package/src/coordinate/Tle.ts +9 -9
- package/src/coordinate/index.ts +13 -12
- package/src/coordinate/tle-format-data.ts +1 -1
- package/src/covariance/CovarianceSample.ts +13 -13
- package/src/covariance/StateCovariance.ts +2 -2
- package/src/covariance/index.ts +3 -2
- package/src/data/DataHandler.ts +6 -6
- package/src/data/values/Egm96Data.ts +3 -3
- package/src/data/values/HpAtmosphereData.ts +3 -3
- package/src/data/values/HpAtmosphereResult.ts +2 -2
- package/src/data/values/Iau1980Data.ts +2 -2
- package/src/data/values/LeapSecond.ts +1 -1
- package/src/data/values/LeapSecondData.ts +2 -2
- package/src/data/values/egm96.ts +2 -2
- package/src/data/values/hpAtmosphere.ts +2 -2
- package/src/data/values/iau1980.ts +2 -2
- package/src/enums/AngularDiameterMethod.ts +1 -1
- package/src/enums/AngularDistanceMethod.ts +1 -1
- package/src/enums/OrbitRegime.ts +1 -1
- package/src/enums/PassType.ts +1 -1
- package/src/enums/Sgp4OpsMode.ts +1 -1
- package/src/enums/index.ts +8 -7
- package/src/fetch/horizons-constants.ts +53 -0
- package/src/fetch/horizons-interfaces.ts +38 -0
- package/src/fetch/horizons.ts +300 -0
- package/src/force/AtmosphericDrag.ts +3 -3
- package/src/force/EarthGravity.ts +3 -3
- package/src/force/Force.ts +3 -5
- package/src/force/ForceModel.ts +9 -9
- package/src/force/Gravity.ts +3 -3
- package/src/force/SolarRadiationPressure.ts +4 -4
- package/src/force/ThirdBodyGravity.ts +3 -3
- package/src/force/Thrust.ts +3 -3
- package/src/force/index.ts +2 -1
- package/src/interfaces/BaseObjectParams.ts +2 -2
- package/src/interfaces/ClassicalElementsParams.ts +2 -2
- package/src/interfaces/EquinoctialElementsParams.ts +2 -2
- package/src/interfaces/GroundPositionParams.ts +2 -2
- package/src/interfaces/RfSensorParams.ts +2 -2
- package/src/interfaces/SatelliteParams.ts +2 -2
- package/src/interfaces/SensorParams.ts +3 -3
- package/src/interfaces/StarObjectParams.ts +1 -1
- package/src/interfaces/TimeVariables.ts +1 -1
- package/src/interfaces/index.ts +10 -9
- package/src/interpolator/ChebyshevCoefficients.ts +2 -2
- package/src/interpolator/ChebyshevInterpolator.ts +4 -4
- package/src/interpolator/CubicSpline.ts +2 -2
- package/src/interpolator/CubicSplineInterpolator.ts +4 -4
- package/src/interpolator/FieldInterpolator.ts +3 -5
- package/src/interpolator/Interpolator.ts +2 -2
- package/src/interpolator/LagrangeInterpolator.ts +3 -3
- package/src/interpolator/StateInterpolator.ts +4 -6
- package/src/interpolator/VerletBlendInterpolator.ts +5 -5
- package/src/main.ts +41 -20
- package/src/maneuver/TwoBurnOrbitTransfer.ts +3 -3
- package/src/maneuver/Waypoint.ts +8 -8
- package/src/objects/BaseObject.ts +3 -3
- package/src/objects/DetailedSatellite.ts +9 -9
- package/src/objects/DetailedSensor.ts +5 -5
- package/src/objects/GroundObject.ts +9 -9
- package/src/objects/LandObject.ts +3 -3
- package/src/objects/Marker.ts +2 -2
- package/src/objects/RfSensor.ts +2 -2
- package/src/objects/Satellite.ts +21 -21
- package/src/objects/Sensor.ts +7 -7
- package/src/objects/Star.ts +3 -3
- package/src/objects/index.ts +11 -10
- package/src/observation/Observation.ts +11 -23
- package/src/observation/ObservationOptical.ts +7 -7
- package/src/observation/ObservationRadar.ts +7 -7
- package/src/observation/ObservationUtils.ts +2 -2
- package/src/observation/PropagatorPairs.ts +2 -2
- package/src/observation/RAE.ts +9 -9
- package/src/observation/RadecGeocentric.ts +9 -9
- package/src/observation/RadecTopocentric.ts +13 -10
- package/src/observation/index.ts +6 -5
- package/src/operations/BoxMuller.ts +2 -2
- package/src/operations/EulerAngles.ts +2 -2
- package/src/operations/Matrix.ts +2 -2
- package/src/operations/Quaternion.ts +2 -2
- package/src/operations/Random.ts +1 -1
- package/src/operations/RandomGaussianSource.ts +3 -3
- package/src/operations/Vector.ts +2 -2
- package/src/operations/Vector3D.ts +6 -4
- package/src/operations/index.ts +5 -4
- package/src/operations/operations.ts +6 -5
- package/src/optimize/ChebyshevCompressor.ts +5 -5
- package/src/optimize/DownhillSimplex.ts +2 -2
- package/src/optimize/GoldenSection.ts +2 -2
- package/src/optimize/PolynomialRegression.ts +4 -4
- package/src/optimize/PolynomicalRegressionResult.ts +1 -1
- package/src/optimize/SimpleLinearRegression.ts +1 -1
- package/src/optimize/SimplexEntry.ts +2 -2
- package/src/orbit_determination/BatchLeastSquaresOD.ts +10 -10
- package/src/orbit_determination/BatchLeastSquaresResult.ts +3 -3
- package/src/orbit_determination/GaussIOD.ts +393 -0
- package/src/orbit_determination/GibbsIOD.ts +4 -4
- package/src/orbit_determination/GoodingIOD.ts +458 -160
- package/src/orbit_determination/HerrickGibbsIOD.ts +2 -2
- package/src/orbit_determination/LambertIOD.ts +2 -2
- package/src/orbit_determination/ModifiedGoodingIOD.ts +33 -22
- package/src/orbit_determination/index.ts +8 -7
- package/src/propagator/DormandPrince54Propagator.ts +2 -2
- package/src/propagator/KeplerPropagator.ts +7 -8
- package/src/propagator/Propagator.ts +6 -6
- package/src/propagator/RkCheckpoint.ts +2 -2
- package/src/propagator/RkResult.ts +2 -2
- package/src/propagator/RungeKutta4Propagator.ts +6 -6
- package/src/propagator/RungeKutta89Propagator.ts +2 -2
- package/src/propagator/RungeKuttaAdaptive.ts +62 -12
- package/src/propagator/Sgp4Propagator.ts +7 -7
- package/src/propagator/index.ts +4 -3
- package/src/sgp4/index.ts +3 -2
- package/src/sgp4/sgp4.ts +6 -6
- package/src/smoothing/ExponentialSmoothing.ts +2 -2
- package/src/time/Epoch.ts +3 -3
- package/src/time/EpochGPS.ts +5 -5
- package/src/time/EpochTAI.ts +2 -2
- package/src/time/EpochTDB.ts +2 -2
- package/src/time/EpochTT.ts +2 -2
- package/src/time/EpochUTC.ts +10 -10
- package/src/time/EpochWindow.ts +2 -2
- package/src/time/TimeStamped.ts +2 -2
- package/src/time/index.ts +9 -8
- package/src/transforms/TransformCache.ts +1 -1
- package/src/transforms/conversions.ts +2 -2
- package/src/transforms/index.ts +3 -2
- package/src/transforms/transforms.ts +4 -4
- package/src/types/types.ts +8 -3
- package/src/utils/constants.ts +2 -2
- package/src/utils/create-covariance-from-tle.ts +1 -1
- package/src/utils/functions.ts +10 -5
- package/src/utils/index.ts +6 -5
- package/src/utils/jacobian.ts +2 -2
- package/src/utils/linearDistance.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { EpochUTC, J2000, Matrix, Vector, Vector3D } from '../main
|
|
19
|
-
import { Propagator } from '../propagator/Propagator
|
|
20
|
-
import { RandomGaussianSource } from './../operations/RandomGaussianSource
|
|
21
|
-
import { PropagatorPairs } from './PropagatorPairs
|
|
18
|
+
import { EpochUTC, J2000, Matrix, Vector, Vector3D } from '../main';
|
|
19
|
+
import { Propagator } from '../propagator/Propagator';
|
|
20
|
+
import { RandomGaussianSource } from './../operations/RandomGaussianSource';
|
|
21
|
+
import { PropagatorPairs } from './PropagatorPairs';
|
|
22
22
|
|
|
23
23
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
24
24
|
/**
|
|
@@ -40,9 +40,7 @@ export abstract class Observation {
|
|
|
40
40
|
* @param propagator Propagator to compare against.
|
|
41
41
|
* @throws Not implemented.
|
|
42
42
|
*/
|
|
43
|
-
clos(propagator: Propagator): number
|
|
44
|
-
throw new Error('Not implemented');
|
|
45
|
-
}
|
|
43
|
+
abstract clos(propagator: Propagator): number;
|
|
46
44
|
|
|
47
45
|
/**
|
|
48
46
|
* Return relative state residual for the observation when compared against
|
|
@@ -50,35 +48,27 @@ export abstract class Observation {
|
|
|
50
48
|
* @param propagator Propagator to compare against.
|
|
51
49
|
* @throws Not implemented.
|
|
52
50
|
*/
|
|
53
|
-
ricDiff(propagator: Propagator): Vector3D
|
|
54
|
-
throw new Error('Not implemented');
|
|
55
|
-
}
|
|
51
|
+
abstract ricDiff(propagator: Propagator): Vector3D;
|
|
56
52
|
|
|
57
53
|
/**
|
|
58
54
|
* Convert this observation to vector form.
|
|
59
55
|
* @throws Not implemented.
|
|
60
56
|
*/
|
|
61
|
-
toVector(): Vector
|
|
62
|
-
throw new Error('Not implemented');
|
|
63
|
-
}
|
|
57
|
+
abstract toVector(): Vector;
|
|
64
58
|
|
|
65
59
|
/**
|
|
66
60
|
* Compute the state derivative matrix for this observation.
|
|
67
61
|
* @param propPairs Propagator pairs to compare against.
|
|
68
62
|
* @throws Not implemented.
|
|
69
63
|
*/
|
|
70
|
-
jacobian(propPairs: PropagatorPairs): Matrix
|
|
71
|
-
throw new Error('Not implemented');
|
|
72
|
-
}
|
|
64
|
+
abstract jacobian(propPairs: PropagatorPairs): Matrix;
|
|
73
65
|
|
|
74
66
|
/**
|
|
75
67
|
* Compute the state residual matrix for this observation.
|
|
76
68
|
* @param propagator Propagator to compare against.
|
|
77
69
|
* @throws Not implemented.
|
|
78
70
|
*/
|
|
79
|
-
residual(propagator: Propagator): Matrix
|
|
80
|
-
throw new Error('Not implemented');
|
|
81
|
-
}
|
|
71
|
+
abstract residual(propagator: Propagator): Matrix;
|
|
82
72
|
|
|
83
73
|
/**
|
|
84
74
|
* Convert this observation's noise matrix into a covariance matrix.
|
|
@@ -119,7 +109,5 @@ export abstract class Observation {
|
|
|
119
109
|
* @param sigma Sigma value to scale the noise by.
|
|
120
110
|
* @throws Not implemented.
|
|
121
111
|
*/
|
|
122
|
-
sample(random: RandomGaussianSource, sigma
|
|
123
|
-
throw new Error('Not implemented');
|
|
124
|
-
}
|
|
112
|
+
abstract sample(random: RandomGaussianSource, sigma: number): Observation;
|
|
125
113
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -27,12 +27,12 @@ import {
|
|
|
27
27
|
RIC,
|
|
28
28
|
Vector,
|
|
29
29
|
Vector3D,
|
|
30
|
-
} from '../main
|
|
31
|
-
import { RandomGaussianSource } from '../operations/RandomGaussianSource
|
|
32
|
-
import { Propagator } from '../propagator/Propagator
|
|
33
|
-
import { Observation } from './Observation
|
|
34
|
-
import { normalizeAngle, observationDerivative, observationNoiseFromSigmas } from './ObservationUtils
|
|
35
|
-
import { PropagatorPairs } from './PropagatorPairs
|
|
30
|
+
} from '../main';
|
|
31
|
+
import { RandomGaussianSource } from '../operations/RandomGaussianSource';
|
|
32
|
+
import { Propagator } from '../propagator/Propagator';
|
|
33
|
+
import { Observation } from './Observation';
|
|
34
|
+
import { normalizeAngle, observationDerivative, observationNoiseFromSigmas } from './ObservationUtils';
|
|
35
|
+
import { PropagatorPairs } from './PropagatorPairs';
|
|
36
36
|
|
|
37
37
|
// / Optical observation data.
|
|
38
38
|
export class ObservationOptical extends Observation {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -28,12 +28,12 @@ import {
|
|
|
28
28
|
RIC,
|
|
29
29
|
Vector,
|
|
30
30
|
Vector3D,
|
|
31
|
-
} from '../main
|
|
32
|
-
import { RandomGaussianSource } from '../operations/RandomGaussianSource
|
|
33
|
-
import { Propagator } from '../propagator/Propagator
|
|
34
|
-
import { Observation } from './Observation
|
|
35
|
-
import { normalizeAngle, observationDerivative, observationNoiseFromSigmas } from './ObservationUtils
|
|
36
|
-
import { PropagatorPairs } from './PropagatorPairs
|
|
31
|
+
} from '../main';
|
|
32
|
+
import { RandomGaussianSource } from '../operations/RandomGaussianSource';
|
|
33
|
+
import { Propagator } from '../propagator/Propagator';
|
|
34
|
+
import { Observation } from './Observation';
|
|
35
|
+
import { normalizeAngle, observationDerivative, observationNoiseFromSigmas } from './ObservationUtils';
|
|
36
|
+
import { PropagatorPairs } from './PropagatorPairs';
|
|
37
37
|
|
|
38
38
|
// / Radar observation data.
|
|
39
39
|
export class ObservationRadar extends Observation {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import {
|
|
18
|
+
import { Kilometers, KilometersPerSecond, Matrix, Radians, RadiansPerSecond, Vector3D } from '../main';
|
|
19
19
|
|
|
20
20
|
export const radecToPosition = (ra: Radians, dec: Radians, r: Kilometers): Vector3D<Kilometers> => {
|
|
21
21
|
const ca = Math.cos(ra);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { Propagator } from '../propagator/Propagator
|
|
18
|
+
import { Propagator } from '../propagator/Propagator';
|
|
19
19
|
|
|
20
20
|
export class PropagatorPairs {
|
|
21
21
|
constructor(private readonly posStep_: number, private readonly velStep_: number) {
|
package/src/observation/RAE.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @description Orbital Object ToolKit (ootk) is a collection of tools for working
|
|
4
4
|
* with satellites and other orbital objects.
|
|
5
5
|
* @license AGPL-3.0-or-later
|
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
/* eslint-disable no-undefined */
|
|
25
|
-
import { ITRF } from '../coordinate/ITRF
|
|
26
|
-
import { J2000 } from '../coordinate/J2000
|
|
27
|
-
import { AngularDistanceMethod } from '../enums/AngularDistanceMethod
|
|
28
|
-
import { Degrees, Kilometers, KilometersPerSecond, Radians } from '../main
|
|
29
|
-
import { Vector3D } from '../operations/Vector3D
|
|
30
|
-
import { EpochUTC } from '../time/EpochUTC
|
|
31
|
-
import { DEG2RAD, halfPi, RAD2DEG, TAU } from '../utils/constants
|
|
32
|
-
import { angularDistance } from '../utils/functions
|
|
25
|
+
import { ITRF } from '../coordinate/ITRF';
|
|
26
|
+
import { J2000 } from '../coordinate/J2000';
|
|
27
|
+
import { AngularDistanceMethod } from '../enums/AngularDistanceMethod';
|
|
28
|
+
import { Degrees, Kilometers, KilometersPerSecond, Radians } from '../main';
|
|
29
|
+
import { Vector3D } from '../operations/Vector3D';
|
|
30
|
+
import { EpochUTC } from '../time/EpochUTC';
|
|
31
|
+
import { DEG2RAD, halfPi, RAD2DEG, TAU } from '../utils/constants';
|
|
32
|
+
import { angularDistance } from '../utils/functions';
|
|
33
33
|
|
|
34
34
|
// / Range, azimuth, and elevation.
|
|
35
35
|
export class RAE {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @description Orbital Object ToolKit (ootk) is a collection of tools for working
|
|
4
4
|
* with satellites and other orbital objects.
|
|
5
5
|
* @license AGPL-3.0-or-later
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import { Vector3D } from '../operations/Vector3D
|
|
28
|
-
import { EpochUTC } from '../time/EpochUTC
|
|
29
|
-
import { DEG2RAD, RAD2DEG, TAU } from '../utils/constants
|
|
30
|
-
import { angularDistance } from '../utils/functions
|
|
31
|
-
import { radecToPosition, radecToVelocity } from './ObservationUtils
|
|
24
|
+
import { J2000 } from '../coordinate/J2000';
|
|
25
|
+
import { AngularDistanceMethod } from '../enums/AngularDistanceMethod';
|
|
26
|
+
import { Degrees, DegreesPerSecond, Kilometers, KilometersPerSecond, Radians, RadiansPerSecond } from '../main';
|
|
27
|
+
import { Vector3D } from '../operations/Vector3D';
|
|
28
|
+
import { EpochUTC } from '../time/EpochUTC';
|
|
29
|
+
import { DEG2RAD, RAD2DEG, TAU } from '../utils/constants';
|
|
30
|
+
import { angularDistance } from '../utils/functions';
|
|
31
|
+
import { radecToPosition, radecToVelocity } from './ObservationUtils';
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Represents a geocentric right ascension and declination observation.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @description Orbital Object ToolKit (ootk) is a collection of tools for working
|
|
4
4
|
* with satellites and other orbital objects.
|
|
5
5
|
* @license AGPL-3.0-or-later
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import { Vector3D } from '../operations/Vector3D
|
|
28
|
-
import { EpochUTC } from '../time/EpochUTC
|
|
29
|
-
import { DEG2RAD, RAD2DEG, TAU } from '../utils/constants
|
|
30
|
-
import { angularDistance } from '../utils/functions
|
|
31
|
-
import { radecToPosition, radecToVelocity } from './ObservationUtils
|
|
24
|
+
import { J2000 } from '../coordinate/J2000';
|
|
25
|
+
import { AngularDistanceMethod } from '../enums/AngularDistanceMethod';
|
|
26
|
+
import { Degrees, DegreesPerSecond, Kilometers, KilometersPerSecond, Radians, RadiansPerSecond } from '../main';
|
|
27
|
+
import { Vector3D } from '../operations/Vector3D';
|
|
28
|
+
import { EpochUTC } from '../time/EpochUTC';
|
|
29
|
+
import { DEG2RAD, RAD2DEG, TAU } from '../utils/constants';
|
|
30
|
+
import { angularDistance } from '../utils/functions';
|
|
31
|
+
import { radecToPosition, radecToVelocity } from './ObservationUtils';
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Represents a topocentric right ascension and declination observation.
|
|
@@ -134,7 +134,10 @@ export class RadecTopocentric {
|
|
|
134
134
|
* @returns The right ascension in degrees.
|
|
135
135
|
*/
|
|
136
136
|
get rightAscensionDegrees(): Degrees {
|
|
137
|
-
|
|
137
|
+
const deg = this.rightAscension * RAD2DEG;
|
|
138
|
+
const normalized = ((deg % 360) + 360) % 360;
|
|
139
|
+
|
|
140
|
+
return normalized as Degrees;
|
|
138
141
|
}
|
|
139
142
|
|
|
140
143
|
/**
|
package/src/observation/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @description Orbital Object ToolKit (ootk) is a collection of tools for working
|
|
4
4
|
* with satellites and other orbital objects.
|
|
5
5
|
* @license AGPL-3.0-or-later
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
export * from './ObservationUtils
|
|
25
|
-
export { RadecGeocentric } from './RadecGeocentric
|
|
26
|
-
export { RadecTopocentric } from './RadecTopocentric
|
|
27
|
-
export { RAE } from './RAE
|
|
24
|
+
export * from './ObservationUtils';
|
|
25
|
+
export { RadecGeocentric } from './RadecGeocentric';
|
|
26
|
+
export { RadecTopocentric } from './RadecTopocentric';
|
|
27
|
+
export { RAE } from './RAE';
|
|
28
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { Random, TAU, Vector } from '../main
|
|
18
|
+
import { Random, TAU, Vector } from '../main';
|
|
19
19
|
|
|
20
20
|
// / Box-Muller random Gaussian number generator.
|
|
21
21
|
export class BoxMuller {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { DEG2RAD, Degrees, Matrix, RAD2DEG, Radians, Vector3D } from '../main
|
|
18
|
+
import { DEG2RAD, Degrees, Matrix, RAD2DEG, Radians, Vector3D } from '../main';
|
|
19
19
|
|
|
20
20
|
// / Class containing Euler angles.
|
|
21
21
|
export class EulerAngles {
|
package/src/operations/Matrix.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @description Orbital Object ToolKit (ootk) is a collection of tools for working
|
|
4
4
|
* with satellites and other orbital objects.
|
|
5
5
|
* @license AGPL-3.0-or-later
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
import {
|
|
24
|
+
import { Radians, Vector, Vector3D } from '../main';
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* A matrix is a rectangular array of numbers or other mathematical objects for
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { Matrix, Radians, RadiansPerSecond, Vector, Vector3D, wrapAngle } from '../main
|
|
18
|
+
import { Matrix, Radians, RadiansPerSecond, Vector, Vector3D, wrapAngle } from '../main';
|
|
19
19
|
|
|
20
20
|
export class Quaternion {
|
|
21
21
|
x: number;
|
package/src/operations/Random.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { Vector, Vector3D } from '../main
|
|
19
|
-
import { BoxMuller } from './BoxMuller
|
|
18
|
+
import { Vector, Vector3D } from '../main';
|
|
19
|
+
import { BoxMuller } from './BoxMuller';
|
|
20
20
|
|
|
21
21
|
export class RandomGaussianSource {
|
|
22
22
|
private readonly boxMuller_: BoxMuller;
|
package/src/operations/Vector.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @description Orbital Object ToolKit (ootk) is a collection of tools for working
|
|
4
4
|
* with satellites and other orbital objects.
|
|
5
5
|
* @license AGPL-3.0-or-later
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
import {
|
|
24
|
+
import { Degrees, Matrix, Radians, Vector3D } from '../main';
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* A Vector is a mathematical object that has both magnitude and direction.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @description Orbital Object ToolKit (ootk) is a collection of tools for working
|
|
4
4
|
* with satellites and other orbital objects.
|
|
5
5
|
* @license AGPL-3.0-or-later
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
import { Kilometers, KilometersPerSecond, Radians, linearDistance } from '../main
|
|
25
|
-
import { Matrix } from './Matrix
|
|
26
|
-
import { Vector } from './Vector
|
|
24
|
+
import { Kilometers, KilometersPerSecond, Radians, linearDistance } from '../main';
|
|
25
|
+
import { Matrix } from './Matrix';
|
|
26
|
+
import { Vector } from './Vector';
|
|
27
27
|
|
|
28
28
|
// / 3-dimensional vector.
|
|
29
29
|
export class Vector3D<T extends number = number> {
|
|
@@ -286,4 +286,6 @@ export class Vector3D<T extends number = number> {
|
|
|
286
286
|
|
|
287
287
|
return new Vector(output);
|
|
288
288
|
}
|
|
289
|
+
|
|
290
|
+
static readonly zero = new Vector3D<number>(0, 0, 0);
|
|
289
291
|
}
|
package/src/operations/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { BoxMuller } from './BoxMuller
|
|
2
|
-
export { EulerAngles } from './EulerAngles
|
|
3
|
-
export { Quaternion } from './Quaternion
|
|
4
|
-
export { RandomGaussianSource } from './RandomGaussianSource
|
|
1
|
+
export { BoxMuller } from './BoxMuller';
|
|
2
|
+
export { EulerAngles } from './EulerAngles';
|
|
3
|
+
export { Quaternion } from './Quaternion';
|
|
4
|
+
export { RandomGaussianSource } from './RandomGaussianSource';
|
|
5
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @description Orbital Object ToolKit (ootk) is a collection of tools for working
|
|
4
4
|
* with satellites and other orbital objects.
|
|
5
5
|
* @license AGPL-3.0-or-later
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
export { Matrix } from './Matrix
|
|
25
|
-
export { Random } from './Random
|
|
26
|
-
export { Vector } from './Vector
|
|
27
|
-
export { Vector3D } from './Vector3D
|
|
24
|
+
export { Matrix } from './Matrix';
|
|
25
|
+
export { Random } from './Random';
|
|
26
|
+
export { Vector } from './Vector';
|
|
27
|
+
export { Vector3D } from './Vector3D';
|
|
28
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import { ChebyshevCoefficients } from './../interpolator/ChebyshevCoefficients
|
|
21
|
-
import { ChebyshevInterpolator } from './../interpolator/ChebyshevInterpolator
|
|
18
|
+
import { StateInterpolator } from '../interpolator/StateInterpolator';
|
|
19
|
+
import { EpochUTC, Seconds, Vector3D } from '../main';
|
|
20
|
+
import { ChebyshevCoefficients } from './../interpolator/ChebyshevCoefficients';
|
|
21
|
+
import { ChebyshevInterpolator } from './../interpolator/ChebyshevInterpolator';
|
|
22
22
|
|
|
23
23
|
// / Ephemeris compressor.
|
|
24
24
|
export class ChebyshevCompressor {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { CostFunction, SimplexEntry } from './SimplexEntry
|
|
18
|
+
import { CostFunction, SimplexEntry } from './SimplexEntry';
|
|
19
19
|
|
|
20
20
|
// / Derivative-free Nelder-Mead simplex optimizer.
|
|
21
21
|
export class DownhillSimplex {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { DifferentiableFunction } from '../main
|
|
18
|
+
import { DifferentiableFunction } from '../main';
|
|
19
19
|
|
|
20
20
|
// / Golden Section bounded single value optimizer.
|
|
21
21
|
export class GoldenSection {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
|
|
18
18
|
/* eslint-disable require-jsdoc */
|
|
19
19
|
/* eslint-disable func-style */
|
|
20
|
-
import { evalPoly } from '../main
|
|
21
|
-
import { DownhillSimplex } from './DownhillSimplex
|
|
22
|
-
import { PolynomicalRegressionResult } from './PolynomicalRegressionResult
|
|
20
|
+
import { evalPoly } from '../main';
|
|
21
|
+
import { DownhillSimplex } from './DownhillSimplex';
|
|
22
|
+
import { PolynomicalRegressionResult } from './PolynomicalRegressionResult';
|
|
23
23
|
// / Polynomial regression optimizer.
|
|
24
24
|
export class PolynomialRegression {
|
|
25
25
|
private constructor() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { Vector } from '../main
|
|
18
|
+
import { Vector } from '../main';
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Optimization cost function that takes in parameter array [xs] and returns
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,15 +15,15 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { concat, EpochUTC, J2000, Kilometers, KilometersPerSecond, Matrix, Vector, Vector3D } from '../main
|
|
19
|
-
import { Observation } from '../observation/Observation
|
|
20
|
-
import { PropagatorPairs } from '../observation/PropagatorPairs
|
|
21
|
-
import { Propagator } from '../propagator/Propagator
|
|
22
|
-
import { CovarianceFrame, StateCovariance } from './../covariance/StateCovariance
|
|
23
|
-
import { ForceModel } from './../force/ForceModel
|
|
24
|
-
import { KeplerPropagator } from './../propagator/KeplerPropagator
|
|
25
|
-
import { RungeKutta89Propagator } from './../propagator/RungeKutta89Propagator
|
|
26
|
-
import { BatchLeastSquaresResult } from './BatchLeastSquaresResult
|
|
18
|
+
import { concat, EpochUTC, J2000, Kilometers, KilometersPerSecond, Matrix, Vector, Vector3D } from '../main';
|
|
19
|
+
import { Observation } from '../observation/Observation';
|
|
20
|
+
import { PropagatorPairs } from '../observation/PropagatorPairs';
|
|
21
|
+
import { Propagator } from '../propagator/Propagator';
|
|
22
|
+
import { CovarianceFrame, StateCovariance } from './../covariance/StateCovariance';
|
|
23
|
+
import { ForceModel } from './../force/ForceModel';
|
|
24
|
+
import { KeplerPropagator } from './../propagator/KeplerPropagator';
|
|
25
|
+
import { RungeKutta89Propagator } from './../propagator/RungeKutta89Propagator';
|
|
26
|
+
import { BatchLeastSquaresResult } from './BatchLeastSquaresResult';
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* Batch least squares orbit determination.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @author
|
|
2
|
+
* @author Theodore Kruczek
|
|
3
3
|
* @license AGPL-3.0-or-later
|
|
4
4
|
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
5
|
*
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { J2000 } from '../main
|
|
19
|
-
import { StateCovariance } from './../covariance/StateCovariance
|
|
18
|
+
import { J2000 } from '../main';
|
|
19
|
+
import { StateCovariance } from './../covariance/StateCovariance';
|
|
20
20
|
|
|
21
21
|
// / Batch least squares orbit determination result.
|
|
22
22
|
export class BatchLeastSquaresResult {
|