ootk 4.0.8 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -2
- package/README.md +0 -15
- package/dist/body/Celestial.d.ts +96 -0
- package/dist/body/Celestial.js +124 -0
- package/dist/body/Celestial.js.map +1 -0
- package/dist/body/Earth.d.ts +68 -0
- package/dist/body/Earth.js +198 -0
- package/dist/body/Earth.js.map +1 -0
- package/dist/body/Moon.d.ts +137 -0
- package/dist/body/Moon.js +464 -0
- package/dist/body/Moon.js.map +1 -0
- package/dist/body/NutationAngles.d.ts +38 -0
- package/dist/body/NutationAngles.js +24 -0
- package/dist/body/NutationAngles.js.map +1 -0
- package/dist/body/PrecessionAngles.d.ts +29 -0
- package/dist/body/PrecessionAngles.js +24 -0
- package/dist/body/PrecessionAngles.js.map +1 -0
- package/dist/body/Sun.d.ts +305 -0
- package/dist/body/Sun.js +548 -0
- package/dist/body/Sun.js.map +1 -0
- package/dist/body/index.d.ts +26 -0
- package/dist/body/index.js +27 -0
- package/dist/body/index.js.map +1 -0
- package/dist/coordinate/ClassicalElements.d.ts +132 -0
- package/dist/coordinate/ClassicalElements.js +279 -0
- package/dist/coordinate/ClassicalElements.js.map +1 -0
- package/dist/coordinate/EquinoctialElements.d.ts +114 -0
- package/dist/coordinate/EquinoctialElements.js +172 -0
- package/dist/coordinate/EquinoctialElements.js.map +1 -0
- package/dist/coordinate/FormatTle.d.ts +95 -0
- package/dist/coordinate/FormatTle.js +184 -0
- package/dist/coordinate/FormatTle.js.map +1 -0
- package/dist/coordinate/Geodetic.d.ts +110 -0
- package/dist/coordinate/Geodetic.js +163 -0
- package/dist/coordinate/Geodetic.js.map +1 -0
- package/dist/coordinate/Hill.d.ts +1 -1
- package/dist/coordinate/Hill.js +1 -1
- package/dist/coordinate/Hill.js.map +1 -1
- package/dist/coordinate/ITRF.d.ts +75 -0
- package/dist/coordinate/ITRF.js +135 -0
- package/dist/coordinate/ITRF.js.map +1 -0
- package/dist/coordinate/J2000.d.ts +65 -0
- package/dist/coordinate/J2000.js +120 -0
- package/dist/coordinate/J2000.js.map +1 -0
- package/dist/coordinate/RIC.d.ts +64 -0
- package/dist/coordinate/RIC.js +79 -0
- package/dist/coordinate/RIC.js.map +1 -0
- package/dist/coordinate/RelativeState.d.ts +70 -0
- package/dist/coordinate/RelativeState.js +79 -0
- package/dist/coordinate/RelativeState.js.map +1 -0
- package/dist/coordinate/StateVector.d.ts +76 -0
- package/dist/coordinate/StateVector.js +97 -0
- package/dist/coordinate/StateVector.js.map +1 -0
- package/dist/coordinate/TEME.d.ts +57 -0
- package/dist/coordinate/TEME.js +89 -0
- package/dist/coordinate/TEME.js.map +1 -0
- package/dist/coordinate/Tle.d.ts +430 -0
- package/dist/coordinate/Tle.js +865 -0
- package/dist/coordinate/Tle.js.map +1 -0
- package/dist/coordinate/index.d.ts +11 -0
- package/dist/coordinate/index.js +12 -0
- package/dist/coordinate/index.js.map +1 -1
- package/dist/coordinate/tle-format-data.d.ts +41 -0
- package/dist/coordinate/tle-format-data.js +46 -0
- package/dist/coordinate/tle-format-data.js.map +1 -0
- package/dist/covariance/CovarianceSample.d.ts +1 -1
- package/dist/covariance/CovarianceSample.js +1 -1
- package/dist/covariance/CovarianceSample.js.map +1 -1
- package/dist/covariance/StateCovariance.d.ts +1 -1
- package/dist/covariance/StateCovariance.js +1 -1
- package/dist/covariance/StateCovariance.js.map +1 -1
- package/dist/data/DataHandler.d.ts +66 -0
- package/dist/data/DataHandler.js +80 -0
- package/dist/data/DataHandler.js.map +1 -0
- package/dist/data/values/Egm96Data.d.ts +37 -0
- package/dist/data/values/Egm96Data.js +63 -0
- package/dist/data/values/Egm96Data.js.map +1 -0
- package/dist/data/values/HpAtmosphereData.d.ts +33 -0
- package/dist/data/values/HpAtmosphereData.js +58 -0
- package/dist/data/values/HpAtmosphereData.js.map +1 -0
- package/dist/data/values/HpAtmosphereResult.d.ts +29 -0
- package/dist/data/values/HpAtmosphereResult.js +38 -0
- package/dist/data/values/HpAtmosphereResult.js.map +1 -0
- package/dist/data/values/Iau1980Data.d.ts +36 -0
- package/dist/data/values/Iau1980Data.js +52 -0
- package/dist/data/values/Iau1980Data.js.map +1 -0
- package/dist/data/values/LeapSecond.d.ts +27 -0
- package/dist/data/values/LeapSecond.js +35 -0
- package/dist/data/values/LeapSecond.js.map +1 -0
- package/dist/data/values/LeapSecondData.d.ts +41 -0
- package/dist/data/values/LeapSecondData.js +103 -0
- package/dist/data/values/LeapSecondData.js.map +1 -0
- package/dist/data/values/egm96.d.ts +24 -0
- package/dist/data/values/egm96.js +726 -0
- package/dist/data/values/egm96.js.map +1 -0
- package/dist/data/values/hpAtmosphere.d.ts +24 -0
- package/dist/data/values/hpAtmosphere.js +76 -0
- package/dist/data/values/hpAtmosphere.js.map +1 -0
- package/dist/data/values/iau1980.d.ts +24 -0
- package/dist/data/values/iau1980.js +30 -0
- package/dist/data/values/iau1980.js.map +1 -0
- package/dist/enums/AngularDiameterMethod.d.ts +27 -0
- package/dist/enums/AngularDiameterMethod.js +29 -0
- package/dist/enums/AngularDiameterMethod.js.map +1 -0
- package/dist/enums/AngularDistanceMethod.d.ts +27 -0
- package/dist/enums/AngularDistanceMethod.js +29 -0
- package/dist/enums/AngularDistanceMethod.js.map +1 -0
- package/dist/enums/OrbitRegime.d.ts +30 -0
- package/dist/enums/OrbitRegime.js +32 -0
- package/dist/enums/OrbitRegime.js.map +1 -0
- package/dist/enums/PassType.d.ts +28 -0
- package/dist/enums/PassType.js +30 -0
- package/dist/enums/PassType.js.map +1 -0
- package/dist/enums/Sgp4OpsMode.d.ts +26 -0
- package/dist/enums/Sgp4OpsMode.js +28 -0
- package/dist/enums/Sgp4OpsMode.js.map +1 -0
- package/dist/enums/index.d.ts +5 -0
- package/dist/enums/index.js +5 -0
- package/dist/enums/index.js.map +1 -1
- package/dist/force/AtmosphericDrag.d.ts +1 -1
- package/dist/force/AtmosphericDrag.js +1 -1
- package/dist/force/AtmosphericDrag.js.map +1 -1
- package/dist/force/EarthGravity.d.ts +1 -1
- package/dist/force/EarthGravity.js +1 -1
- package/dist/force/EarthGravity.js.map +1 -1
- package/dist/force/Force.d.ts +1 -1
- package/dist/force/ForceModel.d.ts +1 -1
- package/dist/force/ForceModel.js +1 -1
- package/dist/force/ForceModel.js.map +1 -1
- package/dist/force/Gravity.d.ts +1 -1
- package/dist/force/Gravity.js +1 -1
- package/dist/force/Gravity.js.map +1 -1
- package/dist/force/SolarRadiationPressure.d.ts +1 -1
- package/dist/force/SolarRadiationPressure.js +1 -1
- package/dist/force/SolarRadiationPressure.js.map +1 -1
- package/dist/force/ThirdBodyGravity.d.ts +1 -1
- package/dist/force/ThirdBodyGravity.js +1 -1
- package/dist/force/ThirdBodyGravity.js.map +1 -1
- package/dist/force/Thrust.d.ts +1 -1
- package/dist/force/Thrust.js +1 -1
- package/dist/force/Thrust.js.map +1 -1
- package/dist/interfaces/BaseObjectParams.d.ts +31 -0
- package/dist/interfaces/BaseObjectParams.js +24 -0
- package/dist/interfaces/BaseObjectParams.js.map +1 -0
- package/dist/interfaces/ClassicalElementsParams.d.ts +33 -0
- package/dist/interfaces/ClassicalElementsParams.js +24 -0
- package/dist/interfaces/ClassicalElementsParams.js.map +1 -0
- package/dist/interfaces/EquinoctialElementsParams.d.ts +35 -0
- package/dist/interfaces/EquinoctialElementsParams.js +24 -0
- package/dist/interfaces/EquinoctialElementsParams.js.map +1 -0
- package/dist/interfaces/GroundPositionParams.d.ts +28 -0
- package/dist/interfaces/GroundPositionParams.js +24 -0
- package/dist/interfaces/GroundPositionParams.js.map +1 -0
- package/dist/interfaces/OmmFormat.d.ts +62 -0
- package/dist/interfaces/OmmFormat.js +2 -0
- package/dist/interfaces/OmmFormat.js.map +1 -0
- package/dist/interfaces/OptionsParams.d.ts +3 -0
- package/dist/interfaces/OptionsParams.js +2 -0
- package/dist/interfaces/OptionsParams.js.map +1 -0
- package/dist/interfaces/RfSensorParams.d.ts +1 -1
- package/dist/interfaces/SatelliteParams.d.ts +18 -0
- package/dist/interfaces/SatelliteParams.js +2 -0
- package/dist/interfaces/SatelliteParams.js.map +1 -0
- package/dist/interfaces/SensorParams.d.ts +38 -0
- package/dist/interfaces/SensorParams.js +2 -0
- package/dist/interfaces/SensorParams.js.map +1 -0
- package/dist/interfaces/StarObjectParams.d.ts +10 -0
- package/dist/interfaces/StarObjectParams.js +2 -0
- package/dist/interfaces/StarObjectParams.js.map +1 -0
- package/dist/interfaces/TimeVariables.d.ts +6 -0
- package/dist/interfaces/TimeVariables.js +2 -0
- package/dist/interfaces/TimeVariables.js.map +1 -0
- package/dist/interfaces/index.d.ts +8 -0
- package/dist/interpolator/ChebyshevCoefficients.d.ts +1 -1
- package/dist/interpolator/ChebyshevCoefficients.js +1 -1
- package/dist/interpolator/ChebyshevCoefficients.js.map +1 -1
- package/dist/interpolator/ChebyshevInterpolator.d.ts +1 -1
- package/dist/interpolator/ChebyshevInterpolator.js +1 -1
- package/dist/interpolator/ChebyshevInterpolator.js.map +1 -1
- package/dist/interpolator/CubicSpline.d.ts +1 -1
- package/dist/interpolator/CubicSplineInterpolator.d.ts +1 -1
- package/dist/interpolator/CubicSplineInterpolator.js +1 -1
- package/dist/interpolator/CubicSplineInterpolator.js.map +1 -1
- package/dist/interpolator/Interpolator.d.ts +1 -1
- package/dist/interpolator/Interpolator.js +1 -1
- package/dist/interpolator/Interpolator.js.map +1 -1
- package/dist/interpolator/LagrangeInterpolator.d.ts +1 -1
- package/dist/interpolator/LagrangeInterpolator.js +1 -1
- package/dist/interpolator/LagrangeInterpolator.js.map +1 -1
- package/dist/interpolator/StateInterpolator.d.ts +1 -1
- package/dist/interpolator/VerletBlendInterpolator.d.ts +1 -1
- package/dist/interpolator/VerletBlendInterpolator.js +1 -1
- package/dist/interpolator/VerletBlendInterpolator.js.map +1 -1
- package/dist/main.d.ts +11 -3
- package/dist/main.js +11 -3
- package/dist/main.js.map +1 -1
- package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +1 -1
- package/dist/maneuver/TwoBurnOrbitTransfer.js +1 -1
- package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -1
- package/dist/maneuver/Waypoint.d.ts +1 -1
- package/dist/maneuver/Waypoint.js +1 -1
- package/dist/maneuver/Waypoint.js.map +1 -1
- package/dist/objects/BaseObject.d.ts +74 -0
- package/dist/objects/BaseObject.js +151 -0
- package/dist/objects/BaseObject.js.map +1 -0
- package/dist/objects/DetailedSatellite.d.ts +3 -1
- package/dist/objects/DetailedSatellite.js +4 -2
- package/dist/objects/DetailedSatellite.js.map +1 -1
- package/dist/objects/DetailedSensor.d.ts +2 -1
- package/dist/objects/DetailedSensor.js +1 -1
- package/dist/objects/DetailedSensor.js.map +1 -1
- package/dist/objects/GroundObject.d.ts +85 -0
- package/dist/objects/GroundObject.js +143 -0
- package/dist/objects/GroundObject.js.map +1 -0
- package/dist/objects/LandObject.d.ts +2 -1
- package/dist/objects/LandObject.js +1 -1
- package/dist/objects/LandObject.js.map +1 -1
- package/dist/objects/Marker.d.ts +1 -1
- package/dist/objects/Marker.js +1 -1
- package/dist/objects/Marker.js.map +1 -1
- package/dist/objects/RfSensor.d.ts +1 -2
- package/dist/objects/RfSensor.js +1 -2
- package/dist/objects/RfSensor.js.map +1 -1
- package/dist/objects/Satellite.d.ts +226 -0
- package/dist/objects/Satellite.js +443 -0
- package/dist/objects/Satellite.js.map +1 -0
- package/dist/objects/Sensor.d.ts +100 -0
- package/dist/objects/Sensor.js +239 -0
- package/dist/objects/Sensor.js.map +1 -0
- package/dist/objects/Star.d.ts +36 -0
- package/dist/objects/Star.js +59 -0
- package/dist/objects/Star.js.map +1 -0
- package/dist/objects/index.d.ts +5 -0
- package/dist/objects/index.js +5 -0
- package/dist/objects/index.js.map +1 -1
- package/dist/observation/Observation.d.ts +1 -1
- package/dist/observation/ObservationOptical.d.ts +1 -1
- package/dist/observation/ObservationOptical.js +1 -1
- package/dist/observation/ObservationOptical.js.map +1 -1
- package/dist/observation/ObservationRadar.d.ts +1 -1
- package/dist/observation/ObservationRadar.js +1 -1
- package/dist/observation/ObservationRadar.js.map +1 -1
- package/dist/observation/ObservationUtils.d.ts +3 -1
- package/dist/observation/ObservationUtils.js +15 -1
- package/dist/observation/ObservationUtils.js.map +1 -1
- package/dist/observation/RAE.d.ts +111 -0
- package/dist/observation/RAE.js +215 -0
- package/dist/observation/RAE.js.map +1 -0
- package/dist/observation/RadecGeocentric.d.ts +111 -0
- package/dist/observation/RadecGeocentric.js +169 -0
- package/dist/observation/RadecGeocentric.js.map +1 -0
- package/dist/observation/RadecTopocentric.d.ts +123 -0
- package/dist/observation/RadecTopocentric.js +196 -0
- package/dist/observation/RadecTopocentric.js.map +1 -0
- package/dist/observation/index.d.ts +26 -0
- package/dist/observation/index.js +27 -0
- package/dist/observation/index.js.map +1 -0
- package/dist/operations/BoxMuller.d.ts +1 -1
- package/dist/operations/BoxMuller.js +1 -1
- package/dist/operations/BoxMuller.js.map +1 -1
- package/dist/operations/EulerAngles.d.ts +1 -1
- package/dist/operations/EulerAngles.js +1 -1
- package/dist/operations/EulerAngles.js.map +1 -1
- package/dist/operations/Matrix.d.ts +170 -0
- package/dist/operations/Matrix.js +405 -0
- package/dist/operations/Matrix.js.map +1 -0
- package/dist/operations/Quaternion.d.ts +1 -1
- package/dist/operations/Quaternion.js +1 -1
- package/dist/operations/Quaternion.js.map +1 -1
- package/dist/operations/Random.d.ts +40 -0
- package/dist/operations/Random.js +50 -0
- package/dist/operations/Random.js.map +1 -0
- package/dist/operations/RandomGaussianSource.d.ts +1 -1
- package/dist/operations/RandomGaussianSource.js +1 -1
- package/dist/operations/RandomGaussianSource.js.map +1 -1
- package/dist/operations/Vector.d.ts +262 -0
- package/dist/operations/Vector.js +415 -0
- package/dist/operations/Vector.js.map +1 -0
- package/dist/operations/Vector3D.d.ts +86 -0
- package/dist/operations/Vector3D.js +241 -0
- package/dist/operations/Vector3D.js.map +1 -0
- package/dist/operations/operations.d.ts +26 -0
- package/dist/operations/operations.js +27 -0
- package/dist/operations/operations.js.map +1 -0
- package/dist/optimize/ChebyshevCompressor.js +1 -1
- package/dist/optimize/ChebyshevCompressor.js.map +1 -1
- package/dist/optimize/PolynomialRegression.js +1 -1
- package/dist/optimize/PolynomialRegression.js.map +1 -1
- package/dist/optimize/SimplexEntry.js +1 -1
- package/dist/optimize/SimplexEntry.js.map +1 -1
- package/dist/orbit_determination/BatchLeastSquaresOD.d.ts +1 -1
- package/dist/orbit_determination/BatchLeastSquaresOD.js +1 -1
- package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -1
- package/dist/orbit_determination/BatchLeastSquaresResult.d.ts +1 -1
- package/dist/orbit_determination/GibbsIOD.d.ts +1 -1
- package/dist/orbit_determination/GibbsIOD.js +1 -1
- package/dist/orbit_determination/GibbsIOD.js.map +1 -1
- package/dist/orbit_determination/GoodingIOD.d.ts +1 -1
- package/dist/orbit_determination/GoodingIOD.js +1 -1
- package/dist/orbit_determination/GoodingIOD.js.map +1 -1
- package/dist/orbit_determination/HerrickGibbsIOD.d.ts +1 -1
- package/dist/orbit_determination/HerrickGibbsIOD.js +1 -1
- package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -1
- package/dist/orbit_determination/LambertIOD.d.ts +1 -1
- package/dist/orbit_determination/LambertIOD.js +1 -1
- package/dist/orbit_determination/LambertIOD.js.map +1 -1
- package/dist/orbit_determination/ModifiedGoodingIOD.d.ts +1 -1
- package/dist/orbit_determination/ModifiedGoodingIOD.js +1 -1
- package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -1
- package/dist/orbit_determination/index.d.ts +7 -0
- package/dist/orbit_determination/index.js +8 -0
- package/dist/orbit_determination/index.js.map +1 -0
- package/dist/propagator/KeplerPropagator.d.ts +1 -1
- package/dist/propagator/KeplerPropagator.js +1 -1
- package/dist/propagator/KeplerPropagator.js.map +1 -1
- package/dist/propagator/Propagator.d.ts +1 -1
- package/dist/propagator/Propagator.js +1 -1
- package/dist/propagator/Propagator.js.map +1 -1
- package/dist/propagator/RkCheckpoint.d.ts +1 -1
- package/dist/propagator/RkResult.d.ts +1 -1
- package/dist/propagator/RungeKutta4Propagator.d.ts +1 -1
- package/dist/propagator/RungeKutta4Propagator.js +1 -1
- package/dist/propagator/RungeKutta4Propagator.js.map +1 -1
- package/dist/propagator/RungeKuttaAdaptive.d.ts +1 -1
- package/dist/propagator/RungeKuttaAdaptive.js +1 -1
- package/dist/propagator/RungeKuttaAdaptive.js.map +1 -1
- package/dist/propagator/Sgp4Propagator.d.ts +1 -1
- package/dist/sgp4/index.d.ts +23 -0
- package/dist/sgp4/index.js +24 -0
- package/dist/sgp4/index.js.map +1 -0
- package/dist/sgp4/sgp4-error.d.ts +22 -0
- package/dist/sgp4/sgp4-error.js +44 -0
- package/dist/sgp4/sgp4-error.js.map +1 -0
- package/dist/sgp4/sgp4.d.ts +102 -0
- package/dist/sgp4/sgp4.js +3167 -0
- package/dist/sgp4/sgp4.js.map +1 -0
- package/dist/smoothing/ExponentialSmoothing.d.ts +1 -1
- package/dist/time/Epoch.d.ts +44 -0
- package/dist/time/Epoch.js +109 -0
- package/dist/time/Epoch.js.map +1 -0
- package/dist/time/EpochGPS.d.ts +42 -0
- package/dist/time/EpochGPS.js +70 -0
- package/dist/time/EpochGPS.js.map +1 -0
- package/dist/time/EpochTAI.d.ts +26 -0
- package/dist/time/EpochTAI.js +27 -0
- package/dist/time/EpochTAI.js.map +1 -0
- package/dist/time/EpochTDB.d.ts +26 -0
- package/dist/time/EpochTDB.js +27 -0
- package/dist/time/EpochTDB.js.map +1 -0
- package/dist/time/EpochTT.d.ts +26 -0
- package/dist/time/EpochTT.js +27 -0
- package/dist/time/EpochTT.js.map +1 -0
- package/dist/time/EpochUTC.d.ts +59 -0
- package/dist/time/EpochUTC.js +137 -0
- package/dist/time/EpochUTC.js.map +1 -0
- package/dist/time/EpochWindow.d.ts +28 -0
- package/dist/time/EpochWindow.js +31 -0
- package/dist/time/EpochWindow.js.map +1 -0
- package/dist/time/TimeStamped.d.ts +43 -0
- package/dist/time/TimeStamped.js +46 -0
- package/dist/time/TimeStamped.js.map +1 -0
- package/dist/time/index.d.ts +30 -0
- package/dist/time/index.js +31 -0
- package/dist/time/index.js.map +1 -0
- package/dist/transforms/TransformCache.d.ts +27 -0
- package/dist/transforms/TransformCache.js +41 -0
- package/dist/transforms/TransformCache.js.map +1 -0
- package/dist/transforms/conversions.d.ts +63 -0
- package/dist/transforms/conversions.js +88 -0
- package/dist/transforms/conversions.js.map +1 -0
- package/dist/transforms/index.d.ts +1 -0
- package/dist/transforms/index.js +1 -0
- package/dist/transforms/index.js.map +1 -1
- package/dist/transforms/transforms.d.ts +166 -2
- package/dist/transforms/transforms.js +372 -1
- package/dist/transforms/transforms.js.map +1 -1
- package/dist/types/types.d.ts +674 -2
- package/dist/types/types.js +36 -0
- package/dist/types/types.js.map +1 -1
- package/dist/utils/constants.d.ts +80 -0
- package/dist/utils/constants.js +87 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/functions.d.ts +228 -0
- package/dist/utils/functions.js +476 -0
- package/dist/utils/functions.js.map +1 -1
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/jacobian.d.ts +1 -1
- package/dist/utils/jacobian.js +1 -1
- package/dist/utils/jacobian.js.map +1 -1
- package/dist/utils/linearDistance.d.ts +8 -0
- package/dist/utils/linearDistance.js +10 -0
- package/dist/utils/linearDistance.js.map +1 -0
- package/package.json +4 -7
- package/src/body/Celestial.ts +134 -0
- package/src/body/Earth.ts +260 -0
- package/src/body/Moon.ts +556 -0
- package/src/body/NutationAngles.ts +40 -0
- package/src/body/PrecessionAngles.ts +31 -0
- package/src/body/Sun.ts +669 -0
- package/src/body/index.ts +27 -0
- package/src/body/suncalc.LICENSE.md +18 -0
- package/src/coordinate/ClassicalElements.ts +326 -0
- package/src/coordinate/EquinoctialElements.ts +189 -0
- package/src/coordinate/FormatTle.ts +214 -0
- package/src/coordinate/Geodetic.ts +186 -0
- package/src/coordinate/Hill.ts +1 -1
- package/src/coordinate/ITRF.ts +146 -0
- package/src/coordinate/J2000.ts +130 -0
- package/src/coordinate/RIC.ts +87 -0
- package/src/coordinate/RelativeState.ts +101 -0
- package/src/coordinate/StateVector.ts +122 -0
- package/src/coordinate/TEME.ts +97 -0
- package/src/coordinate/Tle.ts +1024 -0
- package/src/coordinate/index.ts +12 -0
- package/src/coordinate/tle-format-data.ts +47 -0
- package/src/covariance/CovarianceSample.ts +1 -1
- package/src/covariance/StateCovariance.ts +1 -1
- package/src/data/DataHandler.ts +88 -0
- package/src/data/values/Egm96Data.ts +75 -0
- package/src/data/values/HpAtmosphereData.ts +76 -0
- package/src/data/values/HpAtmosphereResult.ts +41 -0
- package/src/data/values/Iau1980Data.ts +63 -0
- package/src/data/values/LeapSecond.ts +37 -0
- package/src/data/values/LeapSecondData.ts +113 -0
- package/src/data/values/egm96.ts +728 -0
- package/src/data/values/hpAtmosphere.ts +79 -0
- package/src/data/values/iau1980.ts +32 -0
- package/src/enums/AngularDiameterMethod.ts +28 -0
- package/src/enums/AngularDistanceMethod.ts +28 -0
- package/src/enums/OrbitRegime.ts +31 -0
- package/src/enums/PassType.ts +29 -0
- package/src/enums/Sgp4OpsMode.ts +27 -0
- package/src/enums/index.ts +5 -0
- package/src/force/AtmosphericDrag.ts +1 -1
- package/src/force/EarthGravity.ts +1 -1
- package/src/force/Force.ts +1 -1
- package/src/force/ForceModel.ts +1 -1
- package/src/force/Gravity.ts +1 -1
- package/src/force/SolarRadiationPressure.ts +1 -1
- package/src/force/ThirdBodyGravity.ts +1 -1
- package/src/force/Thrust.ts +1 -1
- package/src/interfaces/BaseObjectParams.ts +33 -0
- package/src/interfaces/ClassicalElementsParams.ts +35 -0
- package/src/interfaces/EquinoctialElementsParams.ts +37 -0
- package/src/interfaces/GroundPositionParams.ts +30 -0
- package/src/interfaces/OmmFormat.ts +63 -0
- package/src/interfaces/OptionsParams.ts +3 -0
- package/src/interfaces/RfSensorParams.ts +1 -1
- package/src/interfaces/SatelliteParams.ts +20 -0
- package/src/interfaces/SensorParams.ts +39 -0
- package/src/interfaces/StarObjectParams.ts +11 -0
- package/src/interfaces/TimeVariables.ts +7 -0
- package/src/interfaces/index.ts +8 -0
- package/src/interpolator/ChebyshevCoefficients.ts +1 -1
- package/src/interpolator/ChebyshevInterpolator.ts +1 -1
- package/src/interpolator/CubicSpline.ts +1 -1
- package/src/interpolator/CubicSplineInterpolator.ts +1 -1
- package/src/interpolator/Interpolator.ts +1 -1
- package/src/interpolator/LagrangeInterpolator.ts +1 -1
- package/src/interpolator/StateInterpolator.ts +1 -1
- package/src/interpolator/VerletBlendInterpolator.ts +1 -1
- package/src/main.ts +11 -3
- package/src/maneuver/TwoBurnOrbitTransfer.ts +1 -1
- package/src/maneuver/Waypoint.ts +1 -1
- package/src/objects/BaseObject.ts +171 -0
- package/src/objects/DetailedSatellite.ts +5 -3
- package/src/objects/DetailedSensor.ts +2 -1
- package/src/objects/GroundObject.ts +176 -0
- package/src/objects/LandObject.ts +2 -1
- package/src/objects/Marker.ts +1 -1
- package/src/objects/RfSensor.ts +1 -2
- package/src/objects/Satellite.ts +552 -0
- package/src/objects/Sensor.ts +280 -0
- package/src/objects/Star.ts +96 -0
- package/src/objects/index.ts +5 -0
- package/src/observation/Observation.ts +1 -1
- package/src/observation/ObservationOptical.ts +1 -1
- package/src/observation/ObservationRadar.ts +1 -1
- package/src/observation/ObservationUtils.ts +30 -1
- package/src/observation/RAE.ts +262 -0
- package/src/observation/RadecGeocentric.ts +206 -0
- package/src/observation/RadecTopocentric.ts +241 -0
- package/src/observation/index.ts +27 -0
- package/src/operations/BoxMuller.ts +1 -1
- package/src/operations/EulerAngles.ts +1 -1
- package/src/operations/Matrix.ts +473 -0
- package/src/operations/Quaternion.ts +1 -1
- package/src/operations/Random.ts +54 -0
- package/src/operations/RandomGaussianSource.ts +1 -1
- package/src/operations/Vector.ts +484 -0
- package/src/operations/Vector3D.ts +289 -0
- package/src/operations/operations.ts +27 -0
- package/src/optimize/ChebyshevCompressor.ts +1 -1
- package/src/optimize/PolynomialRegression.ts +1 -1
- package/src/optimize/SimplexEntry.ts +1 -1
- package/src/orbit_determination/BatchLeastSquaresOD.ts +1 -1
- package/src/orbit_determination/BatchLeastSquaresResult.ts +1 -1
- package/src/orbit_determination/GibbsIOD.ts +3 -1
- package/src/orbit_determination/GoodingIOD.ts +1 -1
- package/src/orbit_determination/HerrickGibbsIOD.ts +1 -1
- package/src/orbit_determination/LambertIOD.ts +1 -1
- package/src/orbit_determination/ModifiedGoodingIOD.ts +1 -1
- package/src/orbit_determination/index.ts +7 -0
- package/src/propagator/KeplerPropagator.ts +1 -1
- package/src/propagator/Propagator.ts +1 -1
- package/src/propagator/RkCheckpoint.ts +1 -1
- package/src/propagator/RkResult.ts +1 -1
- package/src/propagator/RungeKutta4Propagator.ts +1 -1
- package/src/propagator/RungeKuttaAdaptive.ts +1 -1
- package/src/propagator/Sgp4Propagator.ts +1 -1
- package/src/sgp4/index.ts +24 -0
- package/src/sgp4/sgp4-error.ts +53 -0
- package/src/sgp4/sgp4.LICENSE.md +28 -0
- package/src/sgp4/sgp4.ts +3986 -0
- package/src/smoothing/ExponentialSmoothing.ts +1 -1
- package/src/time/Epoch.ts +128 -0
- package/src/time/EpochGPS.ts +76 -0
- package/src/time/EpochTAI.ts +27 -0
- package/src/time/EpochTDB.ts +27 -0
- package/src/time/EpochTT.ts +27 -0
- package/src/time/EpochUTC.ts +188 -0
- package/src/time/EpochWindow.ts +33 -0
- package/src/time/TimeStamped.ts +50 -0
- package/src/time/index.ts +31 -0
- package/src/transforms/TransformCache.ts +46 -0
- package/src/transforms/conversions.ts +98 -0
- package/src/transforms/index.ts +1 -0
- package/src/transforms/transforms.ts +478 -2
- package/src/types/types.ts +721 -2
- package/src/utils/constants.ts +113 -0
- package/src/utils/functions.ts +562 -0
- package/src/utils/index.ts +3 -1
- package/src/utils/jacobian.ts +1 -1
- package/src/utils/linearDistance.ts +11 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Theodore Kruczek.
|
|
3
|
+
* @license MIT
|
|
4
|
+
* @copyright (c) 2022-2025 Theodore Kruczek Permission is
|
|
5
|
+
* hereby granted, free of charge, to any person obtaining a copy of this
|
|
6
|
+
* software and associated documentation files (the "Software"), to deal in the
|
|
7
|
+
* Software without restriction, including without limitation the rights to use,
|
|
8
|
+
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
+
* the Software, and to permit persons to whom the Software is furnished to do
|
|
10
|
+
* so, subject to the following conditions:
|
|
11
|
+
*
|
|
12
|
+
* The above copyright notice and this permission notice shall be included in
|
|
13
|
+
* all copies or substantial portions of the Software.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
* SOFTWARE.
|
|
22
|
+
*/
|
|
23
|
+
import { SpaceObjectType } from '../types/types.js';
|
|
24
|
+
export class BaseObject {
|
|
25
|
+
id;
|
|
26
|
+
name;
|
|
27
|
+
type;
|
|
28
|
+
position; // Where is the object
|
|
29
|
+
totalVelocity; // How fast is the object moving
|
|
30
|
+
velocity; // How fast is the object moving
|
|
31
|
+
active = true; // Is the object active
|
|
32
|
+
constructor(info) {
|
|
33
|
+
this.type = info.type ?? SpaceObjectType.UNKNOWN;
|
|
34
|
+
this.name = info.name ?? 'Unknown';
|
|
35
|
+
this.id = info.id ?? -1; // Default to -1 if no id is provided
|
|
36
|
+
this.active = info.active ?? true;
|
|
37
|
+
// Default to the center of the earth until position is calculated
|
|
38
|
+
this.position = info.position ?? {
|
|
39
|
+
x: 0,
|
|
40
|
+
y: 0,
|
|
41
|
+
z: 0,
|
|
42
|
+
};
|
|
43
|
+
// Default to 0 velocity until velocity is calculated
|
|
44
|
+
this.velocity = info.velocity ?? {
|
|
45
|
+
x: 0,
|
|
46
|
+
y: 0,
|
|
47
|
+
z: 0,
|
|
48
|
+
};
|
|
49
|
+
this.totalVelocity = Math.sqrt(this.velocity.x ** 2 + this.velocity.y ** 2 + this.velocity.z ** 2);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Checks if the object is a satellite.
|
|
53
|
+
* @returns True if the object is a satellite, false otherwise.
|
|
54
|
+
*/
|
|
55
|
+
isSatellite() {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Checks if the object is a ground object.
|
|
60
|
+
* @returns True if the object is a ground object, false otherwise.
|
|
61
|
+
*/
|
|
62
|
+
isGroundObject() {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Returns whether the object is a sensor.
|
|
67
|
+
* @returns True if the object is a sensor, false otherwise.
|
|
68
|
+
*/
|
|
69
|
+
isSensor() {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Checks if the object is a marker.
|
|
74
|
+
* @returns True if the object is a marker, false otherwise.
|
|
75
|
+
*/
|
|
76
|
+
isMarker() {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Returns whether the object's position is static.
|
|
81
|
+
* @returns True if the object is static, false otherwise.
|
|
82
|
+
*/
|
|
83
|
+
isStatic() {
|
|
84
|
+
return this.velocity.x === 0 && this.velocity.y === 0 && this.velocity.z === 0;
|
|
85
|
+
}
|
|
86
|
+
isPayload() {
|
|
87
|
+
return this.type === SpaceObjectType.PAYLOAD;
|
|
88
|
+
}
|
|
89
|
+
isRocketBody() {
|
|
90
|
+
return this.type === SpaceObjectType.ROCKET_BODY;
|
|
91
|
+
}
|
|
92
|
+
isDebris() {
|
|
93
|
+
return this.type === SpaceObjectType.DEBRIS;
|
|
94
|
+
}
|
|
95
|
+
isStar() {
|
|
96
|
+
return this.type === SpaceObjectType.STAR;
|
|
97
|
+
}
|
|
98
|
+
isMissile() {
|
|
99
|
+
return this.type === SpaceObjectType.BALLISTIC_MISSILE;
|
|
100
|
+
}
|
|
101
|
+
isNotional() {
|
|
102
|
+
return this.type === SpaceObjectType.NOTIONAL;
|
|
103
|
+
}
|
|
104
|
+
getTypeString() {
|
|
105
|
+
const typeToStringMap = {
|
|
106
|
+
[SpaceObjectType.UNKNOWN]: 'Unknown',
|
|
107
|
+
[SpaceObjectType.PAYLOAD]: 'Payload',
|
|
108
|
+
[SpaceObjectType.ROCKET_BODY]: 'Rocket Body',
|
|
109
|
+
[SpaceObjectType.DEBRIS]: 'Debris',
|
|
110
|
+
[SpaceObjectType.SPECIAL]: 'Special',
|
|
111
|
+
[SpaceObjectType.BALLISTIC_MISSILE]: 'Ballistic Missile',
|
|
112
|
+
[SpaceObjectType.STAR]: 'Star',
|
|
113
|
+
[SpaceObjectType.INTERGOVERNMENTAL_ORGANIZATION]: 'Intergovernmental Organization',
|
|
114
|
+
[SpaceObjectType.SUBORBITAL_PAYLOAD_OPERATOR]: 'Suborbital Payload Operator',
|
|
115
|
+
[SpaceObjectType.PAYLOAD_OWNER]: 'Payload Owner',
|
|
116
|
+
[SpaceObjectType.METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER]: 'Meteorological Rocket Launch Agency or Manufacturer',
|
|
117
|
+
[SpaceObjectType.PAYLOAD_MANUFACTURER]: 'Payload Manufacturer',
|
|
118
|
+
[SpaceObjectType.LAUNCH_AGENCY]: 'Launch Agency',
|
|
119
|
+
[SpaceObjectType.LAUNCH_SITE]: 'Launch Site',
|
|
120
|
+
[SpaceObjectType.LAUNCH_POSITION]: 'Launch Position',
|
|
121
|
+
[SpaceObjectType.LAUNCH_FACILITY]: 'Launch Facility',
|
|
122
|
+
[SpaceObjectType.CONTROL_FACILITY]: 'Control Facility',
|
|
123
|
+
[SpaceObjectType.GROUND_SENSOR_STATION]: 'Ground Sensor Station',
|
|
124
|
+
[SpaceObjectType.OPTICAL]: 'Optical',
|
|
125
|
+
[SpaceObjectType.MECHANICAL]: 'Mechanical',
|
|
126
|
+
[SpaceObjectType.PHASED_ARRAY_RADAR]: 'Phased Array Radar',
|
|
127
|
+
[SpaceObjectType.OBSERVER]: 'Observer',
|
|
128
|
+
[SpaceObjectType.BISTATIC_RADIO_TELESCOPE]: 'Bistatic Radio Telescope',
|
|
129
|
+
[SpaceObjectType.COUNTRY]: 'Country',
|
|
130
|
+
[SpaceObjectType.LAUNCH_VEHICLE_MANUFACTURER]: 'Launch Vehicle Manufacturer',
|
|
131
|
+
[SpaceObjectType.ENGINE_MANUFACTURER]: 'Engine Manufacturer',
|
|
132
|
+
};
|
|
133
|
+
return typeToStringMap[this.type] ?? 'Unknown';
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Validates a parameter value against a minimum and maximum value.
|
|
137
|
+
* @param value - The value to be validated.
|
|
138
|
+
* @param minValue - The minimum allowed value.
|
|
139
|
+
* @param maxValue - The maximum allowed value.
|
|
140
|
+
* @param errorMessage - The error message to be thrown if the value is invalid.
|
|
141
|
+
*/
|
|
142
|
+
validateParameter(value, minValue, maxValue, errorMessage) {
|
|
143
|
+
if (typeof minValue !== 'undefined' && minValue !== null && value < minValue) {
|
|
144
|
+
throw new Error(errorMessage);
|
|
145
|
+
}
|
|
146
|
+
if (typeof maxValue !== 'undefined' && maxValue !== null && value > maxValue) {
|
|
147
|
+
throw new Error(errorMessage);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=BaseObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseObject.js","sourceRoot":"","sources":["../../src/objects/BaseObject.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,8 @@
|
|
|
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 {
|
|
17
|
+
import { Satellite } from './Satellite.js';
|
|
18
|
+
import { LaunchDetails, OperationsDetails, OptionsParams, SpaceCraftDetails } from '../main.js';
|
|
18
19
|
import { DetailedSatelliteParams, PayloadStatus } from '../types/types.js';
|
|
19
20
|
/**
|
|
20
21
|
* Represents a detailed satellite object with launch, spacecraft, and operations details.
|
|
@@ -27,6 +28,7 @@ export declare class DetailedSatellite extends Satellite {
|
|
|
27
28
|
launchDate: string;
|
|
28
29
|
launchMass: string;
|
|
29
30
|
launchSite: string;
|
|
31
|
+
launchPad: string;
|
|
30
32
|
launchVehicle: string;
|
|
31
33
|
lifetime: string | number;
|
|
32
34
|
maneuver: string;
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
* You should have received a copy of the GNU Affero General Public License along with
|
|
15
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { Satellite } from './Satellite.js';
|
|
18
|
+
import { FormatTle, CatalogSource, } from '../main.js';
|
|
18
19
|
import { PayloadStatus } from '../types/types.js';
|
|
19
|
-
import { CatalogSource } from '../main.js';
|
|
20
20
|
/**
|
|
21
21
|
* Represents a detailed satellite object with launch, spacecraft, and operations details.
|
|
22
22
|
*/
|
|
@@ -28,6 +28,7 @@ export class DetailedSatellite extends Satellite {
|
|
|
28
28
|
launchDate = '';
|
|
29
29
|
launchMass = '';
|
|
30
30
|
launchSite = '';
|
|
31
|
+
launchPad = '';
|
|
31
32
|
launchVehicle = '';
|
|
32
33
|
lifetime = '';
|
|
33
34
|
maneuver = '';
|
|
@@ -106,6 +107,7 @@ export class DetailedSatellite extends Satellite {
|
|
|
106
107
|
this.launchDate = info.launchDate ?? '';
|
|
107
108
|
this.launchMass = info.launchMass ?? '';
|
|
108
109
|
this.launchSite = info.launchSite ?? '';
|
|
110
|
+
this.launchPad = info.launchPad ?? '';
|
|
109
111
|
this.launchVehicle = info.launchVehicle ?? '';
|
|
110
112
|
}
|
|
111
113
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailedSatellite.js","sourceRoot":"","sources":["../../src/objects/DetailedSatellite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"DetailedSatellite.js","sourceRoot":"","sources":["../../src/objects/DetailedSatellite.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,8 @@
|
|
|
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 {
|
|
17
|
+
import { Sensor } from './Sensor.js';
|
|
18
|
+
import { Milliseconds } from '../main.js';
|
|
18
19
|
import { DetailedSensorParams, ZoomValue } from '../types/types.js';
|
|
19
20
|
import { CommLink } from '../enums/CommLink.js';
|
|
20
21
|
export declare class DetailedSensor extends Sensor {
|
|
@@ -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 { Sensor } from '
|
|
17
|
+
import { Sensor } from './Sensor.js';
|
|
18
18
|
export class DetailedSensor extends Sensor {
|
|
19
19
|
sensorId;
|
|
20
20
|
objName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailedSensor.js","sourceRoot":"","sources":["../../src/objects/DetailedSensor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"DetailedSensor.js","sourceRoot":"","sources":["../../src/objects/DetailedSensor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAKrC,MAAM,OAAO,cAAe,SAAQ,MAAM;IACxC,QAAQ,CAAU;IAClB,OAAO,CAAU;IACjB,SAAS,CAAU;IACnB,MAAM,CAAU;IAChB,OAAO,CAAU;IACjB,SAAS,CAAgB;IACzB,QAAQ,CAAU;IAClB,SAAS,CAAa;IACtB,iCAAiC;IACjC,YAAY,CAAW;IACvB,kDAAkD;IAClD,IAAI,CAAsB;IAC1B,MAAM,CAAU;IAChB,QAAQ,CAAU;IAClB,GAAG,CAAU;IAEb,YAAY,IAA0B;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Theodore Kruczek.
|
|
3
|
+
* @license MIT
|
|
4
|
+
* @copyright (c) 2022-2025 Theodore Kruczek Permission is
|
|
5
|
+
* hereby granted, free of charge, to any person obtaining a copy of this
|
|
6
|
+
* software and associated documentation files (the "Software"), to deal in the
|
|
7
|
+
* Software without restriction, including without limitation the rights to use,
|
|
8
|
+
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
+
* the Software, and to permit persons to whom the Software is furnished to do
|
|
10
|
+
* so, subject to the following conditions:
|
|
11
|
+
*
|
|
12
|
+
* The above copyright notice and this permission notice shall be included in
|
|
13
|
+
* all copies or substantial portions of the Software.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
* SOFTWARE.
|
|
22
|
+
*/
|
|
23
|
+
import { GroundPositionParams, Degrees, EcfVec3, EciVec3, Kilometers, LlaVec3, Radians, RaeVec3, Geodetic, BaseObjectParams } from '../main.js';
|
|
24
|
+
import { BaseObject } from './BaseObject.js';
|
|
25
|
+
import { Satellite } from './Satellite.js';
|
|
26
|
+
export declare class GroundObject extends BaseObject {
|
|
27
|
+
name: string;
|
|
28
|
+
lat: Degrees;
|
|
29
|
+
lon: Degrees;
|
|
30
|
+
alt: Kilometers;
|
|
31
|
+
constructor(info: GroundPositionParams & BaseObjectParams);
|
|
32
|
+
/**
|
|
33
|
+
* Calculates the relative azimuth, elevation, and range between this GroundObject and a Satellite.
|
|
34
|
+
* @param satellite The Satellite object.
|
|
35
|
+
* @param date The date for which to calculate the RAE values. Defaults to the current date.
|
|
36
|
+
* @returns The relative azimuth, elevation, and range values in kilometers and degrees.
|
|
37
|
+
*/
|
|
38
|
+
rae(satellite: Satellite, date?: Date): RaeVec3<Kilometers, Degrees> | null;
|
|
39
|
+
/**
|
|
40
|
+
* Calculates ECF position at a given time.
|
|
41
|
+
* @variation optimized version of this.toGeodetic().toITRF().position;
|
|
42
|
+
* @returns The ECF position vector of the ground object.
|
|
43
|
+
*/
|
|
44
|
+
ecf(): EcfVec3<Kilometers>;
|
|
45
|
+
/**
|
|
46
|
+
* Calculates the Earth-Centered Inertial (ECI) position vector of the ground object at a given date.
|
|
47
|
+
* @variation optimzed version of this.toGeodetic().toITRF().toJ2000().position;
|
|
48
|
+
* @param date The date for which to calculate the ECI position vector. Defaults to the current date.
|
|
49
|
+
* @returns The ECI position vector of the ground object.
|
|
50
|
+
*/
|
|
51
|
+
eci(date?: Date): EciVec3<Kilometers>;
|
|
52
|
+
/**
|
|
53
|
+
* Returns the latitude, longitude, and altitude of the GroundObject.
|
|
54
|
+
* @returns The latitude, longitude, and altitude as an LlaVec3 object.
|
|
55
|
+
*/
|
|
56
|
+
lla(): LlaVec3<Degrees, Kilometers>;
|
|
57
|
+
/**
|
|
58
|
+
* Converts the latitude, longitude, and altitude of the GroundObject to radians and kilometers.
|
|
59
|
+
* @variation optimized version of this.toGeodetic() without class instantiation for better performance and
|
|
60
|
+
* serialization.
|
|
61
|
+
* @returns An object containing the latitude, longitude, and altitude in
|
|
62
|
+
* radians and kilometers.
|
|
63
|
+
*/
|
|
64
|
+
llaRad(): LlaVec3<Radians, Kilometers>;
|
|
65
|
+
get latRad(): Radians;
|
|
66
|
+
get lonRad(): Radians;
|
|
67
|
+
/**
|
|
68
|
+
* Creates a GroundObject object from a Geodetic position.
|
|
69
|
+
* @param geodetic The geodetic coordinates.
|
|
70
|
+
* @returns A new GroundObject object.
|
|
71
|
+
*/
|
|
72
|
+
static fromGeodetic(geodetic: Geodetic): GroundObject;
|
|
73
|
+
/**
|
|
74
|
+
* Converts the ground position to geodetic coordinates.
|
|
75
|
+
* @returns The geodetic coordinates.
|
|
76
|
+
*/
|
|
77
|
+
toGeodetic(): Geodetic;
|
|
78
|
+
/**
|
|
79
|
+
* Validates the input data for the GroundObject.
|
|
80
|
+
* @param info - The GroundPositionParams object containing the latitude,
|
|
81
|
+
* longitude, and altitude. @returns void
|
|
82
|
+
*/
|
|
83
|
+
private validateGroundObjectInputData_;
|
|
84
|
+
isGroundObject(): boolean;
|
|
85
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Theodore Kruczek.
|
|
3
|
+
* @license MIT
|
|
4
|
+
* @copyright (c) 2022-2025 Theodore Kruczek Permission is
|
|
5
|
+
* hereby granted, free of charge, to any person obtaining a copy of this
|
|
6
|
+
* software and associated documentation files (the "Software"), to deal in the
|
|
7
|
+
* Software without restriction, including without limitation the rights to use,
|
|
8
|
+
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
+
* the Software, and to permit persons to whom the Software is furnished to do
|
|
10
|
+
* so, subject to the following conditions:
|
|
11
|
+
*
|
|
12
|
+
* The above copyright notice and this permission notice shall be included in
|
|
13
|
+
* all copies or substantial portions of the Software.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
* SOFTWARE.
|
|
22
|
+
*/
|
|
23
|
+
import { calcGmst, lla2eci, llaRad2ecf, DEG2RAD, Geodetic, SpaceObjectType, } from '../main.js';
|
|
24
|
+
import { BaseObject } from './BaseObject.js';
|
|
25
|
+
export class GroundObject extends BaseObject {
|
|
26
|
+
name = 'Unknown Ground Object';
|
|
27
|
+
lat;
|
|
28
|
+
lon;
|
|
29
|
+
alt;
|
|
30
|
+
constructor(info) {
|
|
31
|
+
super(info);
|
|
32
|
+
this.validateGroundObjectInputData_(info);
|
|
33
|
+
this.name = info.name ?? this.name;
|
|
34
|
+
this.lat = info.lat;
|
|
35
|
+
this.lon = info.lon;
|
|
36
|
+
this.alt = info.alt;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Calculates the relative azimuth, elevation, and range between this GroundObject and a Satellite.
|
|
40
|
+
* @param satellite The Satellite object.
|
|
41
|
+
* @param date The date for which to calculate the RAE values. Defaults to the current date.
|
|
42
|
+
* @returns The relative azimuth, elevation, and range values in kilometers and degrees.
|
|
43
|
+
*/
|
|
44
|
+
rae(satellite, date = new Date()) {
|
|
45
|
+
return satellite.rae(this, date);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Calculates ECF position at a given time.
|
|
49
|
+
* @variation optimized version of this.toGeodetic().toITRF().position;
|
|
50
|
+
* @returns The ECF position vector of the ground object.
|
|
51
|
+
*/
|
|
52
|
+
ecf() {
|
|
53
|
+
return llaRad2ecf(this.toGeodetic());
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Calculates the Earth-Centered Inertial (ECI) position vector of the ground object at a given date.
|
|
57
|
+
* @variation optimzed version of this.toGeodetic().toITRF().toJ2000().position;
|
|
58
|
+
* @param date The date for which to calculate the ECI position vector. Defaults to the current date.
|
|
59
|
+
* @returns The ECI position vector of the ground object.
|
|
60
|
+
*/
|
|
61
|
+
eci(date = new Date()) {
|
|
62
|
+
const { gmst } = calcGmst(date);
|
|
63
|
+
return lla2eci(this.toGeodetic(), gmst);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Returns the latitude, longitude, and altitude of the GroundObject.
|
|
67
|
+
* @returns The latitude, longitude, and altitude as an LlaVec3 object.
|
|
68
|
+
*/
|
|
69
|
+
lla() {
|
|
70
|
+
return {
|
|
71
|
+
lat: this.lat,
|
|
72
|
+
lon: this.lon,
|
|
73
|
+
alt: this.alt,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Converts the latitude, longitude, and altitude of the GroundObject to radians and kilometers.
|
|
78
|
+
* @variation optimized version of this.toGeodetic() without class instantiation for better performance and
|
|
79
|
+
* serialization.
|
|
80
|
+
* @returns An object containing the latitude, longitude, and altitude in
|
|
81
|
+
* radians and kilometers.
|
|
82
|
+
*/
|
|
83
|
+
llaRad() {
|
|
84
|
+
return {
|
|
85
|
+
lat: (this.lat * DEG2RAD),
|
|
86
|
+
lon: (this.lon * DEG2RAD),
|
|
87
|
+
alt: this.alt,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
get latRad() {
|
|
91
|
+
return this.lat * DEG2RAD;
|
|
92
|
+
}
|
|
93
|
+
get lonRad() {
|
|
94
|
+
return this.lon * DEG2RAD;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Creates a GroundObject object from a Geodetic position.
|
|
98
|
+
* @param geodetic The geodetic coordinates.
|
|
99
|
+
* @returns A new GroundObject object.
|
|
100
|
+
*/
|
|
101
|
+
static fromGeodetic(geodetic) {
|
|
102
|
+
return new GroundObject({
|
|
103
|
+
lat: geodetic.latDeg,
|
|
104
|
+
lon: geodetic.lonDeg,
|
|
105
|
+
alt: geodetic.alt,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Converts the ground position to geodetic coordinates.
|
|
110
|
+
* @returns The geodetic coordinates.
|
|
111
|
+
*/
|
|
112
|
+
toGeodetic() {
|
|
113
|
+
return Geodetic.fromDegrees(this.lat, this.lon, this.alt);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Validates the input data for the GroundObject.
|
|
117
|
+
* @param info - The GroundPositionParams object containing the latitude,
|
|
118
|
+
* longitude, and altitude. @returns void
|
|
119
|
+
*/
|
|
120
|
+
validateGroundObjectInputData_(info) {
|
|
121
|
+
this.validateParameter(info.lat, -90, 90, 'Invalid latitude - must be between -90 and 90');
|
|
122
|
+
this.validateParameter(info.lon, -180, 180, 'Invalid longitude - must be between -180 and 180');
|
|
123
|
+
this.validateParameter(info.alt, 0, null, 'Invalid altitude - must be greater than 0');
|
|
124
|
+
}
|
|
125
|
+
isGroundObject() {
|
|
126
|
+
switch (this.type) {
|
|
127
|
+
case SpaceObjectType.INTERGOVERNMENTAL_ORGANIZATION:
|
|
128
|
+
case SpaceObjectType.SUBORBITAL_PAYLOAD_OPERATOR:
|
|
129
|
+
case SpaceObjectType.PAYLOAD_OWNER:
|
|
130
|
+
case SpaceObjectType.METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER:
|
|
131
|
+
case SpaceObjectType.PAYLOAD_MANUFACTURER:
|
|
132
|
+
case SpaceObjectType.LAUNCH_VEHICLE_MANUFACTURER:
|
|
133
|
+
case SpaceObjectType.ENGINE_MANUFACTURER:
|
|
134
|
+
case SpaceObjectType.LAUNCH_AGENCY:
|
|
135
|
+
case SpaceObjectType.LAUNCH_SITE:
|
|
136
|
+
case SpaceObjectType.LAUNCH_POSITION:
|
|
137
|
+
return true;
|
|
138
|
+
default:
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=GroundObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroundObject.js","sourceRoot":"","sources":["../../src/objects/GroundObject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EASL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,OAAO,EACP,QAAQ,EAER,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,MAAM,OAAO,YAAa,SAAQ,UAAU;IACjC,IAAI,GAAG,uBAAuB,CAAC;IACxC,GAAG,CAAU;IACb,GAAG,CAAU;IACb,GAAG,CAAa;IAEhB,YAAY,IAA6C;QACvD,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,SAAoB,EAAE,OAAa,IAAI,IAAI,EAAE;QAC/C,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,GAAG;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,OAAa,IAAI,IAAI,EAAE;QACzB,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEhC,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,GAAG;QACD,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACJ,OAAO;YACL,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAY;YACpC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAY;YACpC,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,GAAG,OAAkB,CAAC;IACvC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,GAAG,OAAkB,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,QAAkB;QACpC,OAAO,IAAI,YAAY,CAAC;YACtB,GAAG,EAAE,QAAQ,CAAC,MAAiB;YAC/B,GAAG,EAAE,QAAQ,CAAC,MAAiB;YAC/B,GAAG,EAAE,QAAQ,CAAC,GAAG;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACK,8BAA8B,CAAC,IAA0B;QAC/D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,+CAA+C,CAAC,CAAC;QAC3F,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,kDAAkD,CAAC,CAAC;QAChG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,2CAA2C,CAAC,CAAC;IACzF,CAAC;IAEQ,cAAc;QACrB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,eAAe,CAAC,8BAA8B,CAAC;YACpD,KAAK,eAAe,CAAC,2BAA2B,CAAC;YACjD,KAAK,eAAe,CAAC,aAAa,CAAC;YACnC,KAAK,eAAe,CAAC,mDAAmD,CAAC;YACzE,KAAK,eAAe,CAAC,oBAAoB,CAAC;YAC1C,KAAK,eAAe,CAAC,2BAA2B,CAAC;YACjD,KAAK,eAAe,CAAC,mBAAmB,CAAC;YACzC,KAAK,eAAe,CAAC,aAAa,CAAC;YACnC,KAAK,eAAe,CAAC,WAAW,CAAC;YACjC,KAAK,eAAe,CAAC,eAAe;gBAClC,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -14,7 +14,8 @@
|
|
|
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 { BaseObject
|
|
17
|
+
import { BaseObject } from './BaseObject.js';
|
|
18
|
+
import { BaseObjectParams, Degrees, Kilometers } from '../main.js';
|
|
18
19
|
export interface LandObjectParams extends BaseObjectParams {
|
|
19
20
|
lat: Degrees;
|
|
20
21
|
lon: Degrees;
|
|
@@ -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 { BaseObject } from '
|
|
17
|
+
import { BaseObject } from './BaseObject.js';
|
|
18
18
|
export class LandObject extends BaseObject {
|
|
19
19
|
lat;
|
|
20
20
|
lon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LandObject.js","sourceRoot":"","sources":["../../src/objects/LandObject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"LandObject.js","sourceRoot":"","sources":["../../src/objects/LandObject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAY7C,MAAM,OAAO,UAAW,SAAQ,UAAU;IACxC,GAAG,CAAU;IACb,GAAG,CAAU;IACb,GAAG,CAAa;IAChB,OAAO,CAAU;IACjB,IAAI,CAAU;IAEd,YAAY,IAAsB;QAChC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/dist/objects/Marker.d.ts
CHANGED
|
@@ -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 { BaseObject } from '
|
|
17
|
+
import { BaseObject } from './BaseObject.js';
|
|
18
18
|
export declare class Marker extends BaseObject {
|
|
19
19
|
isMarker(): boolean;
|
|
20
20
|
}
|
package/dist/objects/Marker.js
CHANGED
|
@@ -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 { BaseObject } from '
|
|
17
|
+
import { BaseObject } from './BaseObject.js';
|
|
18
18
|
/* eslint-disable class-methods-use-this */
|
|
19
19
|
export class Marker extends BaseObject {
|
|
20
20
|
isMarker() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Marker.js","sourceRoot":"","sources":["../../src/objects/Marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Marker.js","sourceRoot":"","sources":["../../src/objects/Marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,2CAA2C;AAE3C,MAAM,OAAO,MAAO,SAAQ,UAAU;IACpC,QAAQ;QACN,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -20,8 +20,7 @@
|
|
|
20
20
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
* SOFTWARE.
|
|
22
22
|
*/
|
|
23
|
-
import { Degrees, Radians } from '
|
|
24
|
-
import { RfSensorParams } from '../main.js';
|
|
23
|
+
import { Degrees, Radians, RfSensorParams } from '../main.js';
|
|
25
24
|
import { DetailedSensor } from './DetailedSensor.js';
|
|
26
25
|
export declare class RfSensor extends DetailedSensor {
|
|
27
26
|
boresightAz: Degrees[];
|
package/dist/objects/RfSensor.js
CHANGED
|
@@ -20,8 +20,7 @@
|
|
|
20
20
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
* SOFTWARE.
|
|
22
22
|
*/
|
|
23
|
-
import { DEG2RAD, RAD2DEG, SpaceObjectType } from '
|
|
24
|
-
import { azel2uv, uv2azel } from '../main.js';
|
|
23
|
+
import { DEG2RAD, RAD2DEG, SpaceObjectType, azel2uv, uv2azel } from '../main.js';
|
|
25
24
|
import { DetailedSensor } from './DetailedSensor.js';
|
|
26
25
|
export class RfSensor extends DetailedSensor {
|
|
27
26
|
boresightAz;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RfSensor.js","sourceRoot":"","sources":["../../src/objects/RfSensor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAW,OAAO,EAAW,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"RfSensor.js","sourceRoot":"","sources":["../../src/objects/RfSensor.ts"],"names":[],"mappings":"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"}
|