ootk 6.0.0-rc.4 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.cjs +29551 -0
- package/dist/main.d.cts +16961 -0
- package/dist/main.d.ts +16940 -32
- package/dist/main.js +29243 -35
- package/package.json +38 -25
- package/.claude/PROMPT.md +0 -13
- package/.claude/hooks/post-tool-use.ts +0 -33
- package/.claude/hooks/user-prompt-submit.ts +0 -138
- package/.claude/settings.local.json +0 -21
- package/.claude/skill-rules.json +0 -11
- package/.claude/skills/ootk-dev/SKILL.md +0 -16
- package/ADVANCED_FEATURES_GUIDE.md +0 -1025
- package/CHANGELOG.md +0 -511
- package/CLAUDE.md +0 -67
- package/FUTURE-WORK.md +0 -325
- package/dist/body/CelestialBody.d.ts +0 -155
- package/dist/body/CelestialBody.js +0 -207
- package/dist/body/CelestialBody.js.map +0 -1
- package/dist/body/CelestialBodyType.d.ts +0 -41
- package/dist/body/CelestialBodyType.js +0 -55
- package/dist/body/CelestialBodyType.js.map +0 -1
- package/dist/body/Earth.d.ts +0 -68
- package/dist/body/Earth.js +0 -198
- package/dist/body/Earth.js.map +0 -1
- package/dist/body/EphemerisBody.d.ts +0 -153
- package/dist/body/EphemerisBody.js +0 -235
- package/dist/body/EphemerisBody.js.map +0 -1
- package/dist/body/MoonBody.d.ts +0 -200
- package/dist/body/MoonBody.js +0 -414
- package/dist/body/MoonBody.js.map +0 -1
- package/dist/body/NutationAngles.d.ts +0 -38
- package/dist/body/NutationAngles.js +0 -24
- package/dist/body/NutationAngles.js.map +0 -1
- package/dist/body/PlanetBody.d.ts +0 -130
- package/dist/body/PlanetBody.js +0 -293
- package/dist/body/PlanetBody.js.map +0 -1
- package/dist/body/PrecessionAngles.d.ts +0 -29
- package/dist/body/PrecessionAngles.js +0 -24
- package/dist/body/PrecessionAngles.js.map +0 -1
- package/dist/body/SolarSystem.d.ts +0 -124
- package/dist/body/SolarSystem.js +0 -218
- package/dist/body/SolarSystem.js.map +0 -1
- package/dist/body/SunBody.d.ts +0 -253
- package/dist/body/SunBody.js +0 -433
- package/dist/body/SunBody.js.map +0 -1
- package/dist/body/index.d.ts +0 -36
- package/dist/body/index.js +0 -39
- package/dist/body/index.js.map +0 -1
- package/dist/comm/Antenna.d.ts +0 -112
- package/dist/comm/Antenna.js +0 -173
- package/dist/comm/Antenna.js.map +0 -1
- package/dist/comm/Beacon.d.ts +0 -141
- package/dist/comm/Beacon.js +0 -268
- package/dist/comm/Beacon.js.map +0 -1
- package/dist/comm/CommTypes.d.ts +0 -181
- package/dist/comm/CommTypes.js +0 -115
- package/dist/comm/CommTypes.js.map +0 -1
- package/dist/comm/CommunicationDevice.d.ts +0 -115
- package/dist/comm/CommunicationDevice.js +0 -142
- package/dist/comm/CommunicationDevice.js.map +0 -1
- package/dist/comm/Receiver.d.ts +0 -139
- package/dist/comm/Receiver.js +0 -219
- package/dist/comm/Receiver.js.map +0 -1
- package/dist/comm/Transmitter.d.ts +0 -136
- package/dist/comm/Transmitter.js +0 -273
- package/dist/comm/Transmitter.js.map +0 -1
- package/dist/comm/Transponder.d.ts +0 -154
- package/dist/comm/Transponder.js +0 -281
- package/dist/comm/Transponder.js.map +0 -1
- package/dist/comm/index.d.ts +0 -30
- package/dist/comm/index.js +0 -26
- package/dist/comm/index.js.map +0 -1
- package/dist/conjunction/CatalogScreener.d.ts +0 -134
- package/dist/conjunction/CatalogScreener.js +0 -213
- package/dist/conjunction/CatalogScreener.js.map +0 -1
- package/dist/conjunction/ConjunctionAssessment.d.ts +0 -149
- package/dist/conjunction/ConjunctionAssessment.js +0 -288
- package/dist/conjunction/ConjunctionAssessment.js.map +0 -1
- package/dist/conjunction/ConjunctionEvent.d.ts +0 -110
- package/dist/conjunction/ConjunctionEvent.js +0 -154
- package/dist/conjunction/ConjunctionEvent.js.map +0 -1
- package/dist/conjunction/CovarianceRealism.d.ts +0 -189
- package/dist/conjunction/CovarianceRealism.js +0 -348
- package/dist/conjunction/CovarianceRealism.js.map +0 -1
- package/dist/conjunction/ProbabilityOfCollision.d.ts +0 -102
- package/dist/conjunction/ProbabilityOfCollision.js +0 -242
- package/dist/conjunction/ProbabilityOfCollision.js.map +0 -1
- package/dist/conjunction/ScreeningFilter.d.ts +0 -112
- package/dist/conjunction/ScreeningFilter.js +0 -160
- package/dist/conjunction/ScreeningFilter.js.map +0 -1
- package/dist/conjunction/index.d.ts +0 -22
- package/dist/conjunction/index.js +0 -23
- package/dist/conjunction/index.js.map +0 -1
- package/dist/constellation/ConstellationGenerator.d.ts +0 -137
- package/dist/constellation/ConstellationGenerator.js +0 -270
- package/dist/constellation/ConstellationGenerator.js.map +0 -1
- package/dist/constellation/index.d.ts +0 -17
- package/dist/constellation/index.js +0 -18
- package/dist/constellation/index.js.map +0 -1
- package/dist/coordinate/ClassicalElements.d.ts +0 -170
- package/dist/coordinate/ClassicalElements.js +0 -334
- package/dist/coordinate/ClassicalElements.js.map +0 -1
- package/dist/coordinate/EquinoctialElements.d.ts +0 -114
- package/dist/coordinate/EquinoctialElements.js +0 -172
- package/dist/coordinate/EquinoctialElements.js.map +0 -1
- package/dist/coordinate/FormatTle.d.ts +0 -95
- package/dist/coordinate/FormatTle.js +0 -188
- package/dist/coordinate/FormatTle.js.map +0 -1
- package/dist/coordinate/Geodetic.d.ts +0 -110
- package/dist/coordinate/Geodetic.js +0 -164
- package/dist/coordinate/Geodetic.js.map +0 -1
- package/dist/coordinate/Hill.d.ts +0 -49
- package/dist/coordinate/Hill.js +0 -222
- package/dist/coordinate/Hill.js.map +0 -1
- package/dist/coordinate/ITRF.d.ts +0 -75
- package/dist/coordinate/ITRF.js +0 -135
- package/dist/coordinate/ITRF.js.map +0 -1
- package/dist/coordinate/J2000.d.ts +0 -65
- package/dist/coordinate/J2000.js +0 -120
- package/dist/coordinate/J2000.js.map +0 -1
- package/dist/coordinate/RIC.d.ts +0 -64
- package/dist/coordinate/RIC.js +0 -79
- package/dist/coordinate/RIC.js.map +0 -1
- package/dist/coordinate/RelativeState.d.ts +0 -70
- package/dist/coordinate/RelativeState.js +0 -79
- package/dist/coordinate/RelativeState.js.map +0 -1
- package/dist/coordinate/StateVector.d.ts +0 -76
- package/dist/coordinate/StateVector.js +0 -97
- package/dist/coordinate/StateVector.js.map +0 -1
- package/dist/coordinate/TEME.d.ts +0 -57
- package/dist/coordinate/TEME.js +0 -89
- package/dist/coordinate/TEME.js.map +0 -1
- package/dist/coordinate/Tle.d.ts +0 -429
- package/dist/coordinate/Tle.js +0 -866
- package/dist/coordinate/Tle.js.map +0 -1
- package/dist/coordinate/index.d.ts +0 -12
- package/dist/coordinate/index.js +0 -13
- package/dist/coordinate/index.js.map +0 -1
- package/dist/coordinate/tle-format-data.d.ts +0 -41
- package/dist/coordinate/tle-format-data.js +0 -46
- package/dist/coordinate/tle-format-data.js.map +0 -1
- package/dist/covariance/CovarianceSample.d.ts +0 -46
- package/dist/covariance/CovarianceSample.js +0 -221
- package/dist/covariance/CovarianceSample.js.map +0 -1
- package/dist/covariance/StateCovariance.d.ts +0 -42
- package/dist/covariance/StateCovariance.js +0 -65
- package/dist/covariance/StateCovariance.js.map +0 -1
- package/dist/covariance/index.d.ts +0 -2
- package/dist/covariance/index.js +0 -3
- package/dist/covariance/index.js.map +0 -1
- package/dist/data/DataHandler.d.ts +0 -66
- package/dist/data/DataHandler.js +0 -80
- package/dist/data/DataHandler.js.map +0 -1
- package/dist/data/values/Egm96Data.d.ts +0 -37
- package/dist/data/values/Egm96Data.js +0 -63
- package/dist/data/values/Egm96Data.js.map +0 -1
- package/dist/data/values/HpAtmosphereData.d.ts +0 -33
- package/dist/data/values/HpAtmosphereData.js +0 -58
- package/dist/data/values/HpAtmosphereData.js.map +0 -1
- package/dist/data/values/HpAtmosphereResult.d.ts +0 -29
- package/dist/data/values/HpAtmosphereResult.js +0 -38
- package/dist/data/values/HpAtmosphereResult.js.map +0 -1
- package/dist/data/values/Iau1980Data.d.ts +0 -36
- package/dist/data/values/Iau1980Data.js +0 -52
- package/dist/data/values/Iau1980Data.js.map +0 -1
- package/dist/data/values/LeapSecond.d.ts +0 -27
- package/dist/data/values/LeapSecond.js +0 -35
- package/dist/data/values/LeapSecond.js.map +0 -1
- package/dist/data/values/LeapSecondData.d.ts +0 -41
- package/dist/data/values/LeapSecondData.js +0 -103
- package/dist/data/values/LeapSecondData.js.map +0 -1
- package/dist/data/values/egm96.d.ts +0 -24
- package/dist/data/values/egm96.js +0 -726
- package/dist/data/values/egm96.js.map +0 -1
- package/dist/data/values/hpAtmosphere.d.ts +0 -24
- package/dist/data/values/hpAtmosphere.js +0 -76
- package/dist/data/values/hpAtmosphere.js.map +0 -1
- package/dist/data/values/iau1980.d.ts +0 -24
- package/dist/data/values/iau1980.js +0 -30
- package/dist/data/values/iau1980.js.map +0 -1
- package/dist/enums/AngularDiameterMethod.d.ts +0 -27
- package/dist/enums/AngularDiameterMethod.js +0 -29
- package/dist/enums/AngularDiameterMethod.js.map +0 -1
- package/dist/enums/AngularDistanceMethod.d.ts +0 -27
- package/dist/enums/AngularDistanceMethod.js +0 -29
- package/dist/enums/AngularDistanceMethod.js.map +0 -1
- package/dist/enums/CatalogSource.d.ts +0 -10
- package/dist/enums/CatalogSource.js +0 -12
- package/dist/enums/CatalogSource.js.map +0 -1
- package/dist/enums/CommLink.d.ts +0 -7
- package/dist/enums/CommLink.js +0 -9
- package/dist/enums/CommLink.js.map +0 -1
- package/dist/enums/FovFrame.d.ts +0 -25
- package/dist/enums/FovFrame.js +0 -27
- package/dist/enums/FovFrame.js.map +0 -1
- package/dist/enums/FovShape.d.ts +0 -25
- package/dist/enums/FovShape.js +0 -27
- package/dist/enums/FovShape.js.map +0 -1
- package/dist/enums/OrbitRegime.d.ts +0 -30
- package/dist/enums/OrbitRegime.js +0 -32
- package/dist/enums/OrbitRegime.js.map +0 -1
- package/dist/enums/PassType.d.ts +0 -28
- package/dist/enums/PassType.js +0 -30
- package/dist/enums/PassType.js.map +0 -1
- package/dist/enums/SensorType.d.ts +0 -33
- package/dist/enums/SensorType.js +0 -35
- package/dist/enums/SensorType.js.map +0 -1
- package/dist/enums/Sgp4OpsMode.d.ts +0 -26
- package/dist/enums/Sgp4OpsMode.js +0 -28
- package/dist/enums/Sgp4OpsMode.js.map +0 -1
- package/dist/enums/index.d.ts +0 -10
- package/dist/enums/index.js +0 -11
- package/dist/enums/index.js.map +0 -1
- package/dist/errors/index.d.ts +0 -153
- package/dist/errors/index.js +0 -179
- package/dist/errors/index.js.map +0 -1
- package/dist/force/AtmosphericDrag.d.ts +0 -50
- package/dist/force/AtmosphericDrag.js +0 -92
- package/dist/force/AtmosphericDrag.js.map +0 -1
- package/dist/force/EarthGravity.d.ts +0 -53
- package/dist/force/EarthGravity.js +0 -142
- package/dist/force/EarthGravity.js.map +0 -1
- package/dist/force/Force.d.ts +0 -26
- package/dist/force/Force.js +0 -22
- package/dist/force/Force.js.map +0 -1
- package/dist/force/ForceModel.d.ts +0 -45
- package/dist/force/ForceModel.js +0 -83
- package/dist/force/ForceModel.js.map +0 -1
- package/dist/force/Gravity.d.ts +0 -38
- package/dist/force/Gravity.js +0 -47
- package/dist/force/Gravity.js.map +0 -1
- package/dist/force/SolarRadiationPressure.d.ts +0 -26
- package/dist/force/SolarRadiationPressure.js +0 -45
- package/dist/force/SolarRadiationPressure.js.map +0 -1
- package/dist/force/ThirdBodyGravity.d.ts +0 -26
- package/dist/force/ThirdBodyGravity.js +0 -59
- package/dist/force/ThirdBodyGravity.js.map +0 -1
- package/dist/force/Thrust.d.ts +0 -34
- package/dist/force/Thrust.js +0 -58
- package/dist/force/Thrust.js.map +0 -1
- package/dist/force/index.d.ts +0 -8
- package/dist/force/index.js +0 -9
- package/dist/force/index.js.map +0 -1
- package/dist/interfaces/BaseObjectParams.d.ts +0 -30
- package/dist/interfaces/BaseObjectParams.js +0 -24
- package/dist/interfaces/BaseObjectParams.js.map +0 -1
- package/dist/interfaces/ClassicalElementsParams.d.ts +0 -33
- package/dist/interfaces/ClassicalElementsParams.js +0 -24
- package/dist/interfaces/ClassicalElementsParams.js.map +0 -1
- package/dist/interfaces/EquinoctialElementsParams.d.ts +0 -35
- package/dist/interfaces/EquinoctialElementsParams.js +0 -24
- package/dist/interfaces/EquinoctialElementsParams.js.map +0 -1
- package/dist/interfaces/GroundPositionParams.d.ts +0 -28
- package/dist/interfaces/GroundPositionParams.js +0 -24
- package/dist/interfaces/GroundPositionParams.js.map +0 -1
- package/dist/interfaces/OmmFormat.d.ts +0 -62
- package/dist/interfaces/OmmFormat.js +0 -2
- package/dist/interfaces/OmmFormat.js.map +0 -1
- package/dist/interfaces/OptionsParams.d.ts +0 -3
- package/dist/interfaces/OptionsParams.js +0 -2
- package/dist/interfaces/OptionsParams.js.map +0 -1
- package/dist/interfaces/SatelliteParams.d.ts +0 -38
- package/dist/interfaces/SatelliteParams.js +0 -2
- package/dist/interfaces/SatelliteParams.js.map +0 -1
- package/dist/interfaces/StarObjectParams.d.ts +0 -10
- package/dist/interfaces/StarObjectParams.js +0 -2
- package/dist/interfaces/StarObjectParams.js.map +0 -1
- package/dist/interfaces/TimeVariables.d.ts +0 -6
- package/dist/interfaces/TimeVariables.js +0 -2
- package/dist/interfaces/TimeVariables.js.map +0 -1
- package/dist/interfaces/index.d.ts +0 -7
- package/dist/interfaces/index.js +0 -2
- package/dist/interfaces/index.js.map +0 -1
- package/dist/interpolator/ChebyshevCoefficients.d.ts +0 -50
- package/dist/interpolator/ChebyshevCoefficients.js +0 -94
- package/dist/interpolator/ChebyshevCoefficients.js.map +0 -1
- package/dist/interpolator/ChebyshevInterpolator.d.ts +0 -38
- package/dist/interpolator/ChebyshevInterpolator.js +0 -71
- package/dist/interpolator/ChebyshevInterpolator.js.map +0 -1
- package/dist/interpolator/CubicSpline.d.ts +0 -35
- package/dist/interpolator/CubicSpline.js +0 -69
- package/dist/interpolator/CubicSpline.js.map +0 -1
- package/dist/interpolator/CubicSplineInterpolator.d.ts +0 -36
- package/dist/interpolator/CubicSplineInterpolator.js +0 -80
- package/dist/interpolator/CubicSplineInterpolator.js.map +0 -1
- package/dist/interpolator/FieldInterpolator.d.ts +0 -28
- package/dist/interpolator/FieldInterpolator.js +0 -24
- package/dist/interpolator/FieldInterpolator.js.map +0 -1
- package/dist/interpolator/Interpolator.d.ts +0 -22
- package/dist/interpolator/Interpolator.js +0 -47
- package/dist/interpolator/Interpolator.js.map +0 -1
- package/dist/interpolator/LagrangeInterpolator.d.ts +0 -40
- package/dist/interpolator/LagrangeInterpolator.js +0 -159
- package/dist/interpolator/LagrangeInterpolator.js.map +0 -1
- package/dist/interpolator/StateInterpolator.d.ts +0 -27
- package/dist/interpolator/StateInterpolator.js +0 -27
- package/dist/interpolator/StateInterpolator.js.map +0 -1
- package/dist/interpolator/VerletBlendInterpolator.d.ts +0 -43
- package/dist/interpolator/VerletBlendInterpolator.js +0 -118
- package/dist/interpolator/VerletBlendInterpolator.js.map +0 -1
- package/dist/interpolator/index.d.ts +0 -31
- package/dist/interpolator/index.js +0 -32
- package/dist/interpolator/index.js.map +0 -1
- package/dist/main.js.map +0 -1
- package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +0 -41
- package/dist/maneuver/TwoBurnOrbitTransfer.js +0 -65
- package/dist/maneuver/TwoBurnOrbitTransfer.js.map +0 -1
- package/dist/maneuver/Waypoint.d.ts +0 -91
- package/dist/maneuver/Waypoint.js +0 -179
- package/dist/maneuver/Waypoint.js.map +0 -1
- package/dist/maneuver/index.d.ts +0 -24
- package/dist/maneuver/index.js +0 -25
- package/dist/maneuver/index.js.map +0 -1
- package/dist/objects/AccessCalculator.d.ts +0 -112
- package/dist/objects/AccessCalculator.js +0 -268
- package/dist/objects/AccessCalculator.js.map +0 -1
- package/dist/objects/AccessWindow.d.ts +0 -95
- package/dist/objects/AccessWindow.js +0 -69
- package/dist/objects/AccessWindow.js.map +0 -1
- package/dist/objects/BaseObject.d.ts +0 -119
- package/dist/objects/BaseObject.js +0 -203
- package/dist/objects/BaseObject.js.map +0 -1
- package/dist/objects/CenterBody.d.ts +0 -41
- package/dist/objects/CenterBody.js +0 -85
- package/dist/objects/CenterBody.js.map +0 -1
- package/dist/objects/DynamicGroundObject.d.ts +0 -309
- package/dist/objects/DynamicGroundObject.js +0 -758
- package/dist/objects/DynamicGroundObject.js.map +0 -1
- package/dist/objects/EphemerisSatellite.d.ts +0 -209
- package/dist/objects/EphemerisSatellite.js +0 -480
- package/dist/objects/EphemerisSatellite.js.map +0 -1
- package/dist/objects/GroundObject.d.ts +0 -124
- package/dist/objects/GroundObject.js +0 -192
- package/dist/objects/GroundObject.js.map +0 -1
- package/dist/objects/GroundStation.d.ts +0 -60
- package/dist/objects/GroundStation.js +0 -113
- package/dist/objects/GroundStation.js.map +0 -1
- package/dist/objects/History.d.ts +0 -101
- package/dist/objects/History.js +0 -180
- package/dist/objects/History.js.map +0 -1
- package/dist/objects/InterpolatorType.d.ts +0 -39
- package/dist/objects/InterpolatorType.js +0 -41
- package/dist/objects/InterpolatorType.js.map +0 -1
- package/dist/objects/LandObject.d.ts +0 -38
- package/dist/objects/LandObject.js +0 -48
- package/dist/objects/LandObject.js.map +0 -1
- package/dist/objects/Marker.d.ts +0 -24
- package/dist/objects/Marker.js +0 -30
- package/dist/objects/Marker.js.map +0 -1
- package/dist/objects/ObjectTypes.d.ts +0 -60
- package/dist/objects/ObjectTypes.js +0 -18
- package/dist/objects/ObjectTypes.js.map +0 -1
- package/dist/objects/Satellite.d.ts +0 -443
- package/dist/objects/Satellite.js +0 -843
- package/dist/objects/Satellite.js.map +0 -1
- package/dist/objects/SpaceObject.d.ts +0 -205
- package/dist/objects/SpaceObject.js +0 -149
- package/dist/objects/SpaceObject.js.map +0 -1
- package/dist/objects/Star.d.ts +0 -44
- package/dist/objects/Star.js +0 -95
- package/dist/objects/Star.js.map +0 -1
- package/dist/objects/VisualizationHelpers.d.ts +0 -148
- package/dist/objects/VisualizationHelpers.js +0 -218
- package/dist/objects/VisualizationHelpers.js.map +0 -1
- package/dist/objects/index.d.ts +0 -24
- package/dist/objects/index.js +0 -16
- package/dist/objects/index.js.map +0 -1
- package/dist/observation/Observation.d.ts +0 -89
- package/dist/observation/Observation.js +0 -51
- package/dist/observation/Observation.js.map +0 -1
- package/dist/observation/ObservationOptical.d.ts +0 -48
- package/dist/observation/ObservationOptical.js +0 -105
- package/dist/observation/ObservationOptical.js.map +0 -1
- package/dist/observation/ObservationRadar.d.ts +0 -46
- package/dist/observation/ObservationRadar.js +0 -96
- package/dist/observation/ObservationRadar.js.map +0 -1
- package/dist/observation/ObservationUtils.d.ts +0 -22
- package/dist/observation/ObservationUtils.js +0 -46
- package/dist/observation/ObservationUtils.js.map +0 -1
- package/dist/observation/PropagatorPairs.d.ts +0 -32
- package/dist/observation/PropagatorPairs.js +0 -43
- package/dist/observation/PropagatorPairs.js.map +0 -1
- package/dist/observation/RAE.d.ts +0 -111
- package/dist/observation/RAE.js +0 -214
- package/dist/observation/RAE.js.map +0 -1
- package/dist/observation/RadecGeocentric.d.ts +0 -111
- package/dist/observation/RadecGeocentric.js +0 -169
- package/dist/observation/RadecGeocentric.js.map +0 -1
- package/dist/observation/RadecTopocentric.d.ts +0 -123
- package/dist/observation/RadecTopocentric.js +0 -200
- package/dist/observation/RadecTopocentric.js.map +0 -1
- package/dist/observation/index.d.ts +0 -26
- package/dist/observation/index.js +0 -27
- package/dist/observation/index.js.map +0 -1
- package/dist/operations/BoxMuller.d.ts +0 -46
- package/dist/operations/BoxMuller.js +0 -77
- package/dist/operations/BoxMuller.js.map +0 -1
- package/dist/operations/EulerAngles.d.ts +0 -105
- package/dist/operations/EulerAngles.js +0 -161
- package/dist/operations/EulerAngles.js.map +0 -1
- package/dist/operations/Matrix.d.ts +0 -170
- package/dist/operations/Matrix.js +0 -405
- package/dist/operations/Matrix.js.map +0 -1
- package/dist/operations/Quaternion.d.ts +0 -56
- package/dist/operations/Quaternion.js +0 -167
- package/dist/operations/Quaternion.js.map +0 -1
- package/dist/operations/Random.d.ts +0 -40
- package/dist/operations/Random.js +0 -50
- package/dist/operations/Random.js.map +0 -1
- package/dist/operations/RandomGaussianSource.d.ts +0 -24
- package/dist/operations/RandomGaussianSource.js +0 -43
- package/dist/operations/RandomGaussianSource.js.map +0 -1
- package/dist/operations/Vector.d.ts +0 -262
- package/dist/operations/Vector.js +0 -415
- package/dist/operations/Vector.js.map +0 -1
- package/dist/operations/Vector3D.d.ts +0 -80
- package/dist/operations/Vector3D.js +0 -224
- package/dist/operations/Vector3D.js.map +0 -1
- package/dist/operations/index.d.ts +0 -4
- package/dist/operations/index.js +0 -5
- package/dist/operations/index.js.map +0 -1
- package/dist/operations/operations.d.ts +0 -26
- package/dist/operations/operations.js +0 -27
- package/dist/operations/operations.js.map +0 -1
- package/dist/optimize/ChebyshevCompressor.d.ts +0 -80
- package/dist/optimize/ChebyshevCompressor.js +0 -128
- package/dist/optimize/ChebyshevCompressor.js.map +0 -1
- package/dist/optimize/DownhillSimplex.d.ts +0 -98
- package/dist/optimize/DownhillSimplex.js +0 -216
- package/dist/optimize/DownhillSimplex.js.map +0 -1
- package/dist/optimize/GoldenSection.d.ts +0 -177
- package/dist/optimize/GoldenSection.js +0 -202
- package/dist/optimize/GoldenSection.js.map +0 -1
- package/dist/optimize/PolynomialRegression.d.ts +0 -151
- package/dist/optimize/PolynomialRegression.js +0 -184
- package/dist/optimize/PolynomialRegression.js.map +0 -1
- package/dist/optimize/SimpleLinearRegression.d.ts +0 -153
- package/dist/optimize/SimpleLinearRegression.js +0 -212
- package/dist/optimize/SimpleLinearRegression.js.map +0 -1
- package/dist/optimize/index.d.ts +0 -5
- package/dist/optimize/index.js +0 -6
- package/dist/optimize/index.js.map +0 -1
- package/dist/optimize/internal/PolynomicalRegressionResult.d.ts +0 -118
- package/dist/optimize/internal/PolynomicalRegressionResult.js +0 -123
- package/dist/optimize/internal/PolynomicalRegressionResult.js.map +0 -1
- package/dist/optimize/internal/SimplexEntry.d.ts +0 -150
- package/dist/optimize/internal/SimplexEntry.js +0 -147
- package/dist/optimize/internal/SimplexEntry.js.map +0 -1
- package/dist/orbit-design/RepeatGroundTrack.d.ts +0 -184
- package/dist/orbit-design/RepeatGroundTrack.js +0 -359
- package/dist/orbit-design/RepeatGroundTrack.js.map +0 -1
- package/dist/orbit-design/index.d.ts +0 -18
- package/dist/orbit-design/index.js +0 -18
- package/dist/orbit-design/index.js.map +0 -1
- package/dist/orbit-determination/BatchLeastSquaresOD.d.ts +0 -69
- package/dist/orbit-determination/BatchLeastSquaresOD.js +0 -143
- package/dist/orbit-determination/BatchLeastSquaresOD.js.map +0 -1
- package/dist/orbit-determination/BatchLeastSquaresResult.d.ts +0 -31
- package/dist/orbit-determination/BatchLeastSquaresResult.js +0 -36
- package/dist/orbit-determination/BatchLeastSquaresResult.js.map +0 -1
- package/dist/orbit-determination/GaussIOD.d.ts +0 -98
- package/dist/orbit-determination/GaussIOD.js +0 -294
- package/dist/orbit-determination/GaussIOD.js.map +0 -1
- package/dist/orbit-determination/GibbsIOD.d.ts +0 -38
- package/dist/orbit-determination/GibbsIOD.js +0 -77
- package/dist/orbit-determination/GibbsIOD.js.map +0 -1
- package/dist/orbit-determination/GoodingIOD.d.ts +0 -155
- package/dist/orbit-determination/GoodingIOD.js +0 -492
- package/dist/orbit-determination/GoodingIOD.js.map +0 -1
- package/dist/orbit-determination/HerrickGibbsIOD.d.ts +0 -33
- package/dist/orbit-determination/HerrickGibbsIOD.js +0 -50
- package/dist/orbit-determination/HerrickGibbsIOD.js.map +0 -1
- package/dist/orbit-determination/LambertIOD.d.ts +0 -59
- package/dist/orbit-determination/LambertIOD.js +0 -213
- package/dist/orbit-determination/LambertIOD.js.map +0 -1
- package/dist/orbit-determination/LevenbergMarquardtOD.d.ts +0 -72
- package/dist/orbit-determination/LevenbergMarquardtOD.js +0 -202
- package/dist/orbit-determination/LevenbergMarquardtOD.js.map +0 -1
- package/dist/orbit-determination/LevenbergMarquardtResult.d.ts +0 -36
- package/dist/orbit-determination/LevenbergMarquardtResult.js +0 -43
- package/dist/orbit-determination/LevenbergMarquardtResult.js.map +0 -1
- package/dist/orbit-determination/ModifiedGoodingIOD.d.ts +0 -41
- package/dist/orbit-determination/ModifiedGoodingIOD.js +0 -94
- package/dist/orbit-determination/ModifiedGoodingIOD.js.map +0 -1
- package/dist/orbit-determination/index.d.ts +0 -9
- package/dist/orbit-determination/index.js +0 -10
- package/dist/orbit-determination/index.js.map +0 -1
- package/dist/parsers/CdmExporter.d.ts +0 -85
- package/dist/parsers/CdmExporter.js +0 -235
- package/dist/parsers/CdmExporter.js.map +0 -1
- package/dist/parsers/CdmParser.d.ts +0 -97
- package/dist/parsers/CdmParser.js +0 -396
- package/dist/parsers/CdmParser.js.map +0 -1
- package/dist/parsers/CdmTypes.d.ts +0 -240
- package/dist/parsers/CdmTypes.js +0 -18
- package/dist/parsers/CdmTypes.js.map +0 -1
- package/dist/parsers/HorizonsParser.d.ts +0 -128
- package/dist/parsers/HorizonsParser.js +0 -320
- package/dist/parsers/HorizonsParser.js.map +0 -1
- package/dist/parsers/OemParser.d.ts +0 -56
- package/dist/parsers/OemParser.js +0 -235
- package/dist/parsers/OemParser.js.map +0 -1
- package/dist/parsers/OemTypes.d.ts +0 -100
- package/dist/parsers/OemTypes.js +0 -18
- package/dist/parsers/OemTypes.js.map +0 -1
- package/dist/parsers/index.d.ts +0 -23
- package/dist/parsers/index.js +0 -24
- package/dist/parsers/index.js.map +0 -1
- package/dist/propagator/DormandPrince54Propagator.d.ts +0 -28
- package/dist/propagator/DormandPrince54Propagator.js +0 -64
- package/dist/propagator/DormandPrince54Propagator.js.map +0 -1
- package/dist/propagator/KeplerPropagator.d.ts +0 -35
- package/dist/propagator/KeplerPropagator.js +0 -83
- package/dist/propagator/KeplerPropagator.js.map +0 -1
- package/dist/propagator/Propagator.d.ts +0 -34
- package/dist/propagator/Propagator.js +0 -162
- package/dist/propagator/Propagator.js.map +0 -1
- package/dist/propagator/RkCheckpoint.d.ts +0 -22
- package/dist/propagator/RkCheckpoint.js +0 -27
- package/dist/propagator/RkCheckpoint.js.map +0 -1
- package/dist/propagator/RkResult.d.ts +0 -23
- package/dist/propagator/RkResult.js +0 -30
- package/dist/propagator/RkResult.js.map +0 -1
- package/dist/propagator/RungeKutta4Propagator.d.ts +0 -50
- package/dist/propagator/RungeKutta4Propagator.js +0 -141
- package/dist/propagator/RungeKutta4Propagator.js.map +0 -1
- package/dist/propagator/RungeKutta89Propagator.d.ts +0 -28
- package/dist/propagator/RungeKutta89Propagator.js +0 -126
- package/dist/propagator/RungeKutta89Propagator.js.map +0 -1
- package/dist/propagator/RungeKuttaAdaptive.d.ts +0 -51
- package/dist/propagator/RungeKuttaAdaptive.js +0 -199
- package/dist/propagator/RungeKuttaAdaptive.js.map +0 -1
- package/dist/propagator/Sgp4Propagator.d.ts +0 -76
- package/dist/propagator/Sgp4Propagator.js +0 -96
- package/dist/propagator/Sgp4Propagator.js.map +0 -1
- package/dist/propagator/index.d.ts +0 -9
- package/dist/propagator/index.js +0 -10
- package/dist/propagator/index.js.map +0 -1
- package/dist/scheduling/ContactScheduler.d.ts +0 -248
- package/dist/scheduling/ContactScheduler.js +0 -503
- package/dist/scheduling/ContactScheduler.js.map +0 -1
- package/dist/scheduling/ScheduledContact.d.ts +0 -155
- package/dist/scheduling/ScheduledContact.js +0 -189
- package/dist/scheduling/ScheduledContact.js.map +0 -1
- package/dist/scheduling/index.d.ts +0 -5
- package/dist/scheduling/index.js +0 -4
- package/dist/scheduling/index.js.map +0 -1
- package/dist/sensor/FieldOfView.d.ts +0 -250
- package/dist/sensor/FieldOfView.js +0 -470
- package/dist/sensor/FieldOfView.js.map +0 -1
- package/dist/sensor/LaserRangingSensor.d.ts +0 -122
- package/dist/sensor/LaserRangingSensor.js +0 -174
- package/dist/sensor/LaserRangingSensor.js.map +0 -1
- package/dist/sensor/MechanicalRadar.d.ts +0 -86
- package/dist/sensor/MechanicalRadar.js +0 -130
- package/dist/sensor/MechanicalRadar.js.map +0 -1
- package/dist/sensor/OpticalSensor.d.ts +0 -111
- package/dist/sensor/OpticalSensor.js +0 -164
- package/dist/sensor/OpticalSensor.js.map +0 -1
- package/dist/sensor/PassiveRFSensor.d.ts +0 -115
- package/dist/sensor/PassiveRFSensor.js +0 -168
- package/dist/sensor/PassiveRFSensor.js.map +0 -1
- package/dist/sensor/PhasedArrayRadar.d.ts +0 -170
- package/dist/sensor/PhasedArrayRadar.js +0 -290
- package/dist/sensor/PhasedArrayRadar.js.map +0 -1
- package/dist/sensor/RadarSensor.d.ts +0 -94
- package/dist/sensor/RadarSensor.js +0 -106
- package/dist/sensor/RadarSensor.js.map +0 -1
- package/dist/sensor/Sensor.d.ts +0 -271
- package/dist/sensor/Sensor.js +0 -343
- package/dist/sensor/Sensor.js.map +0 -1
- package/dist/sensor/index.d.ts +0 -74
- package/dist/sensor/index.js +0 -70
- package/dist/sensor/index.js.map +0 -1
- package/dist/sgp4/index.d.ts +0 -25
- package/dist/sgp4/index.js +0 -25
- package/dist/sgp4/index.js.map +0 -1
- package/dist/sgp4/sgp4-error.d.ts +0 -22
- package/dist/sgp4/sgp4-error.js +0 -44
- package/dist/sgp4/sgp4-error.js.map +0 -1
- package/dist/sgp4/sgp4.d.ts +0 -99
- package/dist/sgp4/sgp4.js +0 -3170
- package/dist/sgp4/sgp4.js.map +0 -1
- package/dist/smoothing/ExponentialSmoothing.d.ts +0 -37
- package/dist/smoothing/ExponentialSmoothing.js +0 -75
- package/dist/smoothing/ExponentialSmoothing.js.map +0 -1
- package/dist/time/Epoch.d.ts +0 -81
- package/dist/time/Epoch.js +0 -146
- package/dist/time/Epoch.js.map +0 -1
- package/dist/time/EpochGPS.d.ts +0 -106
- package/dist/time/EpochGPS.js +0 -134
- package/dist/time/EpochGPS.js.map +0 -1
- package/dist/time/EpochTAI.d.ts +0 -62
- package/dist/time/EpochTAI.js +0 -63
- package/dist/time/EpochTAI.js.map +0 -1
- package/dist/time/EpochTDB.d.ts +0 -72
- package/dist/time/EpochTDB.js +0 -73
- package/dist/time/EpochTDB.js.map +0 -1
- package/dist/time/EpochTT.d.ts +0 -75
- package/dist/time/EpochTT.js +0 -76
- package/dist/time/EpochTT.js.map +0 -1
- package/dist/time/EpochUTC.d.ts +0 -123
- package/dist/time/EpochUTC.js +0 -200
- package/dist/time/EpochUTC.js.map +0 -1
- package/dist/time/EpochWindow.d.ts +0 -28
- package/dist/time/EpochWindow.js +0 -31
- package/dist/time/EpochWindow.js.map +0 -1
- package/dist/time/TimeStamped.d.ts +0 -61
- package/dist/time/TimeStamped.js +0 -73
- package/dist/time/TimeStamped.js.map +0 -1
- package/dist/time/index.d.ts +0 -8
- package/dist/time/index.js +0 -9
- package/dist/time/index.js.map +0 -1
- package/dist/transforms/TransformCache.d.ts +0 -27
- package/dist/transforms/TransformCache.js +0 -41
- package/dist/transforms/TransformCache.js.map +0 -1
- package/dist/transforms/conversions.d.ts +0 -63
- package/dist/transforms/conversions.js +0 -89
- package/dist/transforms/conversions.js.map +0 -1
- package/dist/transforms/index.d.ts +0 -2
- package/dist/transforms/index.js +0 -3
- package/dist/transforms/index.js.map +0 -1
- package/dist/transforms/transforms.d.ts +0 -241
- package/dist/transforms/transforms.js +0 -479
- package/dist/transforms/transforms.js.map +0 -1
- package/dist/types/types.d.ts +0 -757
- package/dist/types/types.js +0 -90
- package/dist/types/types.js.map +0 -1
- package/dist/utils/constants.d.ts +0 -80
- package/dist/utils/constants.js +0 -87
- package/dist/utils/constants.js.map +0 -1
- package/dist/utils/create-covariance-from-tle.d.ts +0 -18
- package/dist/utils/create-covariance-from-tle.js +0 -57
- package/dist/utils/create-covariance-from-tle.js.map +0 -1
- package/dist/utils/functions.d.ts +0 -236
- package/dist/utils/functions.js +0 -501
- package/dist/utils/functions.js.map +0 -1
- package/dist/utils/index.d.ts +0 -5
- package/dist/utils/index.js +0 -6
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/jacobian.d.ts +0 -17
- package/dist/utils/jacobian.js +0 -34
- package/dist/utils/jacobian.js.map +0 -1
- package/dist/utils/linearDistance.d.ts +0 -8
- package/dist/utils/linearDistance.js +0 -10
- package/dist/utils/linearDistance.js.map +0 -1
- package/docs/README.md +0 -151
- package/docs/getting-started.md +0 -792
- package/docs/lambert-satellite-integration-guide.md +0 -766
- package/docs/user-guide.md +0 -1935
- package/jest.config.mjs +0 -29
- package/src/body/CelestialBody.ts +0 -316
- package/src/body/CelestialBodyType.ts +0 -55
- package/src/body/Earth.ts +0 -260
- package/src/body/EphemerisBody.ts +0 -349
- package/src/body/MoonBody.ts +0 -552
- package/src/body/NutationAngles.ts +0 -40
- package/src/body/PlanetBody.ts +0 -354
- package/src/body/PrecessionAngles.ts +0 -31
- package/src/body/SolarSystem.ts +0 -276
- package/src/body/SunBody.ts +0 -538
- package/src/body/__tests__/Earth.test.ts +0 -135
- package/src/body/__tests__/EphemerisBody.test.ts +0 -323
- package/src/body/__tests__/MoonBody.test.ts +0 -198
- package/src/body/__tests__/PlanetBody.test.ts +0 -257
- package/src/body/__tests__/SolarSystem.test.ts +0 -237
- package/src/body/__tests__/SunBody.test.ts +0 -227
- package/src/body/__tests__/__snapshots__/Earth.test.ts.snap +0 -39
- package/src/body/index.ts +0 -64
- package/src/body/suncalc.LICENSE.md +0 -18
- package/src/comm/Antenna.ts +0 -213
- package/src/comm/Beacon.ts +0 -328
- package/src/comm/CommTypes.ts +0 -216
- package/src/comm/CommunicationDevice.ts +0 -199
- package/src/comm/Receiver.ts +0 -263
- package/src/comm/Transmitter.ts +0 -349
- package/src/comm/Transponder.ts +0 -360
- package/src/comm/__tests__/Antenna.test.ts +0 -155
- package/src/comm/__tests__/Beacon.test.ts +0 -333
- package/src/comm/__tests__/CommTypes.test.ts +0 -165
- package/src/comm/__tests__/Receiver.test.ts +0 -215
- package/src/comm/__tests__/Transmitter.test.ts +0 -164
- package/src/comm/__tests__/Transponder.test.ts +0 -181
- package/src/comm/index.ts +0 -60
- package/src/conjunction/CatalogScreener.ts +0 -322
- package/src/conjunction/ConjunctionAssessment.ts +0 -410
- package/src/conjunction/ConjunctionEvent.ts +0 -185
- package/src/conjunction/CovarianceRealism.ts +0 -472
- package/src/conjunction/ProbabilityOfCollision.ts +0 -302
- package/src/conjunction/ScreeningFilter.ts +0 -206
- package/src/conjunction/__tests__/CatalogScreener.test.ts +0 -280
- package/src/conjunction/__tests__/ConjunctionAssessment.basic.test.ts +0 -250
- package/src/conjunction/__tests__/ConjunctionAssessment.highfidelity.test.ts +0 -76
- package/src/conjunction/__tests__/CovarianceRealism.test.ts +0 -296
- package/src/conjunction/index.ts +0 -35
- package/src/constellation/ConstellationGenerator.ts +0 -377
- package/src/constellation/__tests__/ConstellationGenerator.test.ts +0 -446
- package/src/constellation/index.ts +0 -18
- package/src/coordinate/ClassicalElements.ts +0 -394
- package/src/coordinate/EquinoctialElements.ts +0 -189
- package/src/coordinate/FormatTle.ts +0 -219
- package/src/coordinate/Geodetic.ts +0 -191
- package/src/coordinate/Hill.ts +0 -326
- package/src/coordinate/ITRF.ts +0 -146
- package/src/coordinate/J2000.ts +0 -130
- package/src/coordinate/README.md +0 -788
- package/src/coordinate/RIC.ts +0 -87
- package/src/coordinate/RelativeState.ts +0 -101
- package/src/coordinate/StateVector.ts +0 -128
- package/src/coordinate/TEME.ts +0 -97
- package/src/coordinate/Tle.ts +0 -1025
- package/src/coordinate/__tests__/ClassicalElements.test.ts +0 -129
- package/src/coordinate/__tests__/EquinoctialElements.test.ts +0 -108
- package/src/coordinate/__tests__/FormatTle.test.ts +0 -92
- package/src/coordinate/__tests__/Geodetic.test.ts +0 -165
- package/src/coordinate/__tests__/Hill.test.ts +0 -195
- package/src/coordinate/__tests__/ITRF.test.ts +0 -231
- package/src/coordinate/__tests__/J2000.test.ts +0 -132
- package/src/coordinate/__tests__/RIC.test.ts +0 -107
- package/src/coordinate/__tests__/TEME.test.ts +0 -48
- package/src/coordinate/__tests__/Tle.test.ts +0 -185
- package/src/coordinate/__tests__/__snapshots__/ClassicalElements.test.ts.snap +0 -106
- package/src/coordinate/__tests__/__snapshots__/EquinoctialElements.test.ts.snap +0 -93
- package/src/coordinate/__tests__/__snapshots__/Geodetic.test.ts.snap +0 -54
- package/src/coordinate/__tests__/__snapshots__/ITRF.test.ts.snap +0 -321
- package/src/coordinate/__tests__/__snapshots__/J2000.test.ts.snap +0 -26
- package/src/coordinate/__tests__/__snapshots__/RIC.test.ts.snap +0 -79
- package/src/coordinate/__tests__/__snapshots__/TEME.test.ts.snap +0 -41
- package/src/coordinate/__tests__/__snapshots__/Tle.test.ts.snap +0 -180
- package/src/coordinate/index.ts +0 -13
- package/src/coordinate/tle-format-data.ts +0 -47
- package/src/covariance/CovarianceSample.ts +0 -292
- package/src/covariance/StateCovariance.ts +0 -69
- package/src/covariance/__tests__/CovarianceSample.test.ts +0 -143
- package/src/covariance/__tests__/StateCovariance.test.ts +0 -90
- package/src/covariance/index.ts +0 -3
- package/src/data/DataHandler.ts +0 -88
- package/src/data/values/Egm96Data.ts +0 -75
- package/src/data/values/HpAtmosphereData.ts +0 -76
- package/src/data/values/HpAtmosphereResult.ts +0 -41
- package/src/data/values/Iau1980Data.ts +0 -63
- package/src/data/values/LeapSecond.ts +0 -37
- package/src/data/values/LeapSecondData.ts +0 -113
- package/src/data/values/__tests__/Egm96Data.test.ts +0 -33
- package/src/data/values/__tests__/HpAtmosphereData.test.ts +0 -82
- package/src/data/values/__tests__/LeapSecondData.test.ts +0 -59
- package/src/data/values/egm96.ts +0 -728
- package/src/data/values/hpAtmosphere.ts +0 -79
- package/src/data/values/iau1980.ts +0 -32
- package/src/enums/AngularDiameterMethod.ts +0 -28
- package/src/enums/AngularDistanceMethod.ts +0 -28
- package/src/enums/CatalogSource.ts +0 -10
- package/src/enums/CommLink.ts +0 -7
- package/src/enums/FovFrame.ts +0 -26
- package/src/enums/FovShape.ts +0 -26
- package/src/enums/OrbitRegime.ts +0 -31
- package/src/enums/PassType.ts +0 -29
- package/src/enums/SensorType.ts +0 -34
- package/src/enums/Sgp4OpsMode.ts +0 -27
- package/src/enums/index.ts +0 -11
- package/src/errors/__tests__/errors.test.ts +0 -196
- package/src/errors/index.ts +0 -185
- package/src/fetch/horizons-constants.ts +0 -53
- package/src/fetch/horizons-interfaces.ts +0 -38
- package/src/fetch/horizons.ts +0 -300
- package/src/fetch/index.ts +0 -26
- package/src/force/AtmosphericDrag.ts +0 -120
- package/src/force/EarthGravity.ts +0 -182
- package/src/force/Force.ts +0 -31
- package/src/force/ForceModel.ts +0 -99
- package/src/force/Gravity.ts +0 -53
- package/src/force/README.md +0 -99
- package/src/force/SolarRadiationPressure.ts +0 -43
- package/src/force/ThirdBodyGravity.ts +0 -64
- package/src/force/Thrust.ts +0 -83
- package/src/force/__tests__/AtmosphericDrag.test.ts +0 -168
- package/src/force/__tests__/EarthGravity.test.ts +0 -115
- package/src/force/__tests__/ForceModel.test.ts +0 -188
- package/src/force/__tests__/Gravity.test.ts +0 -81
- package/src/force/__tests__/SolarRadiationPressure.test.ts +0 -115
- package/src/force/__tests__/ThirdBodyGravity.test.ts +0 -119
- package/src/force/__tests__/Thrust.test.ts +0 -132
- package/src/force/index.ts +0 -9
- package/src/interfaces/BaseObjectParams.ts +0 -32
- package/src/interfaces/ClassicalElementsParams.ts +0 -35
- package/src/interfaces/EquinoctialElementsParams.ts +0 -37
- package/src/interfaces/GroundPositionParams.ts +0 -30
- package/src/interfaces/OmmFormat.ts +0 -63
- package/src/interfaces/OptionsParams.ts +0 -3
- package/src/interfaces/SatelliteParams.ts +0 -57
- package/src/interfaces/StarObjectParams.ts +0 -11
- package/src/interfaces/TimeVariables.ts +0 -7
- package/src/interfaces/index.ts +0 -8
- package/src/interpolator/ChebyshevCoefficients.ts +0 -109
- package/src/interpolator/ChebyshevInterpolator.ts +0 -87
- package/src/interpolator/CubicSpline.ts +0 -72
- package/src/interpolator/CubicSplineInterpolator.ts +0 -90
- package/src/interpolator/FieldInterpolator.ts +0 -35
- package/src/interpolator/Interpolator.ts +0 -56
- package/src/interpolator/LagrangeInterpolator.ts +0 -192
- package/src/interpolator/StateInterpolator.ts +0 -37
- package/src/interpolator/VerletBlendInterpolator.ts +0 -146
- package/src/interpolator/__tests__/ChebyshevCoefficients.test.ts +0 -105
- package/src/interpolator/__tests__/ChebyshevInterpolator.test.ts +0 -81
- package/src/interpolator/__tests__/CubicSpline.test.ts +0 -80
- package/src/interpolator/__tests__/CubicSplineInterpolator.test.ts +0 -94
- package/src/interpolator/__tests__/FieldInterpolator.test.ts +0 -59
- package/src/interpolator/__tests__/Interpolator.test.ts +0 -131
- package/src/interpolator/__tests__/LagrangeInterpolator.test.ts +0 -121
- package/src/interpolator/__tests__/StateInterpolator.test.ts +0 -57
- package/src/interpolator/__tests__/VerletBlendInterpolator.test.ts +0 -116
- package/src/interpolator/index.ts +0 -32
- package/src/main.ts +0 -87
- package/src/maneuver/TwoBurnOrbitTransfer.ts +0 -79
- package/src/maneuver/Waypoint.ts +0 -267
- package/src/maneuver/__tests__/TwoBurnOrbitTransfer.test.ts +0 -90
- package/src/maneuver/__tests__/Waypoint.test.ts +0 -427
- package/src/maneuver/index.ts +0 -25
- package/src/objects/AccessCalculator.ts +0 -345
- package/src/objects/AccessWindow.ts +0 -129
- package/src/objects/BaseObject.ts +0 -242
- package/src/objects/CenterBody.ts +0 -88
- package/src/objects/DynamicGroundObject.ts +0 -975
- package/src/objects/EphemerisSatellite.ts +0 -629
- package/src/objects/GroundObject.ts +0 -246
- package/src/objects/GroundStation.ts +0 -130
- package/src/objects/History.ts +0 -228
- package/src/objects/InterpolatorType.ts +0 -42
- package/src/objects/LandObject.ts +0 -62
- package/src/objects/Marker.ts +0 -32
- package/src/objects/ObjectTypes.ts +0 -66
- package/src/objects/Satellite.ts +0 -1013
- package/src/objects/SpaceObject.ts +0 -304
- package/src/objects/Star.ts +0 -135
- package/src/objects/VisualizationHelpers.ts +0 -324
- package/src/objects/__tests__/AccessCalculator.test.ts +0 -499
- package/src/objects/__tests__/DynamicGroundObject.test.ts +0 -859
- package/src/objects/__tests__/EphemerisSatellite.test.ts +0 -589
- package/src/objects/__tests__/GroundStation.test.ts +0 -204
- package/src/objects/__tests__/Satellite.test.ts +0 -487
- package/src/objects/__tests__/SpaceObject.rae.test.ts +0 -156
- package/src/objects/__tests__/VisualizationHelpers.test.ts +0 -438
- package/src/objects/index.ts +0 -31
- package/src/observation/Observation.ts +0 -113
- package/src/observation/ObservationOptical.ts +0 -146
- package/src/observation/ObservationRadar.ts +0 -135
- package/src/observation/ObservationUtils.ts +0 -69
- package/src/observation/PropagatorPairs.ts +0 -45
- package/src/observation/RAE.ts +0 -261
- package/src/observation/RadecGeocentric.ts +0 -206
- package/src/observation/RadecTopocentric.ts +0 -247
- package/src/observation/__tests__/RAE.test.ts +0 -135
- package/src/observation/__tests__/RadecGeocentric.test.ts +0 -107
- package/src/observation/__tests__/RadecTopocentric.test.ts +0 -121
- package/src/observation/__tests__/__snapshots__/RAE.test.ts.snap +0 -91
- package/src/observation/__tests__/__snapshots__/RadecGeocentric.test.ts.snap +0 -71
- package/src/observation/__tests__/__snapshots__/RadecTopocentric.test.ts.snap +0 -71
- package/src/observation/index.ts +0 -28
- package/src/operations/BoxMuller.ts +0 -87
- package/src/operations/EulerAngles.ts +0 -183
- package/src/operations/Matrix.ts +0 -473
- package/src/operations/Quaternion.ts +0 -222
- package/src/operations/Random.ts +0 -54
- package/src/operations/RandomGaussianSource.ts +0 -51
- package/src/operations/Vector.ts +0 -484
- package/src/operations/Vector3D.ts +0 -272
- package/src/operations/__tests__/Matrix.test.ts +0 -277
- package/src/operations/__tests__/Random.test.ts +0 -24
- package/src/operations/__tests__/Vector.test.ts +0 -269
- package/src/operations/__tests__/Vector3D.test.ts +0 -100
- package/src/operations/__tests__/__snapshots__/Matrix.test.ts.snap +0 -161
- package/src/operations/__tests__/__snapshots__/Random.test.ts.snap +0 -7
- package/src/operations/__tests__/__snapshots__/Vector.test.ts.snap +0 -218
- package/src/operations/__tests__/__snapshots__/Vector3D.test.ts.snap +0 -138
- package/src/operations/index.ts +0 -5
- package/src/operations/operations.ts +0 -28
- package/src/optimize/ChebyshevCompressor.ts +0 -141
- package/src/optimize/DownhillSimplex.ts +0 -246
- package/src/optimize/GoldenSection.ts +0 -230
- package/src/optimize/PolynomialRegression.ts +0 -211
- package/src/optimize/README.md +0 -343
- package/src/optimize/SimpleLinearRegression.ts +0 -227
- package/src/optimize/__tests__/ChebyshevCompressor.test.ts +0 -40
- package/src/optimize/__tests__/DownhillSimplex.test.ts +0 -168
- package/src/optimize/__tests__/GoldenSection.test.ts +0 -21
- package/src/optimize/__tests__/PolynomialRegression.test.ts +0 -24
- package/src/optimize/__tests__/SimpleLinearRegression.test.ts +0 -31
- package/src/optimize/index.ts +0 -6
- package/src/optimize/internal/PolynomicalRegressionResult.ts +0 -126
- package/src/optimize/internal/SimplexEntry.ts +0 -169
- package/src/orbit-design/RepeatGroundTrack.ts +0 -516
- package/src/orbit-design/__tests__/RepeatGroundTrack.test.ts +0 -526
- package/src/orbit-design/index.ts +0 -23
- package/src/orbit-determination/BatchLeastSquaresOD.ts +0 -174
- package/src/orbit-determination/BatchLeastSquaresResult.ts +0 -33
- package/src/orbit-determination/GaussIOD.ts +0 -396
- package/src/orbit-determination/GibbsIOD.ts +0 -98
- package/src/orbit-determination/GoodingIOD.ts +0 -680
- package/src/orbit-determination/HerrickGibbsIOD.ts +0 -51
- package/src/orbit-determination/LambertIOD.ts +0 -260
- package/src/orbit-determination/LevenbergMarquardtOD.ts +0 -258
- package/src/orbit-determination/LevenbergMarquardtResult.ts +0 -42
- package/src/orbit-determination/ModifiedGoodingIOD.test.ts +0 -86
- package/src/orbit-determination/ModifiedGoodingIOD.ts +0 -145
- package/src/orbit-determination/README.md +0 -353
- package/src/orbit-determination/__tests__/BatchLeastSquaresOD.accuracy.test.ts +0 -320
- package/src/orbit-determination/__tests__/BatchLeastSquaresOD.observations.test.ts +0 -279
- package/src/orbit-determination/__tests__/BatchLeastSquaresOD.robustness.test.ts +0 -439
- package/src/orbit-determination/__tests__/GaussIOD.test.ts +0 -395
- package/src/orbit-determination/__tests__/GibbsIOD.test.ts +0 -423
- package/src/orbit-determination/__tests__/GoodingIOD.test.ts +0 -356
- package/src/orbit-determination/__tests__/HerrickGibbsIOD.test.ts +0 -501
- package/src/orbit-determination/__tests__/LambertIOD.test.ts +0 -643
- package/src/orbit-determination/__tests__/LevenbergMarquardtOD.test.ts +0 -1039
- package/src/orbit-determination/index.ts +0 -10
- package/src/parsers/CdmExporter.ts +0 -298
- package/src/parsers/CdmParser.ts +0 -474
- package/src/parsers/CdmTypes.ts +0 -259
- package/src/parsers/HorizonsParser.ts +0 -432
- package/src/parsers/OemParser.ts +0 -277
- package/src/parsers/OemTypes.ts +0 -111
- package/src/parsers/__tests__/CdmExporter.test.ts +0 -305
- package/src/parsers/__tests__/CdmParser.test.ts +0 -305
- package/src/parsers/__tests__/HorizonsParser.test.ts +0 -126
- package/src/parsers/__tests__/OemParser.test.ts +0 -398
- package/src/parsers/index.ts +0 -49
- package/src/propagator/DormandPrince54Propagator.ts +0 -73
- package/src/propagator/KeplerPropagator.ts +0 -101
- package/src/propagator/Propagator.ts +0 -253
- package/src/propagator/README.md +0 -241
- package/src/propagator/RkCheckpoint.ts +0 -25
- package/src/propagator/RkResult.ts +0 -26
- package/src/propagator/RungeKutta4Propagator.ts +0 -179
- package/src/propagator/RungeKutta89Propagator.ts +0 -132
- package/src/propagator/RungeKuttaAdaptive.ts +0 -282
- package/src/propagator/Sgp4Propagator.ts +0 -111
- package/src/propagator/__tests__/KeplerPropagator.test.ts +0 -250
- package/src/propagator/__tests__/Propagator.test.ts +0 -180
- package/src/propagator/__tests__/RungeKutta4Propagator.test.ts +0 -289
- package/src/propagator/__tests__/RungeKuttaAdaptive.test.ts +0 -244
- package/src/propagator/__tests__/Sgp4Propagator.test.ts +0 -144
- package/src/propagator/index.ts +0 -10
- package/src/scheduling/ContactScheduler.ts +0 -760
- package/src/scheduling/ScheduledContact.ts +0 -249
- package/src/scheduling/__tests__/ContactScheduler.test.ts +0 -389
- package/src/scheduling/__tests__/ScheduledContact.test.ts +0 -293
- package/src/scheduling/index.ts +0 -10
- package/src/sensor/FieldOfView.ts +0 -666
- package/src/sensor/LaserRangingSensor.ts +0 -210
- package/src/sensor/MechanicalRadar.ts +0 -156
- package/src/sensor/OpticalSensor.ts +0 -198
- package/src/sensor/PassiveRFSensor.ts +0 -205
- package/src/sensor/PhasedArrayRadar.ts +0 -352
- package/src/sensor/RadarSensor.ts +0 -150
- package/src/sensor/Sensor.ts +0 -487
- package/src/sensor/__tests__/Sensor.test.ts +0 -135
- package/src/sensor/index.ts +0 -81
- package/src/sensor/v2-docs/field-of-view-design-document.md +0 -466
- package/src/sgp4/index.ts +0 -27
- package/src/sgp4/sgp4-error.ts +0 -53
- package/src/sgp4/sgp4.LICENSE.md +0 -28
- package/src/sgp4/sgp4.ts +0 -3983
- package/src/smoothing/ExponentialSmoothing.ts +0 -83
- package/src/smoothing/__tests__/ExponentialSmoothing.test.ts +0 -108
- package/src/time/Epoch.ts +0 -165
- package/src/time/EpochGPS.ts +0 -141
- package/src/time/EpochTAI.ts +0 -63
- package/src/time/EpochTDB.ts +0 -73
- package/src/time/EpochTT.ts +0 -76
- package/src/time/EpochUTC.ts +0 -253
- package/src/time/EpochWindow.ts +0 -33
- package/src/time/README.md +0 -212
- package/src/time/TimeStamped.ts +0 -80
- package/src/time/__tests__/Epoch.test.ts +0 -250
- package/src/time/__tests__/EpochGPS.test.ts +0 -78
- package/src/time/__tests__/EpochUTC.test.ts +0 -149
- package/src/time/__tests__/EpochWindow.test.ts +0 -30
- package/src/time/__tests__/TimeStamped.test.ts +0 -62
- package/src/time/__tests__/__snapshots__/Epoch.test.ts.snap +0 -46
- package/src/time/__tests__/__snapshots__/EpochGPS.test.ts.snap +0 -13
- package/src/time/__tests__/__snapshots__/EpochUTC.test.ts.snap +0 -112
- package/src/time/__tests__/__snapshots__/TimeStamped.test.ts.snap +0 -10
- package/src/time/index.ts +0 -9
- package/src/transforms/TransformCache.ts +0 -46
- package/src/transforms/__tests__/__snapshots__/transforms.test.ts.snap +0 -16
- package/src/transforms/__tests__/__snapshots__/transforms2.test.ts.snap +0 -49
- package/src/transforms/__tests__/conversions.test.ts +0 -80
- package/src/transforms/__tests__/transforms.test.ts +0 -128
- package/src/transforms/__tests__/transforms2.test.ts +0 -275
- package/src/transforms/__tests__/transformsData.ts +0 -289
- package/src/transforms/conversions.ts +0 -99
- package/src/transforms/index.ts +0 -3
- package/src/transforms/transforms.ts +0 -614
- package/src/types/types.ts +0 -829
- package/src/utils/__tests__/__snapshots__/functions.test.ts.snap +0 -89
- package/src/utils/__tests__/__snapshots__/utils.test.ts.snap +0 -5
- package/src/utils/__tests__/create-covariance-from-tle.test.ts +0 -90
- package/src/utils/__tests__/functions.test.ts +0 -450
- package/src/utils/__tests__/jacobian.test.ts +0 -37
- package/src/utils/__tests__/linearDistance.test.ts +0 -44
- package/src/utils/__tests__/utils.test.ts +0 -164
- package/src/utils/constants.ts +0 -113
- package/src/utils/create-covariance-from-tle.ts +0 -75
- package/src/utils/functions.ts +0 -590
- package/src/utils/index.ts +0 -6
- package/src/utils/jacobian.ts +0 -42
- package/src/utils/linearDistance.ts +0 -11
- /package/{LICENSE.md → LICENSE.MD} +0 -0
|
@@ -1,356 +0,0 @@
|
|
|
1
|
-
/* eslint-disable complexity */
|
|
2
|
-
/**
|
|
3
|
-
* @file GoodingIOD test suite
|
|
4
|
-
* @description Tests for Gooding angles-only Initial Orbit Determination
|
|
5
|
-
* Based on Orekit's IodGoodingTest
|
|
6
|
-
*
|
|
7
|
-
* Reference: Gooding, R.H., A New Procedure for Orbit Determination Based on Three Lines of Sight (Angles only),
|
|
8
|
-
* Technical Report 93004, April 1993
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import { ClassicalElements, DEG2RAD, Degrees, Kilometers, RAD2DEG, Radians, Sgp4Propagator, Tle } from '@src/main';
|
|
12
|
-
import { GroundStation } from '../../objects/GroundStation';
|
|
13
|
-
import { RadecTopocentric } from '@src/observation';
|
|
14
|
-
import { ObservationOptical } from '@src/observation/ObservationOptical';
|
|
15
|
-
import { GoodingIOD, ModifiedGoodingIOD } from '@src/orbit-determination';
|
|
16
|
-
import { KeplerPropagator } from '@src/propagator/KeplerPropagator';
|
|
17
|
-
import { EpochUTC } from '@src/time';
|
|
18
|
-
|
|
19
|
-
// eslint-disable-next-line max-lines-per-function
|
|
20
|
-
describe('GoodingIOD', () => {
|
|
21
|
-
/**
|
|
22
|
-
* Test based on real satellite observations
|
|
23
|
-
* Issue #1166: RA/Dec observations of a satellite
|
|
24
|
-
*/
|
|
25
|
-
describe('RA/Dec observations', () => {
|
|
26
|
-
it('should determine orbit from three RA/Dec observations', () => {
|
|
27
|
-
const propagator = new KeplerPropagator(new ClassicalElements({
|
|
28
|
-
epoch: EpochUTC.fromDateTimeString('2023-06-09T17:00:00.000Z'),
|
|
29
|
-
semimajorAxis: 42_164 as Kilometers,
|
|
30
|
-
eccentricity: 0.001,
|
|
31
|
-
inclination: 0.1 * DEG2RAD as Radians,
|
|
32
|
-
argPerigee: 180.0 * DEG2RAD as Radians,
|
|
33
|
-
rightAscension: 90.0 * DEG2RAD as Radians,
|
|
34
|
-
trueAnomaly: 0.0 * DEG2RAD as Radians,
|
|
35
|
-
}));
|
|
36
|
-
|
|
37
|
-
// Ground station location (Kazakhstan)
|
|
38
|
-
const stationLat = 43.05722 as Degrees;
|
|
39
|
-
const stationLon = 76.971667 as Degrees;
|
|
40
|
-
const stationAlt = 2.735 as Kilometers; // 2735 meters
|
|
41
|
-
|
|
42
|
-
const sensor = new GroundStation({
|
|
43
|
-
lat: stationLat,
|
|
44
|
-
lon: stationLon,
|
|
45
|
-
alt: stationAlt,
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
// Observation times
|
|
49
|
-
const t1 = EpochUTC.fromDateTimeString('2023-06-09T17:04:59.100Z');
|
|
50
|
-
const t2 = EpochUTC.fromDateTimeString('2023-06-09T17:10:50.660Z');
|
|
51
|
-
const t3 = EpochUTC.fromDateTimeString('2023-06-09T17:16:21.090Z');
|
|
52
|
-
|
|
53
|
-
// Right Ascension in hours (converted to degrees)
|
|
54
|
-
const raDec1 = RadecTopocentric.fromStateVector(propagator.propagate(t1), sensor.toJ2000(t1.toDateTime()));
|
|
55
|
-
const raDec2 = RadecTopocentric.fromStateVector(propagator.propagate(t2), sensor.toJ2000(t2.toDateTime()));
|
|
56
|
-
const raDec3 = RadecTopocentric.fromStateVector(propagator.propagate(t3), sensor.toJ2000(t3.toDateTime()));
|
|
57
|
-
|
|
58
|
-
// Create observations
|
|
59
|
-
const obs1 = new ObservationOptical(
|
|
60
|
-
sensor.toJ2000(t1.toDateTime()),
|
|
61
|
-
raDec1,
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
const obs2 = new ObservationOptical(
|
|
65
|
-
sensor.toJ2000(t2.toDateTime()),
|
|
66
|
-
raDec2,
|
|
67
|
-
);
|
|
68
|
-
|
|
69
|
-
const obs3 = new ObservationOptical(
|
|
70
|
-
sensor.toJ2000(t3.toDateTime()),
|
|
71
|
-
raDec3,
|
|
72
|
-
);
|
|
73
|
-
|
|
74
|
-
// Initial range estimates (GEO satellite)
|
|
75
|
-
const rho1init = 42_000 as Kilometers;
|
|
76
|
-
const rho3init = 42_000 as Kilometers;
|
|
77
|
-
|
|
78
|
-
// Run Gooding IOD
|
|
79
|
-
const iod = new GoodingIOD();
|
|
80
|
-
const orbit = iod.estimate(obs1, obs2, obs3, rho1init, rho3init);
|
|
81
|
-
|
|
82
|
-
// Convert to classical elements for verification
|
|
83
|
-
const elements = orbit.toClassicalElements();
|
|
84
|
-
|
|
85
|
-
expect(elements.semimajorAxis).toBeCloseTo(42_164, 2); // km
|
|
86
|
-
expect(elements.eccentricity).toBeCloseTo(0.001, 2);
|
|
87
|
-
expect(elements.inclinationDegrees).toBeCloseTo(0.1, 2); // degrees
|
|
88
|
-
expect(Math.abs(elements.argPerigeeDegrees - 180)).toBeLessThanOrEqual(5); // +/- 5 degrees allowed
|
|
89
|
-
expect(elements.rightAscensionDegrees).toBeCloseTo(90, 1); // degrees
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Test with perfect range estimates
|
|
95
|
-
* Verifies convergence when given exact initial ranges
|
|
96
|
-
*/
|
|
97
|
-
describe('Perfect range estimates', () => {
|
|
98
|
-
it('should accurately determine orbit with exact initial ranges', () => {
|
|
99
|
-
// Create a known GEO orbit
|
|
100
|
-
const propagator = new KeplerPropagator(new ClassicalElements({
|
|
101
|
-
epoch: EpochUTC.fromDateTimeString('2025-11-22T02:00:00.000Z'),
|
|
102
|
-
semimajorAxis: 42_164 as Kilometers, // GEO altitude
|
|
103
|
-
eccentricity: 0.0001,
|
|
104
|
-
inclination: 4.5 * DEG2RAD as Radians,
|
|
105
|
-
argPerigee: 0.0 * DEG2RAD as Radians,
|
|
106
|
-
rightAscension: 43.0 * DEG2RAD as Radians,
|
|
107
|
-
trueAnomaly: 0.0 * DEG2RAD as Radians,
|
|
108
|
-
}));
|
|
109
|
-
|
|
110
|
-
const sensor = new GroundStation({
|
|
111
|
-
lat: 41.75 as Degrees,
|
|
112
|
-
lon: -70.54 as Degrees,
|
|
113
|
-
alt: 0.1 as Kilometers,
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
const t1 = EpochUTC.fromDateTimeString('2025-11-22T02:00:00.000Z');
|
|
117
|
-
const t2 = EpochUTC.fromDateTimeString('2025-11-22T02:05:00.000Z');
|
|
118
|
-
const t3 = EpochUTC.fromDateTimeString('2025-11-22T02:10:00.000Z');
|
|
119
|
-
|
|
120
|
-
const p1 = propagator.propagate(t1);
|
|
121
|
-
const p2 = propagator.propagate(t2);
|
|
122
|
-
const p3 = propagator.propagate(t3);
|
|
123
|
-
|
|
124
|
-
// Generate observations from known orbit
|
|
125
|
-
const raDec1 = RadecTopocentric.fromStateVector(p1, sensor.toJ2000(t1.toDateTime()));
|
|
126
|
-
const raDec2 = RadecTopocentric.fromStateVector(p2, sensor.toJ2000(t2.toDateTime()));
|
|
127
|
-
const raDec3 = RadecTopocentric.fromStateVector(p3, sensor.toJ2000(t3.toDateTime()));
|
|
128
|
-
const obs1 = new ObservationOptical(sensor.toJ2000(t1.toDateTime()), raDec1);
|
|
129
|
-
const obs2 = new ObservationOptical(sensor.toJ2000(t2.toDateTime()), raDec2);
|
|
130
|
-
const obs3 = new ObservationOptical(sensor.toJ2000(t3.toDateTime()), raDec3);
|
|
131
|
-
|
|
132
|
-
// Run IOD with reasonable initial guesses
|
|
133
|
-
const iod = new GoodingIOD();
|
|
134
|
-
|
|
135
|
-
const rho1init = 38_000 as Kilometers; // Initial range estimate for t1
|
|
136
|
-
const rho3init = 38_000 as Kilometers; // Initial range estimate for t3
|
|
137
|
-
|
|
138
|
-
const orbit = iod.estimate(obs1, obs2, obs3, rho1init, rho3init);
|
|
139
|
-
const elements = orbit.toClassicalElements();
|
|
140
|
-
|
|
141
|
-
// Should recover the original orbit
|
|
142
|
-
expect(Math.abs(elements.semimajorAxis - 42_164)).toBeLessThanOrEqual(5);
|
|
143
|
-
expect(elements.eccentricity).toBeCloseTo(0.0001, 2);
|
|
144
|
-
expect(elements.inclinationDegrees).toBeCloseTo(4.5, 1);
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Test convergence behavior
|
|
150
|
-
*/
|
|
151
|
-
describe('Convergence characteristics', () => {
|
|
152
|
-
it('should converge for GEO satellite observations', () => {
|
|
153
|
-
// Create a known GEO orbit
|
|
154
|
-
const propagator = new KeplerPropagator(new ClassicalElements({
|
|
155
|
-
epoch: EpochUTC.fromDateTimeString('2025-11-22T02:00:00.000Z'),
|
|
156
|
-
semimajorAxis: 42_164 as Kilometers, // GEO altitude
|
|
157
|
-
eccentricity: 0.0001,
|
|
158
|
-
inclination: 0.5 * DEG2RAD as Radians,
|
|
159
|
-
argPerigee: 0.0 * DEG2RAD as Radians,
|
|
160
|
-
rightAscension: 45.0 * DEG2RAD as Radians,
|
|
161
|
-
trueAnomaly: 0.0 * DEG2RAD as Radians,
|
|
162
|
-
}));
|
|
163
|
-
|
|
164
|
-
const sensor = new GroundStation({
|
|
165
|
-
lat: 41.958076 as Degrees,
|
|
166
|
-
lon: -70.662182 as Degrees,
|
|
167
|
-
alt: 0.0 as Kilometers,
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
const t1 = EpochUTC.fromDateTimeString('2025-11-22T02:00:00.000Z');
|
|
171
|
-
const t2 = EpochUTC.fromDateTimeString('2025-11-22T03:00:00.000Z');
|
|
172
|
-
const t3 = EpochUTC.fromDateTimeString('2025-11-22T04:00:00.000Z');
|
|
173
|
-
|
|
174
|
-
// Generate observations from known orbit
|
|
175
|
-
const raDec1 = RadecTopocentric.fromStateVector(propagator.propagate(t1), sensor.toJ2000(t1.toDateTime()));
|
|
176
|
-
const raDec2 = RadecTopocentric.fromStateVector(propagator.propagate(t2), sensor.toJ2000(t2.toDateTime()));
|
|
177
|
-
const raDec3 = RadecTopocentric.fromStateVector(propagator.propagate(t3), sensor.toJ2000(t3.toDateTime()));
|
|
178
|
-
|
|
179
|
-
const obs1 = new ObservationOptical(sensor.toJ2000(t1.toDateTime()), raDec1);
|
|
180
|
-
const obs2 = new ObservationOptical(sensor.toJ2000(t2.toDateTime()), raDec2);
|
|
181
|
-
const obs3 = new ObservationOptical(sensor.toJ2000(t3.toDateTime()), raDec3);
|
|
182
|
-
|
|
183
|
-
const iod = new GoodingIOD();
|
|
184
|
-
|
|
185
|
-
const orbit = iod.estimate(obs1, obs2, obs3);
|
|
186
|
-
const elements = orbit.toClassicalElements();
|
|
187
|
-
|
|
188
|
-
// Should recover GEO-like orbit
|
|
189
|
-
expect(elements.semimajorAxis).toBeCloseTo(42_164, 1);
|
|
190
|
-
expect(elements.eccentricity).toBeLessThan(0.01);
|
|
191
|
-
expect(elements.inclinationDegrees).toBeCloseTo(0.5, 1);
|
|
192
|
-
});
|
|
193
|
-
|
|
194
|
-
it('should handle multi-revolution scenarios', () => {
|
|
195
|
-
// Create a known LEO orbit for multi-rev test
|
|
196
|
-
const propagator = new KeplerPropagator(new ClassicalElements({
|
|
197
|
-
epoch: EpochUTC.fromDateTimeString('2025-01-01T00:00:00.000Z'),
|
|
198
|
-
semimajorAxis: 7_200 as Kilometers,
|
|
199
|
-
eccentricity: 0.01,
|
|
200
|
-
inclination: 45.0 * DEG2RAD as Radians,
|
|
201
|
-
argPerigee: 30.0 * DEG2RAD as Radians,
|
|
202
|
-
rightAscension: 60.0 * DEG2RAD as Radians,
|
|
203
|
-
trueAnomaly: 0.0 * DEG2RAD as Radians,
|
|
204
|
-
}));
|
|
205
|
-
|
|
206
|
-
const sensor = new GroundStation({
|
|
207
|
-
lat: 40.0 as Degrees,
|
|
208
|
-
lon: -75.0 as Degrees,
|
|
209
|
-
alt: 0.1 as Kilometers,
|
|
210
|
-
});
|
|
211
|
-
|
|
212
|
-
const t1 = EpochUTC.fromDateTimeString('2025-01-01T00:00:00.000Z');
|
|
213
|
-
const t2 = EpochUTC.fromDateTimeString('2025-01-01T00:00:10.000Z');
|
|
214
|
-
const t3 = EpochUTC.fromDateTimeString('2025-01-01T00:00:20.000Z');
|
|
215
|
-
|
|
216
|
-
// Generate observations from known orbit
|
|
217
|
-
const raDec1 = RadecTopocentric.fromStateVector(propagator.propagate(t1), sensor.toJ2000(t1.toDateTime()));
|
|
218
|
-
const raDec2 = RadecTopocentric.fromStateVector(propagator.propagate(t2), sensor.toJ2000(t2.toDateTime()));
|
|
219
|
-
const raDec3 = RadecTopocentric.fromStateVector(propagator.propagate(t3), sensor.toJ2000(t3.toDateTime()));
|
|
220
|
-
|
|
221
|
-
const obs1 = new ObservationOptical(sensor.toJ2000(t1.toDateTime()), raDec1);
|
|
222
|
-
const obs2 = new ObservationOptical(sensor.toJ2000(t2.toDateTime()), raDec2);
|
|
223
|
-
const obs3 = new ObservationOptical(sensor.toJ2000(t3.toDateTime()), raDec3);
|
|
224
|
-
|
|
225
|
-
const iod = new GoodingIOD();
|
|
226
|
-
|
|
227
|
-
// Test with nRev = 0 (short arc)
|
|
228
|
-
const nRev = 0;
|
|
229
|
-
const direction = true; // prograde
|
|
230
|
-
|
|
231
|
-
const orbit = iod.estimate(obs1, obs2, obs3, 7_100 as Kilometers, 7_300 as Kilometers, nRev, direction);
|
|
232
|
-
const elements = orbit.toClassicalElements();
|
|
233
|
-
|
|
234
|
-
// Should recover the orbit reasonably well
|
|
235
|
-
expect(Math.abs(elements.semimajorAxis - 7_200)).toBeLessThanOrEqual(5);
|
|
236
|
-
expect(elements.eccentricity).toBeCloseTo(0.01, 1);
|
|
237
|
-
});
|
|
238
|
-
});
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* Test with different orbital regimes
|
|
242
|
-
*/
|
|
243
|
-
describe('Orbital regime tests', () => {
|
|
244
|
-
it('should handle LEO observations', () => {
|
|
245
|
-
// Create a known ISS-like LEO orbit
|
|
246
|
-
const originalTle = new Tle(
|
|
247
|
-
'1 53140U 22083J 25325.95729207 -.00001656 00000+0 -86028-4 0 99993',
|
|
248
|
-
'2 53140 53.2176 297.7496 0001344 87.2420 272.8726 15.08820168184958',
|
|
249
|
-
);
|
|
250
|
-
// Create a known LEO orbit
|
|
251
|
-
const propagator = new Sgp4Propagator(originalTle);
|
|
252
|
-
|
|
253
|
-
const sensor = new GroundStation({
|
|
254
|
-
lat: 41.75 as Degrees,
|
|
255
|
-
lon: -70.54 as Degrees,
|
|
256
|
-
alt: 0.1 as Kilometers,
|
|
257
|
-
});
|
|
258
|
-
|
|
259
|
-
const t1 = EpochUTC.fromDateTimeString('2025-11-22T05:48:00.000Z');
|
|
260
|
-
const t2 = EpochUTC.fromDateTimeString('2025-11-22T05:48:30.000Z');
|
|
261
|
-
const t3 = EpochUTC.fromDateTimeString('2025-11-22T05:49:00.000Z');
|
|
262
|
-
const t4 = EpochUTC.fromDateTimeString('2025-11-22T05:49:30.000Z');
|
|
263
|
-
const t5 = EpochUTC.fromDateTimeString('2025-11-22T05:50:00.000Z');
|
|
264
|
-
const t6 = EpochUTC.fromDateTimeString('2025-11-22T05:50:30.000Z');
|
|
265
|
-
const t7 = EpochUTC.fromDateTimeString('2025-11-22T05:51:00.000Z');
|
|
266
|
-
const t8 = EpochUTC.fromDateTimeString('2025-11-22T05:51:30.000Z');
|
|
267
|
-
const t9 = EpochUTC.fromDateTimeString('2025-11-22T05:52:00.000Z');
|
|
268
|
-
const t10 = EpochUTC.fromDateTimeString('2025-11-22T05:52:30.000Z');
|
|
269
|
-
// Generate observations from known orbit
|
|
270
|
-
const raDec1 = RadecTopocentric.fromStateVector(propagator.propagate(t1), sensor.toJ2000(t1.toDateTime()));
|
|
271
|
-
const raDec2 = RadecTopocentric.fromStateVector(propagator.propagate(t2), sensor.toJ2000(t2.toDateTime()));
|
|
272
|
-
const raDec3 = RadecTopocentric.fromStateVector(propagator.propagate(t3), sensor.toJ2000(t3.toDateTime()));
|
|
273
|
-
const raDec4 = RadecTopocentric.fromStateVector(propagator.propagate(t4), sensor.toJ2000(t4.toDateTime()));
|
|
274
|
-
const raDec5 = RadecTopocentric.fromStateVector(propagator.propagate(t5), sensor.toJ2000(t5.toDateTime()));
|
|
275
|
-
const raDec6 = RadecTopocentric.fromStateVector(propagator.propagate(t6), sensor.toJ2000(t6.toDateTime()));
|
|
276
|
-
const raDec7 = RadecTopocentric.fromStateVector(propagator.propagate(t7), sensor.toJ2000(t7.toDateTime()));
|
|
277
|
-
const raDec8 = RadecTopocentric.fromStateVector(propagator.propagate(t8), sensor.toJ2000(t8.toDateTime()));
|
|
278
|
-
const raDec9 = RadecTopocentric.fromStateVector(propagator.propagate(t9), sensor.toJ2000(t9.toDateTime()));
|
|
279
|
-
const raDec10 = RadecTopocentric.fromStateVector(propagator.propagate(t10), sensor.toJ2000(t10.toDateTime()));
|
|
280
|
-
|
|
281
|
-
const obs1 = new ObservationOptical(sensor.toJ2000(t1.toDateTime()), raDec1);
|
|
282
|
-
const obs2 = new ObservationOptical(sensor.toJ2000(t2.toDateTime()), raDec2);
|
|
283
|
-
const obs3 = new ObservationOptical(sensor.toJ2000(t3.toDateTime()), raDec3);
|
|
284
|
-
const obs4 = new ObservationOptical(sensor.toJ2000(t4.toDateTime()), raDec4);
|
|
285
|
-
const obs5 = new ObservationOptical(sensor.toJ2000(t5.toDateTime()), raDec5);
|
|
286
|
-
const obs6 = new ObservationOptical(sensor.toJ2000(t6.toDateTime()), raDec6);
|
|
287
|
-
const obs7 = new ObservationOptical(sensor.toJ2000(t7.toDateTime()), raDec7);
|
|
288
|
-
const obs8 = new ObservationOptical(sensor.toJ2000(t8.toDateTime()), raDec8);
|
|
289
|
-
const obs9 = new ObservationOptical(sensor.toJ2000(t9.toDateTime()), raDec9);
|
|
290
|
-
const obs10 = new ObservationOptical(sensor.toJ2000(t10.toDateTime()), raDec10);
|
|
291
|
-
|
|
292
|
-
const iod = new ModifiedGoodingIOD();
|
|
293
|
-
|
|
294
|
-
// LEO range estimates
|
|
295
|
-
const leoRange1 = 1_000 as Kilometers;
|
|
296
|
-
const leoRange3 = 1_500 as Kilometers;
|
|
297
|
-
|
|
298
|
-
const orbit = iod.solve([obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10], leoRange1, leoRange3);
|
|
299
|
-
const elements = orbit.toClassicalElements();
|
|
300
|
-
|
|
301
|
-
// Should recover LEO orbit
|
|
302
|
-
expect(elements.eccentricity).toBeLessThan(0.01);
|
|
303
|
-
expect(elements.inclinationDegrees).toBeCloseTo(53.2176, 0);
|
|
304
|
-
expect(Math.abs(elements.semimajorAxis - 6919.20905)).toBeLessThanOrEqual(20);
|
|
305
|
-
});
|
|
306
|
-
|
|
307
|
-
it('should handle MEO observations', () => {
|
|
308
|
-
// Create a known NAVSTAR-like MEO orbit
|
|
309
|
-
const originalTle = new Tle(
|
|
310
|
-
'1 15039U 84059A 25323.82011001 -.00000048 00000+0 00000+0 0 99993',
|
|
311
|
-
'2 15039 63.4276 70.3297 0239207 53.1887 307.8308 1.92302746294098',
|
|
312
|
-
);
|
|
313
|
-
// Create a known LEO orbit
|
|
314
|
-
const propagator = new Sgp4Propagator(originalTle);
|
|
315
|
-
|
|
316
|
-
const sensor = new GroundStation({
|
|
317
|
-
lat: 41.75 as Degrees,
|
|
318
|
-
lon: -70.54 as Degrees,
|
|
319
|
-
alt: 0.1 as Kilometers,
|
|
320
|
-
});
|
|
321
|
-
|
|
322
|
-
const t1 = EpochUTC.fromDateTimeString('2025-11-22T16:00:00.000Z');
|
|
323
|
-
const t2 = EpochUTC.fromDateTimeString('2025-11-22T16:02:00.000Z');
|
|
324
|
-
const t3 = EpochUTC.fromDateTimeString('2025-11-22T16:04:00.000Z');
|
|
325
|
-
const t4 = EpochUTC.fromDateTimeString('2025-11-22T16:06:00.000Z');
|
|
326
|
-
const t5 = EpochUTC.fromDateTimeString('2025-11-22T16:08:00.000Z');
|
|
327
|
-
|
|
328
|
-
// Generate observations from known orbit
|
|
329
|
-
const raDec1 = RadecTopocentric.fromStateVector(propagator.propagate(t1), sensor.toJ2000(t1.toDateTime()));
|
|
330
|
-
const raDec2 = RadecTopocentric.fromStateVector(propagator.propagate(t2), sensor.toJ2000(t2.toDateTime()));
|
|
331
|
-
const raDec3 = RadecTopocentric.fromStateVector(propagator.propagate(t3), sensor.toJ2000(t3.toDateTime()));
|
|
332
|
-
const raDec4 = RadecTopocentric.fromStateVector(propagator.propagate(t4), sensor.toJ2000(t4.toDateTime()));
|
|
333
|
-
const raDec5 = RadecTopocentric.fromStateVector(propagator.propagate(t5), sensor.toJ2000(t5.toDateTime()));
|
|
334
|
-
|
|
335
|
-
const obs1 = new ObservationOptical(sensor.toJ2000(t1.toDateTime()), raDec1);
|
|
336
|
-
const obs2 = new ObservationOptical(sensor.toJ2000(t2.toDateTime()), raDec2);
|
|
337
|
-
const obs3 = new ObservationOptical(sensor.toJ2000(t3.toDateTime()), raDec3);
|
|
338
|
-
const obs4 = new ObservationOptical(sensor.toJ2000(t4.toDateTime()), raDec4);
|
|
339
|
-
const obs5 = new ObservationOptical(sensor.toJ2000(t5.toDateTime()), raDec5);
|
|
340
|
-
|
|
341
|
-
const iod = new ModifiedGoodingIOD();
|
|
342
|
-
|
|
343
|
-
// MEO range estimates (GPS-like)
|
|
344
|
-
const meoRange1 = 20_000 as Kilometers;
|
|
345
|
-
const meoRange3 = 21_000 as Kilometers;
|
|
346
|
-
|
|
347
|
-
const orbit = iod.solve([obs1, obs2, obs3, obs4, obs5], meoRange1, meoRange3);
|
|
348
|
-
const elements = orbit.toClassicalElements();
|
|
349
|
-
|
|
350
|
-
// Should recover MEO orbit
|
|
351
|
-
expect(Math.abs(elements.semimajorAxis - 27_317)).toBeLessThanOrEqual(10);
|
|
352
|
-
expect(elements.eccentricity).toBeCloseTo(0.024082567, 1);
|
|
353
|
-
expect(Math.abs(elements.inclinationDegrees - 1.1074806036594826 * RAD2DEG)).toBeLessThanOrEqual(0.2);
|
|
354
|
-
});
|
|
355
|
-
});
|
|
356
|
-
});
|