ootk 3.0.0 → 4.0.0-1
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 +235 -10
- package/README.md +27 -40
- package/dist/coordinate/Hill.d.ts +49 -0
- package/dist/coordinate/Hill.js +222 -0
- package/dist/coordinate/Hill.js.map +1 -0
- package/dist/coordinate/index.d.ts +1 -0
- package/dist/coordinate/index.js +2 -0
- package/dist/coordinate/index.js.map +1 -0
- package/dist/covariance/CovarianceSample.d.ts +43 -0
- package/dist/covariance/CovarianceSample.js +147 -0
- package/dist/covariance/CovarianceSample.js.map +1 -0
- package/dist/covariance/StateCovariance.d.ts +42 -0
- package/dist/covariance/StateCovariance.js +65 -0
- package/dist/covariance/StateCovariance.js.map +1 -0
- package/dist/force/AtmosphericDrag.d.ts +31 -0
- package/dist/force/AtmosphericDrag.js +73 -0
- package/dist/force/AtmosphericDrag.js.map +1 -0
- package/dist/force/EarthGravity.d.ts +27 -0
- package/dist/force/EarthGravity.js +117 -0
- package/dist/force/EarthGravity.js.map +1 -0
- package/{lib/ootk.d.ts → dist/force/Force.d.ts} +12 -11
- package/dist/force/Force.js +31 -0
- package/dist/force/Force.js.map +1 -0
- package/dist/force/ForceModel.d.ts +37 -0
- package/dist/force/ForceModel.js +75 -0
- package/dist/force/ForceModel.js.map +1 -0
- package/dist/force/Gravity.d.ts +38 -0
- package/dist/force/Gravity.js +47 -0
- package/dist/force/Gravity.js.map +1 -0
- package/dist/{ootk.d.ts → force/SolarRadiationPressure.d.ts} +12 -11
- package/dist/force/SolarRadiationPressure.js +44 -0
- package/dist/force/SolarRadiationPressure.js.map +1 -0
- package/dist/force/ThirdBodyGravity.d.ts +26 -0
- package/dist/force/ThirdBodyGravity.js +57 -0
- package/dist/force/ThirdBodyGravity.js.map +1 -0
- package/dist/force/Thrust.d.ts +34 -0
- package/dist/force/Thrust.js +58 -0
- package/dist/force/Thrust.js.map +1 -0
- package/dist/interfaces/RfSensorParams.d.ts +28 -0
- package/dist/interfaces/RfSensorParams.js +24 -0
- package/dist/interfaces/RfSensorParams.js.map +1 -0
- package/dist/interfaces/index.d.ts +1 -0
- package/dist/interfaces/index.js +2 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interpolator/ChebyshevCoefficients.d.ts +50 -0
- package/dist/interpolator/ChebyshevCoefficients.js +94 -0
- package/dist/interpolator/ChebyshevCoefficients.js.map +1 -0
- package/dist/interpolator/ChebyshevInterpolator.d.ts +38 -0
- package/dist/interpolator/ChebyshevInterpolator.js +71 -0
- package/dist/interpolator/ChebyshevInterpolator.js.map +1 -0
- package/dist/interpolator/CubicSpline.d.ts +35 -0
- package/dist/interpolator/CubicSpline.js +69 -0
- package/dist/interpolator/CubicSpline.js.map +1 -0
- package/dist/interpolator/CubicSplineInterpolator.d.ts +36 -0
- package/dist/interpolator/CubicSplineInterpolator.js +80 -0
- package/dist/interpolator/CubicSplineInterpolator.js.map +1 -0
- package/dist/interpolator/FieldInterpolator.d.ts +28 -0
- package/dist/interpolator/FieldInterpolator.js +34 -0
- package/dist/interpolator/FieldInterpolator.js.map +1 -0
- package/dist/interpolator/Interpolator.d.ts +22 -0
- package/dist/interpolator/Interpolator.js +47 -0
- package/dist/interpolator/Interpolator.js.map +1 -0
- package/dist/interpolator/LagrangeInterpolator.d.ts +40 -0
- package/dist/interpolator/LagrangeInterpolator.js +159 -0
- package/dist/interpolator/LagrangeInterpolator.js.map +1 -0
- package/dist/interpolator/StateInterpolator.d.ts +27 -0
- package/dist/interpolator/StateInterpolator.js +35 -0
- package/dist/interpolator/StateInterpolator.js.map +1 -0
- package/dist/interpolator/VerletBlendInterpolator.d.ts +43 -0
- package/dist/interpolator/VerletBlendInterpolator.js +118 -0
- package/dist/interpolator/VerletBlendInterpolator.js.map +1 -0
- package/{lib/ootk.js → dist/main.d.ts} +13 -10
- package/dist/{objects/space-object.d.ts → main.js} +17 -23
- package/dist/main.js.map +1 -0
- package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +41 -0
- package/dist/maneuver/TwoBurnOrbitTransfer.js +65 -0
- package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -0
- package/dist/maneuver/Waypoint.d.ts +91 -0
- package/dist/maneuver/Waypoint.js +179 -0
- package/dist/maneuver/Waypoint.js.map +1 -0
- package/{lib/objects/detailed-sat.d.ts → dist/objects/DetailedSatellite.d.ts} +40 -36
- package/dist/objects/DetailedSatellite.js +136 -0
- package/dist/objects/DetailedSatellite.js.map +1 -0
- package/dist/objects/DetailedSensor.d.ts +42 -0
- package/dist/objects/DetailedSensor.js +65 -0
- package/dist/objects/DetailedSensor.js.map +1 -0
- package/dist/objects/LandObject.d.ts +33 -0
- package/dist/objects/LandObject.js +34 -0
- package/dist/objects/LandObject.js.map +1 -0
- package/dist/objects/Marker.d.ts +20 -0
- package/dist/objects/Marker.js +24 -0
- package/dist/objects/Marker.js.map +1 -0
- package/dist/objects/RfSensor.d.ts +41 -0
- package/dist/objects/RfSensor.js +67 -0
- package/dist/objects/RfSensor.js.map +1 -0
- package/dist/objects/index.d.ts +5 -4
- package/dist/objects/index.js +6 -0
- package/dist/objects/index.js.map +1 -0
- package/dist/observation/Observation.d.ts +89 -0
- package/dist/observation/Observation.js +102 -0
- package/dist/observation/Observation.js.map +1 -0
- package/dist/observation/ObservationOptical.d.ts +48 -0
- package/dist/observation/ObservationOptical.js +105 -0
- package/dist/observation/ObservationOptical.js.map +1 -0
- package/dist/observation/ObservationRadar.d.ts +46 -0
- package/dist/observation/ObservationRadar.js +96 -0
- package/dist/observation/ObservationRadar.js.map +1 -0
- package/dist/observation/ObservationUtils.d.ts +20 -0
- package/dist/observation/ObservationUtils.js +32 -0
- package/dist/observation/ObservationUtils.js.map +1 -0
- package/dist/observation/PropagatorPairs.d.ts +32 -0
- package/dist/observation/PropagatorPairs.js +43 -0
- package/dist/observation/PropagatorPairs.js.map +1 -0
- package/dist/operations/BoxMuller.d.ts +46 -0
- package/dist/operations/BoxMuller.js +77 -0
- package/dist/operations/BoxMuller.js.map +1 -0
- package/dist/operations/EulerAngles.d.ts +105 -0
- package/dist/operations/EulerAngles.js +161 -0
- package/dist/operations/EulerAngles.js.map +1 -0
- package/dist/operations/Quaternion.d.ts +56 -0
- package/dist/operations/Quaternion.js +167 -0
- package/dist/operations/Quaternion.js.map +1 -0
- package/dist/operations/RandomGaussianSource.d.ts +24 -0
- package/dist/operations/RandomGaussianSource.js +43 -0
- package/dist/operations/RandomGaussianSource.js.map +1 -0
- package/dist/operations/index.d.ts +4 -0
- package/dist/operations/index.js +5 -0
- package/dist/operations/index.js.map +1 -0
- package/dist/optimize/ChebyshevCompressor.d.ts +32 -0
- package/dist/optimize/ChebyshevCompressor.js +83 -0
- package/dist/optimize/ChebyshevCompressor.js.map +1 -0
- package/dist/optimize/DownhillSimplex.d.ts +64 -0
- package/dist/optimize/DownhillSimplex.js +182 -0
- package/dist/optimize/DownhillSimplex.js.map +1 -0
- package/dist/optimize/GoldenSection.d.ts +39 -0
- package/dist/optimize/GoldenSection.js +55 -0
- package/dist/optimize/GoldenSection.js.map +1 -0
- package/dist/optimize/PolynomialRegression.d.ts +49 -0
- package/dist/optimize/PolynomialRegression.js +83 -0
- package/dist/optimize/PolynomialRegression.js.map +1 -0
- package/dist/optimize/PolynomicalRegressionResult.d.ts +31 -0
- package/dist/optimize/PolynomicalRegressionResult.js +38 -0
- package/dist/optimize/PolynomicalRegressionResult.js.map +1 -0
- package/dist/optimize/SimpleLinearRegression.d.ts +44 -0
- package/dist/optimize/SimpleLinearRegression.js +112 -0
- package/dist/optimize/SimpleLinearRegression.js.map +1 -0
- package/dist/optimize/SimplexEntry.d.ts +32 -0
- package/dist/optimize/SimplexEntry.js +42 -0
- package/dist/optimize/SimplexEntry.js.map +1 -0
- package/dist/orbit_determination/BatchLeastSquaresOD.d.ts +65 -0
- package/dist/orbit_determination/BatchLeastSquaresOD.js +143 -0
- package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -0
- package/dist/orbit_determination/BatchLeastSquaresResult.d.ts +31 -0
- package/{lib/objects/space-object.d.ts → dist/orbit_determination/BatchLeastSquaresResult.js} +21 -23
- package/dist/orbit_determination/BatchLeastSquaresResult.js.map +1 -0
- package/dist/orbit_determination/GibbsIOD.d.ts +38 -0
- package/dist/orbit_determination/GibbsIOD.js +76 -0
- package/dist/orbit_determination/GibbsIOD.js.map +1 -0
- package/dist/orbit_determination/GoodingIOD.d.ts +51 -0
- package/dist/orbit_determination/GoodingIOD.js +247 -0
- package/dist/orbit_determination/GoodingIOD.js.map +1 -0
- package/dist/orbit_determination/HerrickGibbsIOD.d.ts +33 -0
- package/dist/orbit_determination/HerrickGibbsIOD.js +50 -0
- package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -0
- package/dist/orbit_determination/LambertIOD.d.ts +59 -0
- package/dist/orbit_determination/LambertIOD.js +213 -0
- package/dist/orbit_determination/LambertIOD.js.map +1 -0
- package/dist/orbit_determination/ModifiedGoodingIOD.d.ts +40 -0
- package/dist/orbit_determination/ModifiedGoodingIOD.js +83 -0
- package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -0
- package/dist/propagator/DormandPrince54Propagator.d.ts +28 -0
- package/dist/propagator/DormandPrince54Propagator.js +64 -0
- package/dist/propagator/DormandPrince54Propagator.js.map +1 -0
- package/dist/propagator/KeplerPropagator.d.ts +35 -0
- package/dist/propagator/KeplerPropagator.js +84 -0
- package/dist/propagator/KeplerPropagator.js.map +1 -0
- package/dist/propagator/Propagator.d.ts +34 -0
- package/dist/propagator/Propagator.js +162 -0
- package/dist/propagator/Propagator.js.map +1 -0
- package/dist/propagator/RkCheckpoint.d.ts +22 -0
- package/dist/propagator/RkCheckpoint.js +27 -0
- package/dist/propagator/RkCheckpoint.js.map +1 -0
- package/dist/propagator/RkResult.d.ts +23 -0
- package/dist/propagator/RkResult.js +30 -0
- package/dist/propagator/RkResult.js.map +1 -0
- package/dist/propagator/RungeKutta4Propagator.d.ts +50 -0
- package/dist/propagator/RungeKutta4Propagator.js +141 -0
- package/dist/propagator/RungeKutta4Propagator.js.map +1 -0
- package/dist/propagator/RungeKutta89Propagator.d.ts +28 -0
- package/dist/propagator/RungeKutta89Propagator.js +126 -0
- package/dist/propagator/RungeKutta89Propagator.js.map +1 -0
- package/dist/propagator/RungeKuttaAdaptive.d.ts +54 -0
- package/dist/propagator/RungeKuttaAdaptive.js +159 -0
- package/dist/propagator/RungeKuttaAdaptive.js.map +1 -0
- package/dist/propagator/Sgp4Propagator.d.ts +34 -0
- package/dist/propagator/Sgp4Propagator.js +56 -0
- package/dist/propagator/Sgp4Propagator.js.map +1 -0
- package/dist/smoothing/ExponentialSmoothing.d.ts +23 -0
- package/dist/smoothing/ExponentialSmoothing.js +81 -0
- package/dist/smoothing/ExponentialSmoothing.js.map +1 -0
- package/dist/transforms/index.d.ts +1 -0
- package/dist/transforms/index.js +2 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/transforms/transforms.d.ts +56 -92
- package/dist/transforms/transforms.js +94 -0
- package/dist/transforms/transforms.js.map +1 -0
- package/dist/types/types.d.ts +105 -584
- package/dist/types/types.js +23 -0
- package/dist/types/types.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/jacobian.d.ts +11 -0
- package/dist/utils/jacobian.js +29 -0
- package/dist/utils/jacobian.js.map +1 -0
- package/package.json +34 -42
- package/src/coordinate/Hill.ts +326 -0
- package/src/coordinate/index.ts +1 -0
- package/src/covariance/CovarianceSample.ts +194 -0
- package/src/covariance/StateCovariance.ts +69 -0
- package/src/force/AtmosphericDrag.ts +101 -0
- package/src/force/EarthGravity.ts +157 -0
- package/src/force/Force.ts +33 -0
- package/src/force/ForceModel.ts +91 -0
- package/src/force/Gravity.ts +53 -0
- package/src/force/SolarRadiationPressure.ts +42 -0
- package/src/force/ThirdBodyGravity.ts +62 -0
- package/src/force/Thrust.ts +83 -0
- package/src/interfaces/RfSensorParams.ts +30 -0
- package/src/interfaces/index.ts +1 -0
- package/src/interpolator/ChebyshevCoefficients.ts +109 -0
- package/src/interpolator/ChebyshevInterpolator.ts +87 -0
- package/src/interpolator/CubicSpline.ts +72 -0
- package/src/interpolator/CubicSplineInterpolator.ts +90 -0
- package/src/interpolator/FieldInterpolator.ts +37 -0
- package/src/interpolator/Interpolator.ts +56 -0
- package/src/interpolator/LagrangeInterpolator.ts +192 -0
- package/src/interpolator/StateInterpolator.ts +39 -0
- package/src/interpolator/VerletBlendInterpolator.ts +146 -0
- package/src/main.ts +32 -0
- package/src/maneuver/TwoBurnOrbitTransfer.ts +79 -0
- package/src/maneuver/Waypoint.ts +267 -0
- package/src/objects/DetailedSatellite.ts +159 -0
- package/src/objects/DetailedSensor.ts +68 -0
- package/src/objects/LandObject.ts +46 -0
- package/src/objects/Marker.ts +25 -0
- package/src/objects/RfSensor.ts +78 -0
- package/src/objects/index.ts +5 -0
- package/src/observation/Observation.ts +125 -0
- package/src/observation/ObservationOptical.ts +146 -0
- package/src/observation/ObservationRadar.ts +131 -0
- package/src/observation/ObservationUtils.ts +40 -0
- package/src/observation/PropagatorPairs.ts +45 -0
- package/src/operations/BoxMuller.ts +87 -0
- package/src/operations/EulerAngles.ts +183 -0
- package/src/operations/Quaternion.ts +222 -0
- package/src/operations/RandomGaussianSource.ts +51 -0
- package/src/operations/index.ts +4 -0
- package/src/optimize/ChebyshevCompressor.ts +96 -0
- package/src/optimize/DownhillSimplex.ts +212 -0
- package/src/optimize/GoldenSection.ts +71 -0
- package/src/optimize/PolynomialRegression.ts +109 -0
- package/src/optimize/PolynomicalRegressionResult.ts +32 -0
- package/src/optimize/SimpleLinearRegression.ts +127 -0
- package/src/optimize/SimplexEntry.ts +50 -0
- package/src/orbit_determination/BatchLeastSquaresOD.ts +174 -0
- package/src/orbit_determination/BatchLeastSquaresResult.ts +33 -0
- package/src/orbit_determination/GibbsIOD.ts +95 -0
- package/src/orbit_determination/GoodingIOD.ts +380 -0
- package/src/orbit_determination/HerrickGibbsIOD.ts +51 -0
- package/src/orbit_determination/LambertIOD.ts +260 -0
- package/src/orbit_determination/ModifiedGoodingIOD.ts +133 -0
- package/src/propagator/DormandPrince54Propagator.ts +73 -0
- package/src/propagator/KeplerPropagator.ts +102 -0
- package/src/propagator/Propagator.ts +253 -0
- package/src/propagator/RkCheckpoint.ts +25 -0
- package/src/propagator/RkResult.ts +26 -0
- package/src/propagator/RungeKutta4Propagator.ts +179 -0
- package/src/propagator/RungeKutta89Propagator.ts +132 -0
- package/src/propagator/RungeKuttaAdaptive.ts +232 -0
- package/src/propagator/Sgp4Propagator.ts +71 -0
- package/src/smoothing/ExponentialSmoothing.ts +90 -0
- package/src/transforms/index.ts +1 -0
- package/src/transforms/transforms.ts +117 -0
- package/src/types/types.ts +135 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/jacobian.ts +38 -0
- package/.eslintrc.json +0 -244
- package/.prettierrc +0 -17
- package/babel.config.js +0 -16
- package/codecov.yml +0 -21
- package/dist/objects/base-object.d.ts +0 -40
- package/dist/objects/detailed-sat.d.ts +0 -66
- package/dist/objects/sat.d.ts +0 -92
- package/dist/objects/sensor.d.ts +0 -93
- package/dist/objects/star.d.ts +0 -46
- package/dist/ootk.js +0 -2
- package/dist/ootk.js.LICENSE.txt +0 -77
- package/dist/sgp4/sgp4.d.ts +0 -82
- package/dist/tle/tle-format-data.d.ts +0 -6
- package/dist/tle/tle.d.ts +0 -375
- package/dist/utils/constants.d.ts +0 -34
- package/dist/utils/moon-math.d.ts +0 -113
- package/dist/utils/sun-math.d.ts +0 -230
- package/dist/utils/utils.d.ts +0 -39
- package/jest.config.ts +0 -30
- package/lib/objects/base-object.d.ts +0 -40
- package/lib/objects/base-object.js +0 -79
- package/lib/objects/base-object.js.map +0 -1
- package/lib/objects/detailed-sat.js +0 -149
- package/lib/objects/detailed-sat.js.map +0 -1
- package/lib/objects/index.d.ts +0 -4
- package/lib/objects/index.js +0 -5
- package/lib/objects/index.js.map +0 -1
- package/lib/objects/sat.d.ts +0 -92
- package/lib/objects/sat.js +0 -188
- package/lib/objects/sat.js.map +0 -1
- package/lib/objects/sensor.d.ts +0 -93
- package/lib/objects/sensor.js +0 -273
- package/lib/objects/sensor.js.map +0 -1
- package/lib/objects/space-object.js +0 -60
- package/lib/objects/space-object.js.map +0 -1
- package/lib/objects/star.d.ts +0 -46
- package/lib/objects/star.js +0 -91
- package/lib/objects/star.js.map +0 -1
- package/lib/ootk.js.map +0 -1
- package/lib/sgp4/sgp4.d.ts +0 -82
- package/lib/sgp4/sgp4.js +0 -3262
- package/lib/sgp4/sgp4.js.map +0 -1
- package/lib/tle/tle-format-data.d.ts +0 -6
- package/lib/tle/tle-format-data.js +0 -10
- package/lib/tle/tle-format-data.js.map +0 -1
- package/lib/tle/tle.d.ts +0 -375
- package/lib/tle/tle.js +0 -611
- package/lib/tle/tle.js.map +0 -1
- package/lib/transforms/transforms.d.ts +0 -94
- package/lib/transforms/transforms.js +0 -308
- package/lib/transforms/transforms.js.map +0 -1
- package/lib/types/types.d.ts +0 -605
- package/lib/types/types.js +0 -36
- package/lib/types/types.js.map +0 -1
- package/lib/utils/constants.d.ts +0 -34
- package/lib/utils/constants.js +0 -35
- package/lib/utils/constants.js.map +0 -1
- package/lib/utils/moon-math.d.ts +0 -113
- package/lib/utils/moon-math.js +0 -387
- package/lib/utils/moon-math.js.map +0 -1
- package/lib/utils/sun-math.d.ts +0 -230
- package/lib/utils/sun-math.js +0 -422
- package/lib/utils/sun-math.js.map +0 -1
- package/lib/utils/utils.d.ts +0 -39
- package/lib/utils/utils.js +0 -102
- package/lib/utils/utils.js.map +0 -1
- package/sandbox.html +0 -8
- package/tsconfig.base.json +0 -31
- package/tsconfig.build.json +0 -14
- /package/{LICENSE.MD → LICENSE.md} +0 -0
package/lib/utils/utils.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Theodore Kruczek.
|
|
3
|
-
* @description Orbital Object ToolKit (OOTK) is a collection of tools for working
|
|
4
|
-
* with satellites and other orbital objects.
|
|
5
|
-
*
|
|
6
|
-
* @file The Utils module.
|
|
7
|
-
*
|
|
8
|
-
* @license AGPL-3.0-or-later
|
|
9
|
-
* @Copyright (c) 2020-2023 Theodore Kruczek
|
|
10
|
-
*
|
|
11
|
-
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
12
|
-
* terms of the GNU Affero General Public License as published by the Free Software
|
|
13
|
-
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
14
|
-
*
|
|
15
|
-
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
16
|
-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
17
|
-
* See the GNU Affero General Public License for more details.
|
|
18
|
-
*
|
|
19
|
-
* You should have received a copy of the GNU Affero General Public License along with
|
|
20
|
-
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
21
|
-
*/
|
|
22
|
-
import * as Types from '../types/types';
|
|
23
|
-
import { EciVec3, Kilometers } from '../types/types';
|
|
24
|
-
import { MoonMath } from './moon-math';
|
|
25
|
-
import { SunMath } from './sun-math';
|
|
26
|
-
declare class Utils {
|
|
27
|
-
static MoonMath: typeof MoonMath;
|
|
28
|
-
static SunMath: typeof SunMath;
|
|
29
|
-
static Types: typeof Types;
|
|
30
|
-
static jday: (year?: number, mon?: number, day?: number, hr?: number, minute?: number, sec?: number) => number;
|
|
31
|
-
static createVec(start: number, stop: number, step: number): number[];
|
|
32
|
-
static distance(pos1: EciVec3, pos2: EciVec3): Kilometers;
|
|
33
|
-
static dopplerFactor(location: EciVec3, position: EciVec3, velocity: EciVec3): Kilometers;
|
|
34
|
-
static getDayOfYear(date: Date): number;
|
|
35
|
-
static roundToNDecimalPlaces(value: number, places: number): number;
|
|
36
|
-
private static isLeapYear_;
|
|
37
|
-
private static sign_;
|
|
38
|
-
}
|
|
39
|
-
export { Utils };
|
package/lib/utils/utils.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Theodore Kruczek.
|
|
3
|
-
* @description Orbital Object ToolKit (OOTK) is a collection of tools for working
|
|
4
|
-
* with satellites and other orbital objects.
|
|
5
|
-
*
|
|
6
|
-
* @file The Utils module.
|
|
7
|
-
*
|
|
8
|
-
* @license AGPL-3.0-or-later
|
|
9
|
-
* @Copyright (c) 2020-2023 Theodore Kruczek
|
|
10
|
-
*
|
|
11
|
-
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
12
|
-
* terms of the GNU Affero General Public License as published by the Free Software
|
|
13
|
-
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
14
|
-
*
|
|
15
|
-
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
16
|
-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
17
|
-
* See the GNU Affero General Public License for more details.
|
|
18
|
-
*
|
|
19
|
-
* You should have received a copy of the GNU Affero General Public License along with
|
|
20
|
-
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
21
|
-
*/
|
|
22
|
-
import * as Types from '../types/types';
|
|
23
|
-
import { DAY_TO_MS } from './constants';
|
|
24
|
-
import { MoonMath } from './moon-math';
|
|
25
|
-
import { SunMath } from './sun-math';
|
|
26
|
-
var Utils = /** @class */ (function () {
|
|
27
|
-
function Utils() {
|
|
28
|
-
}
|
|
29
|
-
Utils.createVec = function (start, stop, step) {
|
|
30
|
-
var array = [];
|
|
31
|
-
for (var i = start; i <= stop; i += step) {
|
|
32
|
-
array.push(i);
|
|
33
|
-
}
|
|
34
|
-
return array;
|
|
35
|
-
};
|
|
36
|
-
Utils.distance = function (pos1, pos2) {
|
|
37
|
-
return Math.sqrt(Math.pow((pos1.x - pos2.x), 2) + Math.pow((pos1.y - pos2.y), 2) + Math.pow((pos1.z - pos2.z), 2));
|
|
38
|
-
};
|
|
39
|
-
Utils.dopplerFactor = function (location, position, velocity) {
|
|
40
|
-
var mfactor = 7.292115e-5;
|
|
41
|
-
var c = 299792.458; // Speed of light in km/s
|
|
42
|
-
var range = {
|
|
43
|
-
x: position.x - location.x,
|
|
44
|
-
y: position.y - location.y,
|
|
45
|
-
z: position.z - location.z,
|
|
46
|
-
};
|
|
47
|
-
var distance = Math.sqrt(Math.pow(range.x, 2) + Math.pow(range.y, 2) + Math.pow(range.z, 2));
|
|
48
|
-
var rangeVel = {
|
|
49
|
-
x: velocity.x + mfactor * location.y,
|
|
50
|
-
y: velocity.y - mfactor * location.x,
|
|
51
|
-
z: velocity.z,
|
|
52
|
-
};
|
|
53
|
-
var rangeRate = (range.x * rangeVel.x + range.y * rangeVel.y + range.z * rangeVel.z) / distance;
|
|
54
|
-
return (1 + (rangeRate / c) * Utils.sign_(rangeRate));
|
|
55
|
-
};
|
|
56
|
-
Utils.getDayOfYear = function (date) {
|
|
57
|
-
date = date || new Date();
|
|
58
|
-
var dayCount = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
|
|
59
|
-
var mn = date.getMonth();
|
|
60
|
-
var dn = date.getUTCDate();
|
|
61
|
-
var dayOfYear = dayCount[mn] + dn;
|
|
62
|
-
if (mn > 1 && Utils.isLeapYear_(date)) {
|
|
63
|
-
dayOfYear++;
|
|
64
|
-
}
|
|
65
|
-
return dayOfYear;
|
|
66
|
-
};
|
|
67
|
-
Utils.roundToNDecimalPlaces = function (value, places) {
|
|
68
|
-
return Math.round(value * Math.pow(10, places)) / Math.pow(10, places);
|
|
69
|
-
};
|
|
70
|
-
Utils.isLeapYear_ = function (dateIn) {
|
|
71
|
-
var year = dateIn.getUTCFullYear();
|
|
72
|
-
// eslint-disable-next-line no-bitwise
|
|
73
|
-
if ((year & 3) !== 0) {
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
return year % 100 !== 0 || year % 400 === 0;
|
|
77
|
-
};
|
|
78
|
-
Utils.sign_ = function (value) {
|
|
79
|
-
return value >= 0 ? 1 : -1;
|
|
80
|
-
};
|
|
81
|
-
Utils.MoonMath = MoonMath;
|
|
82
|
-
Utils.SunMath = SunMath;
|
|
83
|
-
Utils.Types = Types;
|
|
84
|
-
// eslint-disable-next-line max-params
|
|
85
|
-
Utils.jday = function (year, mon, day, hr, minute, sec) {
|
|
86
|
-
if (!year) {
|
|
87
|
-
var now = new Date();
|
|
88
|
-
var jDayStart = new Date(now.getUTCFullYear(), 0, 0);
|
|
89
|
-
var jDayDiff = now.getDate() - jDayStart.getDate();
|
|
90
|
-
return Math.floor(jDayDiff / DAY_TO_MS);
|
|
91
|
-
}
|
|
92
|
-
return (367.0 * year -
|
|
93
|
-
Math.floor(7 * (year + Math.floor((mon + 9) / 12.0)) * 0.25) +
|
|
94
|
-
Math.floor((275 * mon) / 9.0) +
|
|
95
|
-
day +
|
|
96
|
-
1721013.5 +
|
|
97
|
-
((sec / 60.0 + minute) / 60.0 + hr) / 24.0);
|
|
98
|
-
};
|
|
99
|
-
return Utils;
|
|
100
|
-
}());
|
|
101
|
-
export { Utils };
|
|
102
|
-
//# sourceMappingURL=utils.js.map
|
package/lib/utils/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
package/sandbox.html
DELETED
package/tsconfig.base.json
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"typeAcquisition": {
|
|
3
|
-
"enable": true
|
|
4
|
-
},
|
|
5
|
-
"compilerOptions": {
|
|
6
|
-
"target": "es5",
|
|
7
|
-
"module": "es6",
|
|
8
|
-
"lib": ["esnext"],
|
|
9
|
-
"declaration": true,
|
|
10
|
-
// "noImplicitAny": true,
|
|
11
|
-
// "removeComments": true,
|
|
12
|
-
"baseUrl": ".",
|
|
13
|
-
"paths": {
|
|
14
|
-
"@lib/*": ["lib/*"],
|
|
15
|
-
"@dist/*": ["dist/*"],
|
|
16
|
-
"@src/*": ["src/*"],
|
|
17
|
-
"@test/*": ["test/*"]
|
|
18
|
-
},
|
|
19
|
-
"allowJs": true,
|
|
20
|
-
"experimentalDecorators": true,
|
|
21
|
-
"rootDir": ".",
|
|
22
|
-
"sourceMap": true,
|
|
23
|
-
"listFiles": true,
|
|
24
|
-
"newLine": "LF",
|
|
25
|
-
"skipLibCheck": true,
|
|
26
|
-
// "noEmitOnError": true,
|
|
27
|
-
"types": ["jest", "node"],
|
|
28
|
-
"moduleResolution": "Node",
|
|
29
|
-
"esModuleInterop": true
|
|
30
|
-
}
|
|
31
|
-
}
|
package/tsconfig.build.json
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This is the tsconfig extension that only applies to webpack.
|
|
3
|
-
*/
|
|
4
|
-
{
|
|
5
|
-
"extends": "./tsconfig.base.json",
|
|
6
|
-
"compilerOptions": {
|
|
7
|
-
"outDir": "./lib" /* Redirect output structure to the directory. */,
|
|
8
|
-
"rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
|
9
|
-
},
|
|
10
|
-
"include": ["./src/**/*.ts"],
|
|
11
|
-
"filesGlob": ["./src/**/*.ts"],
|
|
12
|
-
"ignorePatterns": ["./src/sgp4/asc/**/*.ts"],
|
|
13
|
-
"exclude": ["./src/sgp4/asc/assembly/index.ts"]
|
|
14
|
-
}
|
|
File without changes
|