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
|
*
|
|
@@ -14,38 +14,88 @@
|
|
|
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 { J2000, Kilometers } from '../main
|
|
18
|
-
import { ObservationOptical } from './../observation/ObservationOptical
|
|
17
|
+
import { J2000, Kilometers } from '../main';
|
|
18
|
+
import { ObservationOptical } from './../observation/ObservationOptical';
|
|
19
19
|
/**
|
|
20
20
|
* Gooding angles-only initial orbit determination.
|
|
21
21
|
*
|
|
22
22
|
* Used for orbit determination from three optical observations.
|
|
23
23
|
*/
|
|
24
24
|
export declare class GoodingIOD {
|
|
25
|
+
/** Finite difference factor for numerical derivatives */
|
|
26
|
+
private static readonly FINITE_DIFF_FACTOR;
|
|
27
|
+
/** Convergence tolerance for iterative solver */
|
|
28
|
+
private static readonly CONVERGENCE_TOLERANCE;
|
|
29
|
+
/** Maximum iterations for range problem solver */
|
|
30
|
+
private static readonly MAX_ITERATIONS;
|
|
31
|
+
/** Minimum determinant value to avoid numerical issues */
|
|
32
|
+
private static readonly MIN_DETERMINANT;
|
|
33
|
+
/** Gravitational constant. */
|
|
25
34
|
private readonly _mu;
|
|
26
|
-
|
|
27
|
-
private
|
|
28
|
-
|
|
35
|
+
/** observation 1 */
|
|
36
|
+
private o1_;
|
|
37
|
+
/** observation 2 */
|
|
38
|
+
private o2_;
|
|
39
|
+
/** observation 3 */
|
|
40
|
+
private o3_;
|
|
41
|
+
/** observer position 1 */
|
|
29
42
|
private vObserverPosition1_;
|
|
43
|
+
/** observer position 2 */
|
|
30
44
|
private vObserverPosition2_;
|
|
45
|
+
/** observer position 3 */
|
|
31
46
|
private vObserverPosition3_;
|
|
47
|
+
/** Normalizing constant for distances. */
|
|
32
48
|
private r_;
|
|
49
|
+
/** Normalizing constant for velocities. */
|
|
33
50
|
private v_;
|
|
51
|
+
/** Normalizing constant for duration. */
|
|
34
52
|
private t_;
|
|
53
|
+
/** Radius of point 1 (X-R1). */
|
|
35
54
|
private r1_;
|
|
55
|
+
/** Radius of point 2 (X-R2). */
|
|
36
56
|
private r2_;
|
|
57
|
+
/** Radius of point 3 (X-R3). */
|
|
37
58
|
private r3_;
|
|
59
|
+
/** Range of point 1 (O1-R1). */
|
|
38
60
|
private rho1_;
|
|
61
|
+
/** Range of point 2 (O1-R1). */
|
|
39
62
|
private rho2_;
|
|
63
|
+
/** Range of point 3 (O1-R1). */
|
|
40
64
|
private rho3_;
|
|
65
|
+
/** working variable */
|
|
41
66
|
private d1_;
|
|
67
|
+
/** working variable */
|
|
42
68
|
private d3_;
|
|
69
|
+
/** factor for FD. */
|
|
43
70
|
private facFiniteDiff_;
|
|
44
71
|
private readonly _forceModel;
|
|
45
|
-
constructor(
|
|
72
|
+
constructor(mu?: number);
|
|
73
|
+
getRange1(): Kilometers;
|
|
74
|
+
getRange2(): Kilometers;
|
|
75
|
+
getRange3(): Kilometers;
|
|
76
|
+
/**
|
|
77
|
+
* Estimate an orbit from three angular observations (azimuth/elevation).
|
|
78
|
+
* Uses Gauss IOD to derive initial range estimates, so no external range
|
|
79
|
+
* guesses are required.
|
|
80
|
+
*
|
|
81
|
+
* @param o1 - first angular observation
|
|
82
|
+
* @param o2 - second angular observation
|
|
83
|
+
* @param o3 - third angular observation
|
|
84
|
+
* @param nRev - number of full revolutions between observation 1 and 3
|
|
85
|
+
* @param direction - true for prograde (short-way), false for retrograde
|
|
86
|
+
* @returns Orbit estimate referenced to the epoch of the second observation
|
|
87
|
+
*/
|
|
88
|
+
estimate(o1: ObservationOptical, o2: ObservationOptical, o3: ObservationOptical, rho1init?: Kilometers | null, rho3init?: Kilometers | null, nRev?: number, direction?: boolean): J2000;
|
|
46
89
|
private _getPositionOnLoS2;
|
|
47
90
|
private _modifyIterate;
|
|
48
91
|
private _computeDerivatives;
|
|
49
|
-
|
|
92
|
+
/**
|
|
93
|
+
* @param r1Init - Initial guess for range at first observation
|
|
94
|
+
* @param r3Init - Initial guess for range at third observation
|
|
95
|
+
* @param nRev - Number of revolutions
|
|
96
|
+
* @param direction - Direction of orbit (true for prograde, false for retrograde)
|
|
97
|
+
* @returns
|
|
98
|
+
*/
|
|
99
|
+
private solve_;
|
|
50
100
|
private _solveRangeProblem;
|
|
51
101
|
}
|
|
@@ -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
|
*
|
|
@@ -14,42 +14,111 @@
|
|
|
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 {
|
|
18
|
-
import {
|
|
19
|
-
import { RungeKutta89Propagator } from '../propagator/RungeKutta89Propagator
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
17
|
+
import { ForceModel } from '../force/ForceModel';
|
|
18
|
+
import { Earth, J2000, TAU, Vector3D } from '../main';
|
|
19
|
+
import { RungeKutta89Propagator } from '../propagator/RungeKutta89Propagator';
|
|
20
|
+
import { GaussIOD } from './GaussIOD';
|
|
21
|
+
import { GibbsIOD } from './GibbsIOD';
|
|
22
|
+
import { LambertIOD } from './LambertIOD';
|
|
22
23
|
/**
|
|
23
24
|
* Gooding angles-only initial orbit determination.
|
|
24
25
|
*
|
|
25
26
|
* Used for orbit determination from three optical observations.
|
|
26
27
|
*/
|
|
27
28
|
export class GoodingIOD {
|
|
29
|
+
/** Finite difference factor for numerical derivatives */
|
|
30
|
+
static FINITE_DIFF_FACTOR = 1e-6;
|
|
31
|
+
/** Convergence tolerance for iterative solver */
|
|
32
|
+
static CONVERGENCE_TOLERANCE = 1e-12;
|
|
33
|
+
/** Maximum iterations for range problem solver */
|
|
34
|
+
static MAX_ITERATIONS = 100;
|
|
35
|
+
/** Minimum determinant value to avoid numerical issues */
|
|
36
|
+
static MIN_DETERMINANT = 1e-16;
|
|
37
|
+
/** Gravitational constant. */
|
|
28
38
|
_mu;
|
|
39
|
+
/** observation 1 */
|
|
29
40
|
o1_;
|
|
41
|
+
/** observation 2 */
|
|
30
42
|
o2_;
|
|
43
|
+
/** observation 3 */
|
|
31
44
|
o3_;
|
|
45
|
+
/** observer position 1 */
|
|
32
46
|
vObserverPosition1_ = Vector3D.origin;
|
|
47
|
+
/** observer position 2 */
|
|
33
48
|
vObserverPosition2_ = Vector3D.origin;
|
|
49
|
+
/** observer position 3 */
|
|
34
50
|
vObserverPosition3_ = Vector3D.origin;
|
|
51
|
+
/** Normalizing constant for distances. */
|
|
35
52
|
r_ = 0.0;
|
|
53
|
+
/** Normalizing constant for velocities. */
|
|
36
54
|
v_ = 0.0;
|
|
55
|
+
/** Normalizing constant for duration. */
|
|
37
56
|
t_ = 0.0;
|
|
57
|
+
/** Radius of point 1 (X-R1). */
|
|
38
58
|
r1_ = 0.0;
|
|
59
|
+
/** Radius of point 2 (X-R2). */
|
|
39
60
|
r2_ = 0.0;
|
|
61
|
+
/** Radius of point 3 (X-R3). */
|
|
40
62
|
r3_ = 0.0;
|
|
63
|
+
/** Range of point 1 (O1-R1). */
|
|
41
64
|
rho1_ = 0.0;
|
|
65
|
+
/** Range of point 2 (O1-R1). */
|
|
42
66
|
rho2_ = 0.0;
|
|
67
|
+
/** Range of point 3 (O1-R1). */
|
|
43
68
|
rho3_ = 0.0;
|
|
69
|
+
/** working variable */
|
|
44
70
|
d1_ = 0.0;
|
|
71
|
+
/** working variable */
|
|
45
72
|
d3_ = 0.0;
|
|
73
|
+
/** factor for FD. */
|
|
46
74
|
facFiniteDiff_ = 0.0;
|
|
47
75
|
_forceModel = new ForceModel().setGravity(1.0);
|
|
48
|
-
constructor(
|
|
76
|
+
constructor(mu = Earth.mu) {
|
|
49
77
|
this._mu = mu;
|
|
78
|
+
}
|
|
79
|
+
getRange1() {
|
|
80
|
+
return this.rho1_ * this.r_;
|
|
81
|
+
}
|
|
82
|
+
getRange2() {
|
|
83
|
+
return this.rho2_ * this.r_;
|
|
84
|
+
}
|
|
85
|
+
getRange3() {
|
|
86
|
+
return this.rho3_ * this.r_;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Estimate an orbit from three angular observations (azimuth/elevation).
|
|
90
|
+
* Uses Gauss IOD to derive initial range estimates, so no external range
|
|
91
|
+
* guesses are required.
|
|
92
|
+
*
|
|
93
|
+
* @param o1 - first angular observation
|
|
94
|
+
* @param o2 - second angular observation
|
|
95
|
+
* @param o3 - third angular observation
|
|
96
|
+
* @param nRev - number of full revolutions between observation 1 and 3
|
|
97
|
+
* @param direction - true for prograde (short-way), false for retrograde
|
|
98
|
+
* @returns Orbit estimate referenced to the epoch of the second observation
|
|
99
|
+
*/
|
|
100
|
+
estimate(o1, o2, o3, rho1init = null, rho3init = null, nRev = 0, direction = true) {
|
|
101
|
+
let orbit = null;
|
|
50
102
|
this.o1_ = o1;
|
|
51
103
|
this.o2_ = o2;
|
|
52
104
|
this.o3_ = o3;
|
|
105
|
+
if (rho1init === null || rho3init === null) {
|
|
106
|
+
const gaussIod = new GaussIOD(this._mu);
|
|
107
|
+
orbit = gaussIod.estimate(o1, o2, o3);
|
|
108
|
+
if (orbit === null) {
|
|
109
|
+
throw new Error('Gauss IOD failed to provide initial estimate for Gooding IOD.');
|
|
110
|
+
}
|
|
111
|
+
/*
|
|
112
|
+
* Compute slant ranges (observer-to-satellite distance) from Gauss IOD solution
|
|
113
|
+
* The Gauss solution is at t2 (middle observation), so we use it as approximation
|
|
114
|
+
* Slant range = |satellite position - observer position|
|
|
115
|
+
*/
|
|
116
|
+
const rho1Gauss = orbit.position.subtract(o1.site.position).magnitude();
|
|
117
|
+
const rho3Gauss = orbit.position.subtract(o3.site.position).magnitude();
|
|
118
|
+
rho1init = rho1init ?? rho1Gauss;
|
|
119
|
+
rho3init = rho3init ?? rho3Gauss;
|
|
120
|
+
}
|
|
121
|
+
return this.solve_(rho1init, rho3init, nRev, direction);
|
|
53
122
|
}
|
|
54
123
|
_getPositionOnLoS2({ e1, r01, e3, r03, t13, t12, nRev, posigrade, }) {
|
|
55
124
|
const p1 = this.vObserverPosition1_.add(e1.scale(r01));
|
|
@@ -85,80 +154,165 @@ export class GoodingIOD {
|
|
|
85
154
|
this.rho1_ = Math.max((this.d1_ - this.d3_ * d2) / d4, 0.0);
|
|
86
155
|
this.rho3_ = Math.max((this.d1_ * d2 - this.d3_) / d4, 0.0);
|
|
87
156
|
}
|
|
88
|
-
_computeDerivatives({ x, y, lineOfSight1, lineOfSight3, pin, ein, t13, t12, nrev, direction, fd, gd, }) {
|
|
157
|
+
_computeDerivatives({ x, y, lineOfSight1, lineOfSight3, pin, ein, fc, gc, t13, t12, withHalley, nrev, direction, fd, gd, }) {
|
|
89
158
|
const p = pin.normalize();
|
|
90
159
|
const en = ein.normalize();
|
|
91
160
|
const dx = this.facFiniteDiff_ * x;
|
|
92
161
|
const dy = this.facFiniteDiff_ * y;
|
|
93
|
-
const
|
|
162
|
+
const pm1 = this._getPositionOnLoS2({
|
|
94
163
|
e1: lineOfSight1,
|
|
95
|
-
r01: x - dx,
|
|
164
|
+
r01: (x - dx),
|
|
96
165
|
e3: lineOfSight3,
|
|
97
166
|
r03: y,
|
|
98
167
|
t13,
|
|
99
168
|
t12,
|
|
100
169
|
nRev: nrev,
|
|
101
170
|
posigrade: direction,
|
|
102
|
-
})
|
|
171
|
+
});
|
|
172
|
+
if (pm1 === null) {
|
|
173
|
+
throw new Error('Lambert solver failed during derivative computation (x-dx).');
|
|
174
|
+
}
|
|
175
|
+
const cm1 = pm1.subtract(this.vObserverPosition2_);
|
|
103
176
|
const fm1 = p.dot(cm1);
|
|
104
177
|
const gm1 = en.dot(cm1);
|
|
105
|
-
const
|
|
178
|
+
const pp1 = this._getPositionOnLoS2({
|
|
106
179
|
e1: lineOfSight1,
|
|
107
|
-
r01: x + dx,
|
|
180
|
+
r01: (x + dx),
|
|
108
181
|
e3: lineOfSight3,
|
|
109
182
|
r03: y,
|
|
110
183
|
t13,
|
|
111
184
|
t12,
|
|
112
185
|
nRev: nrev,
|
|
113
186
|
posigrade: direction,
|
|
114
|
-
})
|
|
187
|
+
});
|
|
188
|
+
if (pp1 === null) {
|
|
189
|
+
throw new Error('Lambert solver failed during derivative computation (x+dx).');
|
|
190
|
+
}
|
|
191
|
+
const cp1 = pp1.subtract(this.vObserverPosition2_);
|
|
115
192
|
const fp1 = p.dot(cp1);
|
|
116
193
|
const gp1 = en.dot(cp1);
|
|
117
194
|
const fx = (fp1 - fm1) / (2.0 * dx);
|
|
118
195
|
const gx = (gp1 - gm1) / (2.0 * dx);
|
|
119
|
-
const
|
|
196
|
+
const pm3 = this._getPositionOnLoS2({
|
|
120
197
|
e1: lineOfSight1,
|
|
121
198
|
r01: x,
|
|
122
199
|
e3: lineOfSight3,
|
|
123
|
-
r03: y - dy,
|
|
200
|
+
r03: (y - dy),
|
|
124
201
|
t13,
|
|
125
202
|
t12,
|
|
126
203
|
nRev: nrev,
|
|
127
204
|
posigrade: direction,
|
|
128
|
-
})
|
|
205
|
+
});
|
|
206
|
+
if (pm3 === null) {
|
|
207
|
+
throw new Error('Lambert solver failed during derivative computation (y-dy).');
|
|
208
|
+
}
|
|
209
|
+
const cm3 = pm3.subtract(this.vObserverPosition2_);
|
|
129
210
|
const fm3 = p.dot(cm3);
|
|
130
211
|
const gm3 = en.dot(cm3);
|
|
131
|
-
const
|
|
212
|
+
const pp3 = this._getPositionOnLoS2({
|
|
132
213
|
e1: lineOfSight1,
|
|
133
214
|
r01: x,
|
|
134
215
|
e3: lineOfSight3,
|
|
135
|
-
r03: y + dy,
|
|
216
|
+
r03: (y + dy),
|
|
136
217
|
t13,
|
|
137
218
|
t12,
|
|
138
219
|
nRev: nrev,
|
|
139
220
|
posigrade: direction,
|
|
140
|
-
})
|
|
221
|
+
});
|
|
222
|
+
if (pp3 === null) {
|
|
223
|
+
throw new Error('Lambert solver failed during derivative computation (y+dy).');
|
|
224
|
+
}
|
|
225
|
+
const cp3 = pp3.subtract(this.vObserverPosition2_);
|
|
141
226
|
const fp3 = p.dot(cp3);
|
|
142
227
|
const gp3 = en.dot(cp3);
|
|
143
228
|
const fy = (fp3 - fm3) / (2.0 * dy);
|
|
144
229
|
const gy = (gp3 - gm3) / (2.0 * dy);
|
|
230
|
+
// Coefficients for the classical Newton-Raphson iterative method
|
|
145
231
|
fd[0] = fx;
|
|
146
232
|
fd[1] = fy;
|
|
147
233
|
gd[0] = gx;
|
|
148
234
|
gd[1] = gy;
|
|
235
|
+
// Modified Newton-Raphson process with Halley's method for cubic convergence
|
|
236
|
+
if (withHalley) {
|
|
237
|
+
const hrho1Sq = dx * dx;
|
|
238
|
+
const hrho3Sq = dy * dy;
|
|
239
|
+
// Second order derivatives: d^2f / drho1^2 and d^2g / drho1^2
|
|
240
|
+
const fxx = (fp1 + fm1 - 2.0 * fc) / hrho1Sq;
|
|
241
|
+
const gxx = (gp1 + gm1 - 2.0 * gc) / hrho1Sq;
|
|
242
|
+
const fyy = (fp3 + fm3 - 2.0 * fc) / hrho3Sq;
|
|
243
|
+
const gyy = (gp3 + gm3 - 2.0 * gc) / hrho3Sq;
|
|
244
|
+
const pp13 = this._getPositionOnLoS2({
|
|
245
|
+
e1: lineOfSight1,
|
|
246
|
+
r01: (x + dx),
|
|
247
|
+
e3: lineOfSight3,
|
|
248
|
+
r03: (y + dy),
|
|
249
|
+
t13,
|
|
250
|
+
t12,
|
|
251
|
+
nRev: nrev,
|
|
252
|
+
posigrade: direction,
|
|
253
|
+
});
|
|
254
|
+
if (pp13 === null) {
|
|
255
|
+
throw new Error('Lambert solver failed during Halley derivative computation (x+dx, y+dy).');
|
|
256
|
+
}
|
|
257
|
+
const cp13 = pp13.subtract(this.vObserverPosition2_);
|
|
258
|
+
const fp13 = p.dot(cp13);
|
|
259
|
+
const gp13 = en.dot(cp13);
|
|
260
|
+
const pm13 = this._getPositionOnLoS2({
|
|
261
|
+
e1: lineOfSight1,
|
|
262
|
+
r01: (x - dx),
|
|
263
|
+
e3: lineOfSight3,
|
|
264
|
+
r03: (y - dy),
|
|
265
|
+
t13,
|
|
266
|
+
t12,
|
|
267
|
+
nRev: nrev,
|
|
268
|
+
posigrade: direction,
|
|
269
|
+
});
|
|
270
|
+
if (pm13 === null) {
|
|
271
|
+
throw new Error('Lambert solver failed during Halley derivative computation (x-dx, y-dy).');
|
|
272
|
+
}
|
|
273
|
+
const cm13 = pm13.subtract(this.vObserverPosition2_);
|
|
274
|
+
const fm13 = p.dot(cm13);
|
|
275
|
+
const gm13 = en.dot(cm13);
|
|
276
|
+
// Second order cross derivatives
|
|
277
|
+
const fxy = (fp13 + fm13) / (2.0 * dx * dy) - 0.5 * (fxx * dx / dy + fyy * dy / dx) - fc / (dx * dy);
|
|
278
|
+
const gxy = (gp13 + gm13) / (2.0 * dx * dy) - 0.5 * (gxx * dx / dy + gyy * dy / dx) - gc / (dx * dy);
|
|
279
|
+
// Determinant of Jacobian
|
|
280
|
+
const detJac = fx * gy - fy * gx;
|
|
281
|
+
// Delta Newton-Raphson, 1st order step
|
|
282
|
+
const dx3NR = (-gy * fc) / detJac;
|
|
283
|
+
const dx1NR = (gx * fc) / detJac;
|
|
284
|
+
// Halley's method Jacobian with second-order corrections
|
|
285
|
+
const fxH = fx + 0.5 * (fxx * dx3NR + fxy * dx1NR);
|
|
286
|
+
const fyH = fy + 0.5 * (fxy * dx3NR + fyy * dx1NR);
|
|
287
|
+
const gxH = gx + 0.5 * (gxx * dx3NR + gxy * dx1NR);
|
|
288
|
+
const gyH = gy + 0.5 * (gxy * dx3NR + gyy * dx1NR);
|
|
289
|
+
// Update with Halley's method coefficients
|
|
290
|
+
fd[0] = fxH;
|
|
291
|
+
fd[1] = fyH;
|
|
292
|
+
gd[0] = gxH;
|
|
293
|
+
gd[1] = gyH;
|
|
294
|
+
}
|
|
149
295
|
}
|
|
150
|
-
|
|
296
|
+
/**
|
|
297
|
+
* @param r1Init - Initial guess for range at first observation
|
|
298
|
+
* @param r3Init - Initial guess for range at third observation
|
|
299
|
+
* @param nRev - Number of revolutions
|
|
300
|
+
* @param direction - Direction of orbit (true for prograde, false for retrograde)
|
|
301
|
+
* @returns
|
|
302
|
+
*/
|
|
303
|
+
solve_(r1Init, r3Init, nRev = 0, direction = true) {
|
|
151
304
|
const lineOfSight1 = this.o1_.observation.lineOfSight();
|
|
152
305
|
const lineOfSight2 = this.o2_.observation.lineOfSight();
|
|
153
306
|
const lineOfSight3 = this.o3_.observation.lineOfSight();
|
|
154
307
|
this.r_ = Math.max(r1Init, r3Init);
|
|
155
308
|
this.v_ = Math.sqrt(this._mu / this.r_);
|
|
156
309
|
this.t_ = this.r_ / this.v_;
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
this.
|
|
160
|
-
|
|
161
|
-
this.
|
|
310
|
+
// Normalize observer positions (dimensionless)
|
|
311
|
+
const invR = 1.0 / this.r_;
|
|
312
|
+
this.vObserverPosition1_ = this.o1_.site.position.scale(invR);
|
|
313
|
+
this.vObserverPosition2_ = this.o2_.site.position.scale(invR);
|
|
314
|
+
this.vObserverPosition3_ = this.o3_.site.position.scale(invR);
|
|
315
|
+
const converged = this._solveRangeProblem({
|
|
162
316
|
rho1init: r1Init / this.r_,
|
|
163
317
|
rho3init: r3Init / this.r_,
|
|
164
318
|
t13: this.o3_.epoch.difference(this.o1_.epoch) / this.t_,
|
|
@@ -168,8 +322,12 @@ export class GoodingIOD {
|
|
|
168
322
|
lineOfSight1,
|
|
169
323
|
lineOfSight2,
|
|
170
324
|
lineOfSight3,
|
|
171
|
-
maxIterations:
|
|
325
|
+
maxIterations: GoodingIOD.MAX_ITERATIONS,
|
|
172
326
|
});
|
|
327
|
+
if (!converged) {
|
|
328
|
+
throw new Error(`Gooding IOD failed to converge after ${GoodingIOD.MAX_ITERATIONS} iterations. ` +
|
|
329
|
+
'Try different initial range estimates or check observation quality.');
|
|
330
|
+
}
|
|
173
331
|
const gibbs = new GibbsIOD(this._mu);
|
|
174
332
|
const p1 = this.vObserverPosition1_.add(lineOfSight1.scale(this.rho1_)).scale(this.r_);
|
|
175
333
|
const p2 = this.vObserverPosition2_.add(lineOfSight2.scale(this.rho2_)).scale(this.r_);
|
|
@@ -177,14 +335,17 @@ export class GoodingIOD {
|
|
|
177
335
|
return gibbs.solve(p1, p2, p3, this.o2_.epoch, this.o3_.epoch);
|
|
178
336
|
}
|
|
179
337
|
_solveRangeProblem({ rho1init, rho3init, t13, t12, nrev, direction, lineOfSight1, lineOfSight2, lineOfSight3, maxIterations, }) {
|
|
180
|
-
const arbf = 1e-6;
|
|
181
|
-
const cvtol = 1e-14;
|
|
182
338
|
this.rho1_ = rho1init;
|
|
183
339
|
this.rho3_ = rho3init;
|
|
184
340
|
let iter = 0;
|
|
185
|
-
let
|
|
186
|
-
|
|
187
|
-
|
|
341
|
+
let withHalley = false; // Start with Newton-Raphson, switch to Halley's method later
|
|
342
|
+
let stoppingCriterion = 10.0 * GoodingIOD.CONVERGENCE_TOLERANCE;
|
|
343
|
+
while (iter < maxIterations && Math.abs(stoppingCriterion) > GoodingIOD.CONVERGENCE_TOLERANCE) {
|
|
344
|
+
this.facFiniteDiff_ = GoodingIOD.FINITE_DIFF_FACTOR;
|
|
345
|
+
// Switch to Halley's method after half the iterations for better convergence
|
|
346
|
+
if (iter >= maxIterations / 2) {
|
|
347
|
+
withHalley = true;
|
|
348
|
+
}
|
|
188
349
|
const p2 = this._getPositionOnLoS2({
|
|
189
350
|
e1: lineOfSight1,
|
|
190
351
|
r01: this.rho1_,
|
|
@@ -208,10 +369,11 @@ export class GoodingIOD {
|
|
|
208
369
|
const ent = lineOfSight2.cross(p);
|
|
209
370
|
const enr = ent.magnitude();
|
|
210
371
|
if (enr === 0.0) {
|
|
211
|
-
|
|
372
|
+
break; // Solution found - line of sight and position are aligned
|
|
212
373
|
}
|
|
213
374
|
const en = ent.normalize();
|
|
214
375
|
const fc = p.dot(c);
|
|
376
|
+
const gc = en.dot(c);
|
|
215
377
|
const fd = new Float64Array(2);
|
|
216
378
|
const gd = new Float64Array(2);
|
|
217
379
|
this._computeDerivatives({
|
|
@@ -221,8 +383,11 @@ export class GoodingIOD {
|
|
|
221
383
|
lineOfSight3,
|
|
222
384
|
pin: p,
|
|
223
385
|
ein: en,
|
|
386
|
+
fc,
|
|
387
|
+
gc,
|
|
224
388
|
t13,
|
|
225
389
|
t12,
|
|
390
|
+
withHalley,
|
|
226
391
|
nrev,
|
|
227
392
|
direction,
|
|
228
393
|
fd,
|
|
@@ -233,15 +398,40 @@ export class GoodingIOD {
|
|
|
233
398
|
const gr1 = gd[0];
|
|
234
399
|
const gr3 = gd[1];
|
|
235
400
|
const detj = fr1 * gr3 - fr3 * gr1;
|
|
401
|
+
// Check for singular Jacobian matrix
|
|
402
|
+
if (Math.abs(detj) < GoodingIOD.MIN_DETERMINANT) {
|
|
403
|
+
throw new Error('Jacobian determinant is near zero - system is ill-conditioned.');
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Compute Newton-Raphson corrections
|
|
407
|
+
* Per Gooding's algorithm:
|
|
408
|
+
* D3 is the correction for rho1 (range at obs 1)
|
|
409
|
+
* D1 is the correction for rho3 (range at obs 3)
|
|
410
|
+
*/
|
|
236
411
|
this.d3_ = (-gr3 * fc) / detj;
|
|
237
412
|
this.d1_ = (gr1 * fc) / detj;
|
|
238
|
-
|
|
239
|
-
this.
|
|
413
|
+
// Update range estimates - note the swap per Gooding's algorithm
|
|
414
|
+
this.rho1_ = (this.rho1_ + this.d3_);
|
|
415
|
+
this.rho3_ = (this.rho3_ + this.d1_);
|
|
240
416
|
const den = Math.max(cr, this.r2_);
|
|
241
417
|
stoppingCriterion = fc / den;
|
|
242
418
|
}
|
|
243
419
|
++iter;
|
|
244
420
|
}
|
|
421
|
+
// Store final convergence state for diagnostics
|
|
422
|
+
const converged = Math.abs(stoppingCriterion) <= GoodingIOD.CONVERGENCE_TOLERANCE;
|
|
423
|
+
if (!converged) {
|
|
424
|
+
/* eslint-disable no-console */
|
|
425
|
+
console.warn('Gooding IOD convergence diagnostics:');
|
|
426
|
+
console.warn(` Iterations: ${iter}/${maxIterations}`);
|
|
427
|
+
console.warn(` Final residual: ${Math.abs(stoppingCriterion).toExponential(3)}`);
|
|
428
|
+
console.warn(` Target tolerance: ${GoodingIOD.CONVERGENCE_TOLERANCE.toExponential(3)}`);
|
|
429
|
+
console.warn(` rho1: ${(this.rho1_ * this.r_).toFixed(2)} km`);
|
|
430
|
+
console.warn(` rho2: ${(this.rho2_ * this.r_).toFixed(2)} km`);
|
|
431
|
+
console.warn(` rho3: ${(this.rho3_ * this.r_).toFixed(2)} km`);
|
|
432
|
+
/* eslint-enable no-console */
|
|
433
|
+
}
|
|
434
|
+
return converged;
|
|
245
435
|
}
|
|
246
436
|
}
|
|
247
437
|
//# sourceMappingURL=GoodingIOD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoodingIOD.js","sourceRoot":"","sources":["../../src/orbit_determination/GoodingIOD.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GoodingIOD.js","sourceRoot":"","sources":["../../src/orbit_determination/GoodingIOD.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
*
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* You should have received a copy of the GNU Affero General Public License along with
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
|
-
import { EpochUTC, J2000, Kilometers, Vector3D } from '../main
|
|
17
|
+
import { EpochUTC, J2000, Kilometers, Vector3D } from '../main';
|
|
18
18
|
/**
|
|
19
19
|
* Herrik-Gibbs 3-position initial orbit determination.
|
|
20
20
|
*
|
|
@@ -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
|
*
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* You should have received a copy of the GNU Affero General Public License along with
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
|
-
import { Earth, J2000 } from '../main
|
|
17
|
+
import { Earth, J2000 } from '../main';
|
|
18
18
|
/**
|
|
19
19
|
* Herrik-Gibbs 3-position initial orbit determination.
|
|
20
20
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HerrickGibbsIOD.js","sourceRoot":"","sources":["../../src/orbit_determination/HerrickGibbsIOD.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAY,KAAK,EAA6C,MAAM,
|
|
1
|
+
{"version":3,"file":"HerrickGibbsIOD.js","sourceRoot":"","sources":["../../src/orbit_determination/HerrickGibbsIOD.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAY,KAAK,EAA6C,MAAM,SAAS,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAMP;IALnB;;;;OAIG;IACH,YAAmB,KAAa,KAAK,CAAC,EAAE;QAArB,OAAE,GAAF,EAAE,CAAmB;QACtC,sBAAsB;IACxB,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,EAAY,EAAE,EAAY,EAAE,EAAwB,EAAE,EAAY,EAAE,EAAY,EAAE,EAAY;QAClG,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAkC,CAAC;QAE/D,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -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
|
*
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* You should have received a copy of the GNU Affero General Public License along with
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
|
-
import { EpochUTC, J2000, Kilometers, Vector3D } from '../main
|
|
17
|
+
import { EpochUTC, J2000, Kilometers, Vector3D } from '../main';
|
|
18
18
|
export declare class LambertIOD {
|
|
19
19
|
mu: number;
|
|
20
20
|
constructor(mu?: number);
|
|
@@ -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
|
*
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* You should have received a copy of the GNU Affero General Public License along with
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
|
-
import { Earth, J2000 } from '../main
|
|
17
|
+
import { Earth, J2000 } from '../main';
|
|
18
18
|
// / Lambert two-position and time initial orbit determination.
|
|
19
19
|
export class LambertIOD {
|
|
20
20
|
mu;
|