ootk 3.0.0 → 4.0.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/.eslintrc.json +10 -10
- package/CHANGELOG.md +122 -0
- package/README.md +27 -40
- package/lib/coordinate/Hill.d.ts +50 -0
- package/lib/coordinate/Hill.js +214 -0
- package/lib/coordinate/Hill.js.map +1 -0
- package/lib/coordinate/index.d.ts +1 -0
- package/lib/coordinate/index.js +2 -0
- package/lib/coordinate/index.js.map +1 -0
- package/lib/covariance/CovarianceSample.d.ts +44 -0
- package/lib/covariance/CovarianceSample.js +146 -0
- package/lib/covariance/CovarianceSample.js.map +1 -0
- package/lib/covariance/StateCovariance.d.ts +41 -0
- package/lib/covariance/StateCovariance.js +62 -0
- package/lib/covariance/StateCovariance.js.map +1 -0
- package/lib/force/AtmosphericDrag.d.ts +32 -0
- package/lib/force/AtmosphericDrag.js +66 -0
- package/lib/force/AtmosphericDrag.js.map +1 -0
- package/lib/force/EarthGravity.d.ts +28 -0
- package/lib/force/EarthGravity.js +115 -0
- package/lib/force/EarthGravity.js.map +1 -0
- package/{dist/ootk.d.ts → lib/force/Force.d.ts} +10 -10
- package/lib/force/Force.js +30 -0
- package/lib/force/Force.js.map +1 -0
- package/lib/force/ForceModel.d.ts +38 -0
- package/lib/force/ForceModel.js +71 -0
- package/lib/force/ForceModel.js.map +1 -0
- package/lib/force/Gravity.d.ts +41 -0
- package/lib/force/Gravity.js +48 -0
- package/lib/force/Gravity.js.map +1 -0
- package/lib/force/SolarRadiationPressure.d.ts +27 -0
- package/lib/force/SolarRadiationPressure.js +42 -0
- package/lib/force/SolarRadiationPressure.js.map +1 -0
- package/lib/force/ThirdBodyGravity.d.ts +27 -0
- package/lib/force/ThirdBodyGravity.js +56 -0
- package/lib/force/ThirdBodyGravity.js.map +1 -0
- package/lib/force/Thrust.d.ts +35 -0
- package/lib/force/Thrust.js +53 -0
- package/lib/force/Thrust.js.map +1 -0
- package/lib/interpolator/ChebyshevCoefficients.d.ts +54 -0
- package/lib/interpolator/ChebyshevCoefficients.js +90 -0
- package/lib/interpolator/ChebyshevCoefficients.js.map +1 -0
- package/lib/interpolator/ChebyshevInterpolator.d.ts +39 -0
- package/lib/interpolator/ChebyshevInterpolator.js +71 -0
- package/lib/interpolator/ChebyshevInterpolator.js.map +1 -0
- package/lib/interpolator/CubicSpline.d.ts +36 -0
- package/lib/interpolator/CubicSpline.js +64 -0
- package/lib/interpolator/CubicSpline.js.map +1 -0
- package/lib/interpolator/CubicSplineInterpolator.d.ts +37 -0
- package/lib/interpolator/CubicSplineInterpolator.js +78 -0
- package/lib/interpolator/CubicSplineInterpolator.js.map +1 -0
- package/lib/interpolator/FieldInterpolator.d.ts +26 -0
- package/lib/interpolator/FieldInterpolator.js +31 -0
- package/lib/interpolator/FieldInterpolator.js.map +1 -0
- package/lib/interpolator/Interpolator.d.ts +23 -0
- package/lib/interpolator/Interpolator.js +48 -0
- package/lib/interpolator/Interpolator.js.map +1 -0
- package/lib/interpolator/LagrangeInterpolator.d.ts +42 -0
- package/lib/interpolator/LagrangeInterpolator.js +156 -0
- package/lib/interpolator/LagrangeInterpolator.js.map +1 -0
- package/lib/interpolator/StateInterpolator.d.ts +29 -0
- package/lib/interpolator/StateInterpolator.js +37 -0
- package/lib/interpolator/StateInterpolator.js.map +1 -0
- package/lib/interpolator/VerletBlendInterpolator.d.ts +44 -0
- package/lib/interpolator/VerletBlendInterpolator.js +115 -0
- package/lib/interpolator/VerletBlendInterpolator.js.map +1 -0
- package/lib/maneuver/TwoBurnOrbitTransfer.d.ts +43 -0
- package/lib/maneuver/TwoBurnOrbitTransfer.js +62 -0
- package/lib/maneuver/TwoBurnOrbitTransfer.js.map +1 -0
- package/lib/maneuver/Waypoint.d.ts +66 -0
- package/lib/maneuver/Waypoint.js +152 -0
- package/lib/maneuver/Waypoint.js.map +1 -0
- package/lib/objects/DetailedSatellite.d.ts +94 -0
- package/lib/objects/DetailedSatellite.js +140 -0
- package/lib/objects/DetailedSatellite.js.map +1 -0
- package/lib/objects/DetailedSensor.d.ts +43 -0
- package/lib/objects/DetailedSensor.js +45 -0
- package/lib/objects/DetailedSensor.js.map +1 -0
- package/{dist/objects/space-object.d.ts → lib/objects/LandObject.d.ts} +19 -21
- package/lib/objects/LandObject.js +28 -0
- package/lib/objects/LandObject.js.map +1 -0
- package/lib/objects/Marker.d.ts +21 -0
- package/lib/objects/Marker.js +25 -0
- package/lib/objects/Marker.js.map +1 -0
- package/lib/objects/index.d.ts +5 -4
- package/lib/objects/index.js +5 -4
- package/lib/objects/index.js.map +1 -1
- package/lib/observation/Observation.d.ts +51 -0
- package/lib/observation/Observation.js +71 -0
- package/lib/observation/Observation.js.map +1 -0
- package/lib/observation/ObservationOptical.d.ts +47 -0
- package/lib/observation/ObservationOptical.js +101 -0
- package/lib/observation/ObservationOptical.js.map +1 -0
- package/lib/observation/ObservationRadar.d.ts +43 -0
- package/lib/observation/ObservationRadar.js +90 -0
- package/lib/observation/ObservationRadar.js.map +1 -0
- package/lib/observation/ObservationUtils.d.ts +21 -0
- package/lib/observation/ObservationUtils.js +33 -0
- package/lib/observation/ObservationUtils.js.map +1 -0
- package/lib/observation/PropagatorPairs.d.ts +31 -0
- package/lib/observation/PropagatorPairs.js +40 -0
- package/lib/observation/PropagatorPairs.js.map +1 -0
- package/lib/ootk.d.ts +10 -8
- package/lib/ootk.js +10 -8
- package/lib/ootk.js.map +1 -1
- package/lib/operations/BoxMuller.d.ts +41 -0
- package/lib/operations/BoxMuller.js +66 -0
- package/lib/operations/BoxMuller.js.map +1 -0
- package/lib/operations/EulerAngles.d.ts +50 -0
- package/lib/operations/EulerAngles.js +111 -0
- package/lib/operations/EulerAngles.js.map +1 -0
- package/lib/operations/Quaternion.d.ts +57 -0
- package/lib/operations/Quaternion.js +164 -0
- package/lib/operations/Quaternion.js.map +1 -0
- package/lib/operations/RandomGaussianSource.d.ts +25 -0
- package/lib/operations/RandomGaussianSource.js +43 -0
- package/lib/operations/RandomGaussianSource.js.map +1 -0
- package/lib/operations/index.d.ts +4 -0
- package/lib/operations/index.js +5 -0
- package/lib/operations/index.js.map +1 -0
- package/lib/optimize/ChebyshevCompressor.d.ts +31 -0
- package/lib/optimize/ChebyshevCompressor.js +80 -0
- package/lib/optimize/ChebyshevCompressor.js.map +1 -0
- package/lib/optimize/DownhillSimplex.d.ts +50 -0
- package/lib/optimize/DownhillSimplex.js +168 -0
- package/lib/optimize/DownhillSimplex.js.map +1 -0
- package/lib/optimize/GoldenSection.d.ts +33 -0
- package/lib/optimize/GoldenSection.js +49 -0
- package/lib/optimize/GoldenSection.js.map +1 -0
- package/lib/optimize/PolynomialRegression.d.ts +37 -0
- package/lib/optimize/PolynomialRegression.js +66 -0
- package/lib/optimize/PolynomialRegression.js.map +1 -0
- package/lib/optimize/PolynomicalRegressionResult.d.ts +28 -0
- package/lib/optimize/PolynomicalRegressionResult.js +32 -0
- package/lib/optimize/PolynomicalRegressionResult.js.map +1 -0
- package/lib/optimize/SimpleLinearRegression.d.ts +41 -0
- package/lib/optimize/SimpleLinearRegression.js +107 -0
- package/lib/optimize/SimpleLinearRegression.js.map +1 -0
- package/lib/optimize/SimplexEntry.d.ts +33 -0
- package/lib/optimize/SimplexEntry.js +39 -0
- package/lib/optimize/SimplexEntry.js.map +1 -0
- package/lib/orbit_determination/BatchLeastSquaresOD.d.ts +54 -0
- package/lib/orbit_determination/BatchLeastSquaresOD.js +118 -0
- package/lib/orbit_determination/BatchLeastSquaresOD.js.map +1 -0
- package/lib/orbit_determination/BatchLeastSquaresResult.d.ts +29 -0
- package/lib/orbit_determination/BatchLeastSquaresResult.js +31 -0
- package/lib/orbit_determination/BatchLeastSquaresResult.js.map +1 -0
- package/lib/orbit_determination/GibbsIOD.d.ts +33 -0
- package/lib/orbit_determination/GibbsIOD.js +70 -0
- package/lib/orbit_determination/GibbsIOD.js.map +1 -0
- package/lib/orbit_determination/GoodingIOD.d.ts +52 -0
- package/lib/orbit_determination/GoodingIOD.js +244 -0
- package/lib/orbit_determination/GoodingIOD.js.map +1 -0
- package/lib/{objects/space-object.d.ts → orbit_determination/HerrickGibbsIOD.d.ts} +17 -22
- package/lib/orbit_determination/HerrickGibbsIOD.js +49 -0
- package/lib/orbit_determination/HerrickGibbsIOD.js.map +1 -0
- package/lib/orbit_determination/LambertIOD.d.ts +46 -0
- package/lib/orbit_determination/LambertIOD.js +199 -0
- package/lib/orbit_determination/LambertIOD.js.map +1 -0
- package/lib/orbit_determination/ModifiedGoodingIOD.d.ts +41 -0
- package/lib/orbit_determination/ModifiedGoodingIOD.js +82 -0
- package/lib/orbit_determination/ModifiedGoodingIOD.js.map +1 -0
- package/lib/propagator/DormandPrince54Propagator.d.ts +29 -0
- package/lib/propagator/DormandPrince54Propagator.js +68 -0
- package/lib/propagator/DormandPrince54Propagator.js.map +1 -0
- package/lib/propagator/KeplerPropagator.d.ts +36 -0
- package/lib/propagator/KeplerPropagator.js +81 -0
- package/lib/propagator/KeplerPropagator.js.map +1 -0
- package/lib/propagator/Propagator.d.ts +35 -0
- package/lib/propagator/Propagator.js +163 -0
- package/lib/propagator/Propagator.js.map +1 -0
- package/lib/propagator/RkCheckpoint.d.ts +23 -0
- package/lib/propagator/RkCheckpoint.js +26 -0
- package/lib/propagator/RkCheckpoint.js.map +1 -0
- package/lib/propagator/RkResult.d.ts +24 -0
- package/lib/propagator/RkResult.js +28 -0
- package/lib/propagator/RkResult.js.map +1 -0
- package/lib/propagator/RungeKutta4Propagator.d.ts +46 -0
- package/lib/propagator/RungeKutta4Propagator.js +132 -0
- package/lib/propagator/RungeKutta4Propagator.js.map +1 -0
- package/lib/propagator/RungeKutta89Propagator.d.ts +29 -0
- package/lib/propagator/RungeKutta89Propagator.js +130 -0
- package/lib/propagator/RungeKutta89Propagator.js.map +1 -0
- package/lib/propagator/RungeKuttaAdaptive.d.ts +52 -0
- package/lib/propagator/RungeKuttaAdaptive.js +152 -0
- package/lib/propagator/RungeKuttaAdaptive.js.map +1 -0
- package/lib/propagator/Sgp4Propagator.d.ts +35 -0
- package/lib/propagator/Sgp4Propagator.js +55 -0
- package/lib/propagator/Sgp4Propagator.js.map +1 -0
- package/lib/smoothing/ExponentialSmoothing.d.ts +24 -0
- package/lib/smoothing/ExponentialSmoothing.js +82 -0
- package/lib/smoothing/ExponentialSmoothing.js.map +1 -0
- package/lib/types/types.d.ts +65 -584
- package/lib/types/types.js +21 -33
- package/lib/types/types.js.map +1 -1
- package/package.json +16 -14
- 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/index.d.ts +0 -4
- 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/transforms/transforms.d.ts +0 -94
- package/dist/types/types.d.ts +0 -605
- 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/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.d.ts +0 -66
- package/lib/objects/detailed-sat.js +0 -149
- package/lib/objects/detailed-sat.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/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/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
|
@@ -1,113 +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 MoonMath is a an extension to SunMath for calculating the position of the moon
|
|
7
|
-
* and its phases. This was originally created by Vladimir Agafonkin. Robert Gester's
|
|
8
|
-
* update was referenced for documentation. There were a couple of bugs in both versions
|
|
9
|
-
* so there will be some differences if you are migrating from either to this library.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* @license AGPL-3.0-or-later
|
|
13
|
-
* @Copyright (c) 2020-2023 Theodore Kruczek
|
|
14
|
-
*
|
|
15
|
-
* @Copyright (c) 2011-2015, Vladimir Agafonkin
|
|
16
|
-
* SunCalc is a JavaScript library for calculating sun/moon position and light phases.
|
|
17
|
-
* https://github.com/mourner/suncalc
|
|
18
|
-
*
|
|
19
|
-
* Reworked and enhanced by Robert Gester
|
|
20
|
-
* @Copyright (c) 2022 Robert Gester
|
|
21
|
-
* https://github.com/hypnos3/suncalc3
|
|
22
|
-
*
|
|
23
|
-
* moon calculations, based on http://aa.quae.nl/en/reken/hemelpositie.html formulas
|
|
24
|
-
*
|
|
25
|
-
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
26
|
-
* terms of the GNU Affero General Public License as published by the Free Software
|
|
27
|
-
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
28
|
-
*
|
|
29
|
-
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
30
|
-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
31
|
-
* See the GNU Affero General Public License for more details.
|
|
32
|
-
*
|
|
33
|
-
* You should have received a copy of the GNU Affero General Public License along with
|
|
34
|
-
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
35
|
-
*/
|
|
36
|
-
import { Degrees, Radians } from '../ootk';
|
|
37
|
-
type MoonIlluminationData = {
|
|
38
|
-
fraction: number;
|
|
39
|
-
phase: {
|
|
40
|
-
from: number;
|
|
41
|
-
to: number;
|
|
42
|
-
id: string;
|
|
43
|
-
emoji: string;
|
|
44
|
-
code: string;
|
|
45
|
-
name: string;
|
|
46
|
-
weight: number;
|
|
47
|
-
css: string;
|
|
48
|
-
};
|
|
49
|
-
phaseValue: number;
|
|
50
|
-
angle: number;
|
|
51
|
-
next: {
|
|
52
|
-
value: number;
|
|
53
|
-
date: string;
|
|
54
|
-
type: string;
|
|
55
|
-
newMoon: {
|
|
56
|
-
value: number;
|
|
57
|
-
date: string;
|
|
58
|
-
};
|
|
59
|
-
fullMoon: {
|
|
60
|
-
value: number;
|
|
61
|
-
date: string;
|
|
62
|
-
};
|
|
63
|
-
firstQuarter: {
|
|
64
|
-
value: number;
|
|
65
|
-
date: string;
|
|
66
|
-
};
|
|
67
|
-
thirdQuarter: {
|
|
68
|
-
value: number;
|
|
69
|
-
date: string;
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
export declare class MoonMath {
|
|
74
|
-
private static moonCycles_;
|
|
75
|
-
/**
|
|
76
|
-
* calculations for illumination parameters of the moon,
|
|
77
|
-
* based on http://idlastro.gsfc.nasa.gov/ftp/pro/astro/mphase.pro formulas and
|
|
78
|
-
* Chapter 48 of "Astronomical Algorithms" 2nd edition by Jean Meeus (Willmann-Bell, Richmond) 1998.
|
|
79
|
-
* @param {number | Date} date Date object or timestamp for calculating moon-illumination
|
|
80
|
-
* @return {MoonIlluminationData} result object of moon-illumination
|
|
81
|
-
*/
|
|
82
|
-
static getMoonIllumination(date: number | Date): MoonIlluminationData;
|
|
83
|
-
static getMoonPosition(date: Date, lat: Degrees, lon: Degrees): {
|
|
84
|
-
az: Radians;
|
|
85
|
-
el: Radians;
|
|
86
|
-
rng: number;
|
|
87
|
-
parallacticAngle: number;
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* calculations for moon rise/set times are based on http://www.stargazing.net/kepler/moonrise.html article
|
|
91
|
-
* @param {number|Date} dateValue Date object or timestamp for calculating moon-times
|
|
92
|
-
* @param {Degrees} lat latitude for calculating moon-times
|
|
93
|
-
* @param {Degrees} lon longitude for calculating moon-times
|
|
94
|
-
* @param {boolean} [isUtc] defines if the calculation should be in utc or local time (default is local)
|
|
95
|
-
* @return {IMoonTimes} result object of sunTime
|
|
96
|
-
*/
|
|
97
|
-
static getMoonTimes(dateValue: number | Date, lat: Degrees, lon: Degrees, isUtc?: boolean): {
|
|
98
|
-
rise: any;
|
|
99
|
-
set: any;
|
|
100
|
-
ye: any;
|
|
101
|
-
alwaysUp: any;
|
|
102
|
-
alwaysDown: any;
|
|
103
|
-
highest: any;
|
|
104
|
-
};
|
|
105
|
-
static hoursLater(date: Date, h: number): Date;
|
|
106
|
-
static moonCoords(d: any): {
|
|
107
|
-
ra: Radians;
|
|
108
|
-
dec: Radians;
|
|
109
|
-
dist: number;
|
|
110
|
-
};
|
|
111
|
-
private static calculateRiseSetTimes_;
|
|
112
|
-
}
|
|
113
|
-
export {};
|
package/dist/utils/sun-math.d.ts
DELETED
|
@@ -1,230 +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 SunMath is a collection of functions for calculating the position of the sun
|
|
7
|
-
* and other stars. This was originally created by Vladimir Agafonkin. Robert Gester's
|
|
8
|
-
* update was referenced for documentation. There were a couple of bugs in both versions
|
|
9
|
-
* so there will be some differences if you are migrating from either to this library.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* @license AGPL-3.0-or-later
|
|
13
|
-
* @Copyright (c) 2020-2023 Theodore Kruczek
|
|
14
|
-
*
|
|
15
|
-
* @Copyright (c) 2011-2015, Vladimir Agafonkin
|
|
16
|
-
* SunCalc is a JavaScript library for calculating sun/moon position and light phases.
|
|
17
|
-
* https://github.com/mourner/suncalc
|
|
18
|
-
*
|
|
19
|
-
* Reworked and enhanced by Robert Gester
|
|
20
|
-
* @Copyright (c) 2022 Robert Gester
|
|
21
|
-
* https://github.com/hypnos3/suncalc3
|
|
22
|
-
*
|
|
23
|
-
* sun calculations are based on http://aa.quae.nl/en/reken/zonpositie.html formulas
|
|
24
|
-
*
|
|
25
|
-
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
26
|
-
* terms of the GNU Affero General Public License as published by the Free Software
|
|
27
|
-
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
28
|
-
*
|
|
29
|
-
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
30
|
-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
31
|
-
* See the GNU Affero General Public License for more details.
|
|
32
|
-
*
|
|
33
|
-
* You should have received a copy of the GNU Affero General Public License along with
|
|
34
|
-
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
35
|
-
*/
|
|
36
|
-
import { Degrees, Radians } from '../ootk';
|
|
37
|
-
import { AzEl, Meters, SunTime } from '../types/types';
|
|
38
|
-
export declare class SunMath {
|
|
39
|
-
private static readonly J0_;
|
|
40
|
-
private static readonly J1970_;
|
|
41
|
-
private static readonly J2000_;
|
|
42
|
-
private static readonly e_;
|
|
43
|
-
private static times_;
|
|
44
|
-
/**
|
|
45
|
-
* approx transit
|
|
46
|
-
* @param {number} Ht - hourAngle
|
|
47
|
-
* @param {number} lw - rad * -lng
|
|
48
|
-
* @param {number} n - Julian cycle
|
|
49
|
-
* @returns {number} approx transit
|
|
50
|
-
*/
|
|
51
|
-
static approxTransit(Ht: number, lw: number, n: number): number;
|
|
52
|
-
/**
|
|
53
|
-
* get astro refraction
|
|
54
|
-
* @param {Radians} h - elevation
|
|
55
|
-
* @returns {number} refraction
|
|
56
|
-
*/
|
|
57
|
-
static astroRefraction(h: Radians): Radians;
|
|
58
|
-
/**
|
|
59
|
-
* get azimuth
|
|
60
|
-
* @param {number} H - siderealTime
|
|
61
|
-
* @param {Radians} phi - latitude
|
|
62
|
-
* @param {Radians} dec - The declination of the sun
|
|
63
|
-
* @returns {Radians} azimuth in rad
|
|
64
|
-
*/
|
|
65
|
-
static azimuth(H: number, phi: Radians, dec: Radians): Radians;
|
|
66
|
-
/**
|
|
67
|
-
* get number of days for a dateValue since 2000
|
|
68
|
-
*
|
|
69
|
-
* See: https://en.wikipedia.org/wiki/Epoch_(astronomy)
|
|
70
|
-
*
|
|
71
|
-
* @param {number} date date as timestamp to get days
|
|
72
|
-
* @return {number} count of days
|
|
73
|
-
*/
|
|
74
|
-
static date2jSince2000(date: Date): number;
|
|
75
|
-
/**
|
|
76
|
-
* get declination
|
|
77
|
-
* @param {number} l - ecliptic longitude
|
|
78
|
-
* @param {number} b - ecliptic latitude
|
|
79
|
-
* @returns {number} declination
|
|
80
|
-
*/
|
|
81
|
-
static declination(l: number, b: number): Radians;
|
|
82
|
-
/**
|
|
83
|
-
* ecliptic latitude
|
|
84
|
-
* @param {number} B - ?
|
|
85
|
-
* @returns {number} ecliptic latitude
|
|
86
|
-
*/
|
|
87
|
-
static eclipticLatitude(B: number): number;
|
|
88
|
-
/**
|
|
89
|
-
* ecliptic longitude
|
|
90
|
-
* @param {number} M - solar mean anomaly
|
|
91
|
-
* @returns {number} ecliptic longitude
|
|
92
|
-
*/
|
|
93
|
-
static eclipticLongitude(M: number): Radians;
|
|
94
|
-
/**
|
|
95
|
-
* get elevation (sometimes called altitude)
|
|
96
|
-
* @param {number} H - siderealTime
|
|
97
|
-
* @param {Radians} phi - latitude
|
|
98
|
-
* @param {Radians} dec - The declination of the sun
|
|
99
|
-
* @returns {Radians} elevation
|
|
100
|
-
*/
|
|
101
|
-
static elevation(H: number, phi: Radians, dec: Radians): Radians;
|
|
102
|
-
/**
|
|
103
|
-
* returns set time for the given sun altitude
|
|
104
|
-
* @param {number} h - heigh at 0
|
|
105
|
-
* @param {number} lw - rad * -lng
|
|
106
|
-
* @param {number} phi - rad * lat;
|
|
107
|
-
* @param {number} dec - declination
|
|
108
|
-
* @param {number} n - Julian cycle
|
|
109
|
-
* @param {number} M - solar mean anomal
|
|
110
|
-
* @param {number} L - ecliptic longitude
|
|
111
|
-
* @returns {number} set time
|
|
112
|
-
*/
|
|
113
|
-
static getSetJulian(h: Meters, lw: number, phi: number, dec: number, n: number, M: number, L: number): number;
|
|
114
|
-
/**
|
|
115
|
-
* Convert Date to Solar Date/Time
|
|
116
|
-
*
|
|
117
|
-
* Based on https://www.pveducation.org/pvcdrom/properties-of-sunlight/solar-time
|
|
118
|
-
*
|
|
119
|
-
* See: https://github.com/mourner/suncalc/pull/156
|
|
120
|
-
*
|
|
121
|
-
* @param {date} date - Date to calculate for
|
|
122
|
-
* @param {number} utcOffset - UTC offset in hours
|
|
123
|
-
* @param {Degrees} lon - Longitude in degrees
|
|
124
|
-
* @returns {Date} - Date Object in Solar Time
|
|
125
|
-
*/
|
|
126
|
-
static getSolarTime(date: Date, utcOffset: number, lon: number): Date;
|
|
127
|
-
static getStarAzEl(date: Date, lat: Degrees, lon: Degrees, ra: Radians, dec: Radians): AzEl;
|
|
128
|
-
static getSunAzEl(date: Date, lat: Degrees, lon: Degrees): AzEl;
|
|
129
|
-
static getSunRaDec(d: number): {
|
|
130
|
-
dec: Radians;
|
|
131
|
-
ra: Radians;
|
|
132
|
-
};
|
|
133
|
-
/**
|
|
134
|
-
* calculates time for a given azimuth angle for a given date and latitude/longitude
|
|
135
|
-
* @param {number|Date} dateValue Date object or timestamp for calculating sun-time
|
|
136
|
-
* @param {Degrees} lat latitude for calculating sun-time
|
|
137
|
-
* @param {Degrees} lon longitude for calculating sun-time
|
|
138
|
-
* @param {Radians | Degrees} az azimuth for calculating sun-time
|
|
139
|
-
* @param {boolean} [isDegrees] true if the az angle is in degree and not in rad
|
|
140
|
-
* @return {Date} result time of sun-time
|
|
141
|
-
*/
|
|
142
|
-
static getSunTimeByAzimuth(dateValue: any, lat: Degrees, lon: Degrees, az: Radians | Degrees, isDegrees?: boolean): Date;
|
|
143
|
-
/**
|
|
144
|
-
* calculates sun times for a given date and latitude/longitude
|
|
145
|
-
* @param {Date|number} dateVal Date object for calculating sun-times
|
|
146
|
-
* @param {number} lat latitude for calculating sun-times
|
|
147
|
-
* @param {number} lon longitude for calculating sun-times
|
|
148
|
-
* @param {number} [alt=0] the observer height (in meters) relative to the horizon
|
|
149
|
-
* @param {boolean} [isUtc=false] defines if the calculation should be in utc or local time (default is local)
|
|
150
|
-
* @return {SunTime} result object of sunTime
|
|
151
|
-
*/
|
|
152
|
-
static getTimes(dateVal: Date, lat: Degrees, lon: Degrees, alt?: Meters, isUtc?: boolean): SunTime;
|
|
153
|
-
/**
|
|
154
|
-
* hour angle
|
|
155
|
-
* @param {number} h - heigh at 0
|
|
156
|
-
* @param {number} phi - rad * lat;
|
|
157
|
-
* @param {number} dec - declination
|
|
158
|
-
* @returns {number} hour angle
|
|
159
|
-
*/
|
|
160
|
-
static hourAngle(h: number, phi: number, dec: number): number;
|
|
161
|
-
/**
|
|
162
|
-
* convert Julian calendar to date object
|
|
163
|
-
* @param {number} julian day number in Julian calendar to convert
|
|
164
|
-
* @return {number} result date as timestamp
|
|
165
|
-
*/
|
|
166
|
-
static julian2date(julian: number): Date;
|
|
167
|
-
/**
|
|
168
|
-
* Julian cycle
|
|
169
|
-
* @param {number} d - number of days
|
|
170
|
-
* @param {number} lw - rad * -lng;
|
|
171
|
-
* @returns {number} julian cycle
|
|
172
|
-
*/
|
|
173
|
-
static julianCyle(d: number, lw: number): number;
|
|
174
|
-
/**
|
|
175
|
-
* get right ascension
|
|
176
|
-
* @param {number} l - ecliptic longitude
|
|
177
|
-
* @param {number} b - ecliptic latitude
|
|
178
|
-
* @returns {number} right ascension
|
|
179
|
-
*/
|
|
180
|
-
static rightAscension(l: number, b: number): Radians;
|
|
181
|
-
/**
|
|
182
|
-
* side real time
|
|
183
|
-
* @param {number} d - julian day
|
|
184
|
-
* @param {Radians} lw - longitude of the observer
|
|
185
|
-
* @returns {number} sidereal time
|
|
186
|
-
*/
|
|
187
|
-
static siderealTime(d: number, lw: Radians): number;
|
|
188
|
-
/**
|
|
189
|
-
* solar transit in Julian
|
|
190
|
-
* @param {number} ds - approxTransit
|
|
191
|
-
* @param {number} M - solar mean anomal
|
|
192
|
-
* @param {number} L - ecliptic longitude
|
|
193
|
-
* @returns {number} solar transit in Julian
|
|
194
|
-
*/
|
|
195
|
-
static solarTransitJulian(ds: number, M: number, L: number): number;
|
|
196
|
-
private static calculateJnoon_;
|
|
197
|
-
/**
|
|
198
|
-
* get azimuth
|
|
199
|
-
* @param {number} H - siderealTime
|
|
200
|
-
* @param {Radians} phi - latitude
|
|
201
|
-
* @param {Radians} dec - The declination of the sun
|
|
202
|
-
* @returns {Radians} azimuth
|
|
203
|
-
*/
|
|
204
|
-
private static getAzimuth_;
|
|
205
|
-
/**
|
|
206
|
-
* returns set time for the given sun altitude
|
|
207
|
-
* @param {Meters} alt - altitude at 0
|
|
208
|
-
* @param {Radians} lw - -lng
|
|
209
|
-
* @param {Radians} phi - lat;
|
|
210
|
-
* @param {Radians} dec - declination
|
|
211
|
-
* @param {number} n - Julian cycle
|
|
212
|
-
* @param {number} M - solar mean anomal
|
|
213
|
-
* @param {number} L - ecliptic longitude
|
|
214
|
-
* @return {J2000Value} sunset time in days since 2000
|
|
215
|
-
*/
|
|
216
|
-
private static getSetJ_;
|
|
217
|
-
private static julianCycle_;
|
|
218
|
-
/**
|
|
219
|
-
* calculates the obderver angle
|
|
220
|
-
* @param {number} alt the observer altitude (in meters) relative to the horizon
|
|
221
|
-
* @returns {Degrees} height for further calculations
|
|
222
|
-
*/
|
|
223
|
-
private static observerAngle_;
|
|
224
|
-
/**
|
|
225
|
-
* get solar mean anomaly
|
|
226
|
-
* @param {number} d - julian day
|
|
227
|
-
* @returns {number} solar mean anomaly
|
|
228
|
-
*/
|
|
229
|
-
private static solarMeanAnomaly_;
|
|
230
|
-
}
|
package/dist/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 };
|
|
@@ -1,40 +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 BaseObject class is used for creating core properties and methods applicable
|
|
7
|
-
* to ground and space based objects.
|
|
8
|
-
*
|
|
9
|
-
* @license AGPL-3.0-or-later
|
|
10
|
-
* @Copyright (c) 2020-2023 Theodore Kruczek
|
|
11
|
-
*
|
|
12
|
-
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
13
|
-
* terms of the GNU Affero General Public License as published by the Free Software
|
|
14
|
-
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
17
|
-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
18
|
-
* See the GNU Affero General Public License for more details.
|
|
19
|
-
*
|
|
20
|
-
* You should have received a copy of the GNU Affero General Public License along with
|
|
21
|
-
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
22
|
-
*/
|
|
23
|
-
import { EciVec3, SpaceObjectType } from '../types/types';
|
|
24
|
-
interface ObjectInfo {
|
|
25
|
-
name?: string;
|
|
26
|
-
type?: SpaceObjectType;
|
|
27
|
-
position?: EciVec3;
|
|
28
|
-
time?: Date;
|
|
29
|
-
}
|
|
30
|
-
export declare class BaseObject {
|
|
31
|
-
name: string;
|
|
32
|
-
type: SpaceObjectType;
|
|
33
|
-
position: EciVec3;
|
|
34
|
-
time: Date;
|
|
35
|
-
constructor(info: ObjectInfo);
|
|
36
|
-
getName(): string;
|
|
37
|
-
getType(): SpaceObjectType;
|
|
38
|
-
getTypeString(): string;
|
|
39
|
-
}
|
|
40
|
-
export {};
|
|
@@ -1,79 +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 BaseObject class is used for creating core properties and methods applicable
|
|
7
|
-
* to ground and space based objects.
|
|
8
|
-
*
|
|
9
|
-
* @license AGPL-3.0-or-later
|
|
10
|
-
* @Copyright (c) 2020-2023 Theodore Kruczek
|
|
11
|
-
*
|
|
12
|
-
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
13
|
-
* terms of the GNU Affero General Public License as published by the Free Software
|
|
14
|
-
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
17
|
-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
18
|
-
* See the GNU Affero General Public License for more details.
|
|
19
|
-
*
|
|
20
|
-
* You should have received a copy of the GNU Affero General Public License along with
|
|
21
|
-
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
22
|
-
*/
|
|
23
|
-
import { SpaceObjectType } from '../types/types';
|
|
24
|
-
var BaseObject = /** @class */ (function () {
|
|
25
|
-
function BaseObject(info) {
|
|
26
|
-
this.type = info.type || SpaceObjectType.UNKNOWN;
|
|
27
|
-
this.name = info.name || 'Unknown';
|
|
28
|
-
this.position = info.position || {
|
|
29
|
-
x: 0,
|
|
30
|
-
y: 0,
|
|
31
|
-
z: 0,
|
|
32
|
-
}; // Default to the center of the earth until position is calculated
|
|
33
|
-
this.time = info.time || new Date();
|
|
34
|
-
}
|
|
35
|
-
BaseObject.prototype.getName = function () {
|
|
36
|
-
return this.name;
|
|
37
|
-
};
|
|
38
|
-
BaseObject.prototype.getType = function () {
|
|
39
|
-
return this.type;
|
|
40
|
-
};
|
|
41
|
-
BaseObject.prototype.getTypeString = function () {
|
|
42
|
-
var _a;
|
|
43
|
-
var typeToStringMap = (_a = {},
|
|
44
|
-
_a[SpaceObjectType.UNKNOWN] = 'Unknown',
|
|
45
|
-
_a[SpaceObjectType.PAYLOAD] = 'Payload',
|
|
46
|
-
_a[SpaceObjectType.ROCKET_BODY] = 'Rocket Body',
|
|
47
|
-
_a[SpaceObjectType.DEBRIS] = 'Debris',
|
|
48
|
-
_a[SpaceObjectType.SPECIAL] = 'Special',
|
|
49
|
-
_a[SpaceObjectType.RADAR_MEASUREMENT] = 'Radar Measurement',
|
|
50
|
-
_a[SpaceObjectType.RADAR_TRACK] = 'Radar Track',
|
|
51
|
-
_a[SpaceObjectType.RADAR_OBJECT] = 'Radar Object',
|
|
52
|
-
_a[SpaceObjectType.BALLISTIC_MISSILE] = 'Ballistic Missile',
|
|
53
|
-
_a[SpaceObjectType.STAR] = 'Star',
|
|
54
|
-
_a[SpaceObjectType.INTERGOVERNMENTAL_ORGANIZATION] = 'Intergovernmental Organization',
|
|
55
|
-
_a[SpaceObjectType.SUBORBITAL_PAYLOAD_OPERATOR] = 'Suborbital Payload Operator',
|
|
56
|
-
_a[SpaceObjectType.PAYLOAD_OWNER] = 'Payload Owner',
|
|
57
|
-
_a[SpaceObjectType.METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER] = 'Meteorological Rocket Launch Agency or Manufacturer',
|
|
58
|
-
_a[SpaceObjectType.PAYLOAD_MANUFACTURER] = 'Payload Manufacturer',
|
|
59
|
-
_a[SpaceObjectType.LAUNCH_AGENCY] = 'Launch Agency',
|
|
60
|
-
_a[SpaceObjectType.LAUNCH_SITE] = 'Launch Site',
|
|
61
|
-
_a[SpaceObjectType.LAUNCH_POSITION] = 'Launch Position',
|
|
62
|
-
_a[SpaceObjectType.LAUNCH_FACILITY] = 'Launch Facility',
|
|
63
|
-
_a[SpaceObjectType.CONTROL_FACILITY] = 'Control Facility',
|
|
64
|
-
_a[SpaceObjectType.GROUND_SENSOR_STATION] = 'Ground Sensor Station',
|
|
65
|
-
_a[SpaceObjectType.OPTICAL] = 'Optical',
|
|
66
|
-
_a[SpaceObjectType.MECHANICAL] = 'Mechanical',
|
|
67
|
-
_a[SpaceObjectType.PHASED_ARRAY_RADAR] = 'Phased Array Radar',
|
|
68
|
-
_a[SpaceObjectType.OBSERVER] = 'Observer',
|
|
69
|
-
_a[SpaceObjectType.BISTATIC_RADIO_TELESCOPE] = 'Bistatic Radio Telescope',
|
|
70
|
-
_a[SpaceObjectType.COUNTRY] = 'Country',
|
|
71
|
-
_a[SpaceObjectType.LAUNCH_VEHICLE_MANUFACTURER] = 'Launch Vehicle Manufacturer',
|
|
72
|
-
_a[SpaceObjectType.ENGINE_MANUFACTURER] = 'Engine Manufacturer',
|
|
73
|
-
_a);
|
|
74
|
-
return typeToStringMap[this.type] || 'Unknown';
|
|
75
|
-
};
|
|
76
|
-
return BaseObject;
|
|
77
|
-
}());
|
|
78
|
-
export { BaseObject };
|
|
79
|
-
//# sourceMappingURL=base-object.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-object.js","sourceRoot":"","sources":["../../src/objects/base-object.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAuB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAStE;IAME,oBAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,OAAO,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QAEnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI;YAC/B,CAAC,EAAc,CAAC;YAChB,CAAC,EAAc,CAAC;YAChB,CAAC,EAAc,CAAC;SACjB,CAAC,CAAC,kEAAkE;QAErE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;IACtC,CAAC;IAEM,4BAAO,GAAd;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,4BAAO,GAAd;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,kCAAa,GAApB;;QACE,IAAM,eAAe;YACnB,GAAC,eAAe,CAAC,OAAO,IAAG,SAAS;YACpC,GAAC,eAAe,CAAC,OAAO,IAAG,SAAS;YACpC,GAAC,eAAe,CAAC,WAAW,IAAG,aAAa;YAC5C,GAAC,eAAe,CAAC,MAAM,IAAG,QAAQ;YAClC,GAAC,eAAe,CAAC,OAAO,IAAG,SAAS;YACpC,GAAC,eAAe,CAAC,iBAAiB,IAAG,mBAAmB;YACxD,GAAC,eAAe,CAAC,WAAW,IAAG,aAAa;YAC5C,GAAC,eAAe,CAAC,YAAY,IAAG,cAAc;YAC9C,GAAC,eAAe,CAAC,iBAAiB,IAAG,mBAAmB;YACxD,GAAC,eAAe,CAAC,IAAI,IAAG,MAAM;YAC9B,GAAC,eAAe,CAAC,8BAA8B,IAAG,gCAAgC;YAClF,GAAC,eAAe,CAAC,2BAA2B,IAAG,6BAA6B;YAC5E,GAAC,eAAe,CAAC,aAAa,IAAG,eAAe;YAChD,GAAC,eAAe,CAAC,mDAAmD,IAClE,qDAAqD;YACvD,GAAC,eAAe,CAAC,oBAAoB,IAAG,sBAAsB;YAC9D,GAAC,eAAe,CAAC,aAAa,IAAG,eAAe;YAChD,GAAC,eAAe,CAAC,WAAW,IAAG,aAAa;YAC5C,GAAC,eAAe,CAAC,eAAe,IAAG,iBAAiB;YACpD,GAAC,eAAe,CAAC,eAAe,IAAG,iBAAiB;YACpD,GAAC,eAAe,CAAC,gBAAgB,IAAG,kBAAkB;YACtD,GAAC,eAAe,CAAC,qBAAqB,IAAG,uBAAuB;YAChE,GAAC,eAAe,CAAC,OAAO,IAAG,SAAS;YACpC,GAAC,eAAe,CAAC,UAAU,IAAG,YAAY;YAC1C,GAAC,eAAe,CAAC,kBAAkB,IAAG,oBAAoB;YAC1D,GAAC,eAAe,CAAC,QAAQ,IAAG,UAAU;YACtC,GAAC,eAAe,CAAC,wBAAwB,IAAG,0BAA0B;YACtE,GAAC,eAAe,CAAC,OAAO,IAAG,SAAS;YACpC,GAAC,eAAe,CAAC,2BAA2B,IAAG,6BAA6B;YAC5E,GAAC,eAAe,CAAC,mBAAmB,IAAG,qBAAqB;eAC7D,CAAC;QAEF,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACjD,CAAC;IACH,iBAAC;AAAD,CAAC,AA/DD,IA+DC"}
|
|
@@ -1,66 +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 DetailedSat class is an extension of the Sat class that provides additional
|
|
7
|
-
* properties for categorizing and filtering satellites.
|
|
8
|
-
*
|
|
9
|
-
* @license AGPL-3.0-or-later
|
|
10
|
-
* @Copyright (c) 2020-2023 Theodore Kruczek
|
|
11
|
-
*
|
|
12
|
-
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
13
|
-
* terms of the GNU Affero General Public License as published by the Free Software
|
|
14
|
-
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
17
|
-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
18
|
-
* See the GNU Affero General Public License for more details.
|
|
19
|
-
*
|
|
20
|
-
* You should have received a copy of the GNU Affero General Public License along with
|
|
21
|
-
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
22
|
-
*/
|
|
23
|
-
import { LaunchDetails, OperationsDetails, SpaceCraftDetails, SpaceObjectType, TleLine1, TleLine2 } from '../types/types';
|
|
24
|
-
import { Sat } from './sat';
|
|
25
|
-
interface ObjectInfo {
|
|
26
|
-
name?: string;
|
|
27
|
-
type?: SpaceObjectType;
|
|
28
|
-
rcs?: number;
|
|
29
|
-
vmag?: number;
|
|
30
|
-
tle1: TleLine1;
|
|
31
|
-
tle2: TleLine2;
|
|
32
|
-
}
|
|
33
|
-
export declare class DetailedSat extends Sat {
|
|
34
|
-
launchDate: string;
|
|
35
|
-
launchMass: string;
|
|
36
|
-
launchSite: string;
|
|
37
|
-
launchVehicle: string;
|
|
38
|
-
lifetime: string | number;
|
|
39
|
-
maneuver: string;
|
|
40
|
-
manufacturer: string;
|
|
41
|
-
motor: string;
|
|
42
|
-
power: string;
|
|
43
|
-
payload: string;
|
|
44
|
-
purpose: string;
|
|
45
|
-
shape: string;
|
|
46
|
-
span: string;
|
|
47
|
-
user: string;
|
|
48
|
-
mission: string;
|
|
49
|
-
owner: string;
|
|
50
|
-
configuration: string;
|
|
51
|
-
equipment: string;
|
|
52
|
-
dryMass: string;
|
|
53
|
-
country: string;
|
|
54
|
-
constructor(info: ObjectInfo, options: any, details: {
|
|
55
|
-
launchDetails: LaunchDetails;
|
|
56
|
-
spaceCraftDetails: SpaceCraftDetails;
|
|
57
|
-
operationsDetails: OperationsDetails;
|
|
58
|
-
});
|
|
59
|
-
setLaunchDetails(details: LaunchDetails): void;
|
|
60
|
-
getLaunchDetails(): LaunchDetails;
|
|
61
|
-
setSpaceCraftDetails(details: SpaceCraftDetails): void;
|
|
62
|
-
getSpaceCraftDetails(): SpaceCraftDetails;
|
|
63
|
-
setOperationsDetails(details: OperationsDetails): void;
|
|
64
|
-
getOperationsDetails(): OperationsDetails;
|
|
65
|
-
}
|
|
66
|
-
export {};
|