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.
Files changed (261) hide show
  1. package/.eslintrc.json +10 -10
  2. package/CHANGELOG.md +122 -0
  3. package/README.md +27 -40
  4. package/lib/coordinate/Hill.d.ts +50 -0
  5. package/lib/coordinate/Hill.js +214 -0
  6. package/lib/coordinate/Hill.js.map +1 -0
  7. package/lib/coordinate/index.d.ts +1 -0
  8. package/lib/coordinate/index.js +2 -0
  9. package/lib/coordinate/index.js.map +1 -0
  10. package/lib/covariance/CovarianceSample.d.ts +44 -0
  11. package/lib/covariance/CovarianceSample.js +146 -0
  12. package/lib/covariance/CovarianceSample.js.map +1 -0
  13. package/lib/covariance/StateCovariance.d.ts +41 -0
  14. package/lib/covariance/StateCovariance.js +62 -0
  15. package/lib/covariance/StateCovariance.js.map +1 -0
  16. package/lib/force/AtmosphericDrag.d.ts +32 -0
  17. package/lib/force/AtmosphericDrag.js +66 -0
  18. package/lib/force/AtmosphericDrag.js.map +1 -0
  19. package/lib/force/EarthGravity.d.ts +28 -0
  20. package/lib/force/EarthGravity.js +115 -0
  21. package/lib/force/EarthGravity.js.map +1 -0
  22. package/{dist/ootk.d.ts → lib/force/Force.d.ts} +10 -10
  23. package/lib/force/Force.js +30 -0
  24. package/lib/force/Force.js.map +1 -0
  25. package/lib/force/ForceModel.d.ts +38 -0
  26. package/lib/force/ForceModel.js +71 -0
  27. package/lib/force/ForceModel.js.map +1 -0
  28. package/lib/force/Gravity.d.ts +41 -0
  29. package/lib/force/Gravity.js +48 -0
  30. package/lib/force/Gravity.js.map +1 -0
  31. package/lib/force/SolarRadiationPressure.d.ts +27 -0
  32. package/lib/force/SolarRadiationPressure.js +42 -0
  33. package/lib/force/SolarRadiationPressure.js.map +1 -0
  34. package/lib/force/ThirdBodyGravity.d.ts +27 -0
  35. package/lib/force/ThirdBodyGravity.js +56 -0
  36. package/lib/force/ThirdBodyGravity.js.map +1 -0
  37. package/lib/force/Thrust.d.ts +35 -0
  38. package/lib/force/Thrust.js +53 -0
  39. package/lib/force/Thrust.js.map +1 -0
  40. package/lib/interpolator/ChebyshevCoefficients.d.ts +54 -0
  41. package/lib/interpolator/ChebyshevCoefficients.js +90 -0
  42. package/lib/interpolator/ChebyshevCoefficients.js.map +1 -0
  43. package/lib/interpolator/ChebyshevInterpolator.d.ts +39 -0
  44. package/lib/interpolator/ChebyshevInterpolator.js +71 -0
  45. package/lib/interpolator/ChebyshevInterpolator.js.map +1 -0
  46. package/lib/interpolator/CubicSpline.d.ts +36 -0
  47. package/lib/interpolator/CubicSpline.js +64 -0
  48. package/lib/interpolator/CubicSpline.js.map +1 -0
  49. package/lib/interpolator/CubicSplineInterpolator.d.ts +37 -0
  50. package/lib/interpolator/CubicSplineInterpolator.js +78 -0
  51. package/lib/interpolator/CubicSplineInterpolator.js.map +1 -0
  52. package/lib/interpolator/FieldInterpolator.d.ts +26 -0
  53. package/lib/interpolator/FieldInterpolator.js +31 -0
  54. package/lib/interpolator/FieldInterpolator.js.map +1 -0
  55. package/lib/interpolator/Interpolator.d.ts +23 -0
  56. package/lib/interpolator/Interpolator.js +48 -0
  57. package/lib/interpolator/Interpolator.js.map +1 -0
  58. package/lib/interpolator/LagrangeInterpolator.d.ts +42 -0
  59. package/lib/interpolator/LagrangeInterpolator.js +156 -0
  60. package/lib/interpolator/LagrangeInterpolator.js.map +1 -0
  61. package/lib/interpolator/StateInterpolator.d.ts +29 -0
  62. package/lib/interpolator/StateInterpolator.js +37 -0
  63. package/lib/interpolator/StateInterpolator.js.map +1 -0
  64. package/lib/interpolator/VerletBlendInterpolator.d.ts +44 -0
  65. package/lib/interpolator/VerletBlendInterpolator.js +115 -0
  66. package/lib/interpolator/VerletBlendInterpolator.js.map +1 -0
  67. package/lib/maneuver/TwoBurnOrbitTransfer.d.ts +43 -0
  68. package/lib/maneuver/TwoBurnOrbitTransfer.js +62 -0
  69. package/lib/maneuver/TwoBurnOrbitTransfer.js.map +1 -0
  70. package/lib/maneuver/Waypoint.d.ts +66 -0
  71. package/lib/maneuver/Waypoint.js +152 -0
  72. package/lib/maneuver/Waypoint.js.map +1 -0
  73. package/lib/objects/DetailedSatellite.d.ts +94 -0
  74. package/lib/objects/DetailedSatellite.js +140 -0
  75. package/lib/objects/DetailedSatellite.js.map +1 -0
  76. package/lib/objects/DetailedSensor.d.ts +43 -0
  77. package/lib/objects/DetailedSensor.js +45 -0
  78. package/lib/objects/DetailedSensor.js.map +1 -0
  79. package/{dist/objects/space-object.d.ts → lib/objects/LandObject.d.ts} +19 -21
  80. package/lib/objects/LandObject.js +28 -0
  81. package/lib/objects/LandObject.js.map +1 -0
  82. package/lib/objects/Marker.d.ts +21 -0
  83. package/lib/objects/Marker.js +25 -0
  84. package/lib/objects/Marker.js.map +1 -0
  85. package/lib/objects/index.d.ts +5 -4
  86. package/lib/objects/index.js +5 -4
  87. package/lib/objects/index.js.map +1 -1
  88. package/lib/observation/Observation.d.ts +51 -0
  89. package/lib/observation/Observation.js +71 -0
  90. package/lib/observation/Observation.js.map +1 -0
  91. package/lib/observation/ObservationOptical.d.ts +47 -0
  92. package/lib/observation/ObservationOptical.js +101 -0
  93. package/lib/observation/ObservationOptical.js.map +1 -0
  94. package/lib/observation/ObservationRadar.d.ts +43 -0
  95. package/lib/observation/ObservationRadar.js +90 -0
  96. package/lib/observation/ObservationRadar.js.map +1 -0
  97. package/lib/observation/ObservationUtils.d.ts +21 -0
  98. package/lib/observation/ObservationUtils.js +33 -0
  99. package/lib/observation/ObservationUtils.js.map +1 -0
  100. package/lib/observation/PropagatorPairs.d.ts +31 -0
  101. package/lib/observation/PropagatorPairs.js +40 -0
  102. package/lib/observation/PropagatorPairs.js.map +1 -0
  103. package/lib/ootk.d.ts +10 -8
  104. package/lib/ootk.js +10 -8
  105. package/lib/ootk.js.map +1 -1
  106. package/lib/operations/BoxMuller.d.ts +41 -0
  107. package/lib/operations/BoxMuller.js +66 -0
  108. package/lib/operations/BoxMuller.js.map +1 -0
  109. package/lib/operations/EulerAngles.d.ts +50 -0
  110. package/lib/operations/EulerAngles.js +111 -0
  111. package/lib/operations/EulerAngles.js.map +1 -0
  112. package/lib/operations/Quaternion.d.ts +57 -0
  113. package/lib/operations/Quaternion.js +164 -0
  114. package/lib/operations/Quaternion.js.map +1 -0
  115. package/lib/operations/RandomGaussianSource.d.ts +25 -0
  116. package/lib/operations/RandomGaussianSource.js +43 -0
  117. package/lib/operations/RandomGaussianSource.js.map +1 -0
  118. package/lib/operations/index.d.ts +4 -0
  119. package/lib/operations/index.js +5 -0
  120. package/lib/operations/index.js.map +1 -0
  121. package/lib/optimize/ChebyshevCompressor.d.ts +31 -0
  122. package/lib/optimize/ChebyshevCompressor.js +80 -0
  123. package/lib/optimize/ChebyshevCompressor.js.map +1 -0
  124. package/lib/optimize/DownhillSimplex.d.ts +50 -0
  125. package/lib/optimize/DownhillSimplex.js +168 -0
  126. package/lib/optimize/DownhillSimplex.js.map +1 -0
  127. package/lib/optimize/GoldenSection.d.ts +33 -0
  128. package/lib/optimize/GoldenSection.js +49 -0
  129. package/lib/optimize/GoldenSection.js.map +1 -0
  130. package/lib/optimize/PolynomialRegression.d.ts +37 -0
  131. package/lib/optimize/PolynomialRegression.js +66 -0
  132. package/lib/optimize/PolynomialRegression.js.map +1 -0
  133. package/lib/optimize/PolynomicalRegressionResult.d.ts +28 -0
  134. package/lib/optimize/PolynomicalRegressionResult.js +32 -0
  135. package/lib/optimize/PolynomicalRegressionResult.js.map +1 -0
  136. package/lib/optimize/SimpleLinearRegression.d.ts +41 -0
  137. package/lib/optimize/SimpleLinearRegression.js +107 -0
  138. package/lib/optimize/SimpleLinearRegression.js.map +1 -0
  139. package/lib/optimize/SimplexEntry.d.ts +33 -0
  140. package/lib/optimize/SimplexEntry.js +39 -0
  141. package/lib/optimize/SimplexEntry.js.map +1 -0
  142. package/lib/orbit_determination/BatchLeastSquaresOD.d.ts +54 -0
  143. package/lib/orbit_determination/BatchLeastSquaresOD.js +118 -0
  144. package/lib/orbit_determination/BatchLeastSquaresOD.js.map +1 -0
  145. package/lib/orbit_determination/BatchLeastSquaresResult.d.ts +29 -0
  146. package/lib/orbit_determination/BatchLeastSquaresResult.js +31 -0
  147. package/lib/orbit_determination/BatchLeastSquaresResult.js.map +1 -0
  148. package/lib/orbit_determination/GibbsIOD.d.ts +33 -0
  149. package/lib/orbit_determination/GibbsIOD.js +70 -0
  150. package/lib/orbit_determination/GibbsIOD.js.map +1 -0
  151. package/lib/orbit_determination/GoodingIOD.d.ts +52 -0
  152. package/lib/orbit_determination/GoodingIOD.js +244 -0
  153. package/lib/orbit_determination/GoodingIOD.js.map +1 -0
  154. package/lib/{objects/space-object.d.ts → orbit_determination/HerrickGibbsIOD.d.ts} +17 -22
  155. package/lib/orbit_determination/HerrickGibbsIOD.js +49 -0
  156. package/lib/orbit_determination/HerrickGibbsIOD.js.map +1 -0
  157. package/lib/orbit_determination/LambertIOD.d.ts +46 -0
  158. package/lib/orbit_determination/LambertIOD.js +199 -0
  159. package/lib/orbit_determination/LambertIOD.js.map +1 -0
  160. package/lib/orbit_determination/ModifiedGoodingIOD.d.ts +41 -0
  161. package/lib/orbit_determination/ModifiedGoodingIOD.js +82 -0
  162. package/lib/orbit_determination/ModifiedGoodingIOD.js.map +1 -0
  163. package/lib/propagator/DormandPrince54Propagator.d.ts +29 -0
  164. package/lib/propagator/DormandPrince54Propagator.js +68 -0
  165. package/lib/propagator/DormandPrince54Propagator.js.map +1 -0
  166. package/lib/propagator/KeplerPropagator.d.ts +36 -0
  167. package/lib/propagator/KeplerPropagator.js +81 -0
  168. package/lib/propagator/KeplerPropagator.js.map +1 -0
  169. package/lib/propagator/Propagator.d.ts +35 -0
  170. package/lib/propagator/Propagator.js +163 -0
  171. package/lib/propagator/Propagator.js.map +1 -0
  172. package/lib/propagator/RkCheckpoint.d.ts +23 -0
  173. package/lib/propagator/RkCheckpoint.js +26 -0
  174. package/lib/propagator/RkCheckpoint.js.map +1 -0
  175. package/lib/propagator/RkResult.d.ts +24 -0
  176. package/lib/propagator/RkResult.js +28 -0
  177. package/lib/propagator/RkResult.js.map +1 -0
  178. package/lib/propagator/RungeKutta4Propagator.d.ts +46 -0
  179. package/lib/propagator/RungeKutta4Propagator.js +132 -0
  180. package/lib/propagator/RungeKutta4Propagator.js.map +1 -0
  181. package/lib/propagator/RungeKutta89Propagator.d.ts +29 -0
  182. package/lib/propagator/RungeKutta89Propagator.js +130 -0
  183. package/lib/propagator/RungeKutta89Propagator.js.map +1 -0
  184. package/lib/propagator/RungeKuttaAdaptive.d.ts +52 -0
  185. package/lib/propagator/RungeKuttaAdaptive.js +152 -0
  186. package/lib/propagator/RungeKuttaAdaptive.js.map +1 -0
  187. package/lib/propagator/Sgp4Propagator.d.ts +35 -0
  188. package/lib/propagator/Sgp4Propagator.js +55 -0
  189. package/lib/propagator/Sgp4Propagator.js.map +1 -0
  190. package/lib/smoothing/ExponentialSmoothing.d.ts +24 -0
  191. package/lib/smoothing/ExponentialSmoothing.js +82 -0
  192. package/lib/smoothing/ExponentialSmoothing.js.map +1 -0
  193. package/lib/types/types.d.ts +65 -584
  194. package/lib/types/types.js +21 -33
  195. package/lib/types/types.js.map +1 -1
  196. package/package.json +16 -14
  197. package/.prettierrc +0 -17
  198. package/babel.config.js +0 -16
  199. package/codecov.yml +0 -21
  200. package/dist/objects/base-object.d.ts +0 -40
  201. package/dist/objects/detailed-sat.d.ts +0 -66
  202. package/dist/objects/index.d.ts +0 -4
  203. package/dist/objects/sat.d.ts +0 -92
  204. package/dist/objects/sensor.d.ts +0 -93
  205. package/dist/objects/star.d.ts +0 -46
  206. package/dist/ootk.js +0 -2
  207. package/dist/ootk.js.LICENSE.txt +0 -77
  208. package/dist/sgp4/sgp4.d.ts +0 -82
  209. package/dist/tle/tle-format-data.d.ts +0 -6
  210. package/dist/tle/tle.d.ts +0 -375
  211. package/dist/transforms/transforms.d.ts +0 -94
  212. package/dist/types/types.d.ts +0 -605
  213. package/dist/utils/constants.d.ts +0 -34
  214. package/dist/utils/moon-math.d.ts +0 -113
  215. package/dist/utils/sun-math.d.ts +0 -230
  216. package/dist/utils/utils.d.ts +0 -39
  217. package/lib/objects/base-object.d.ts +0 -40
  218. package/lib/objects/base-object.js +0 -79
  219. package/lib/objects/base-object.js.map +0 -1
  220. package/lib/objects/detailed-sat.d.ts +0 -66
  221. package/lib/objects/detailed-sat.js +0 -149
  222. package/lib/objects/detailed-sat.js.map +0 -1
  223. package/lib/objects/sat.d.ts +0 -92
  224. package/lib/objects/sat.js +0 -188
  225. package/lib/objects/sat.js.map +0 -1
  226. package/lib/objects/sensor.d.ts +0 -93
  227. package/lib/objects/sensor.js +0 -273
  228. package/lib/objects/sensor.js.map +0 -1
  229. package/lib/objects/space-object.js +0 -60
  230. package/lib/objects/space-object.js.map +0 -1
  231. package/lib/objects/star.d.ts +0 -46
  232. package/lib/objects/star.js +0 -91
  233. package/lib/objects/star.js.map +0 -1
  234. package/lib/sgp4/sgp4.d.ts +0 -82
  235. package/lib/sgp4/sgp4.js +0 -3262
  236. package/lib/sgp4/sgp4.js.map +0 -1
  237. package/lib/tle/tle-format-data.d.ts +0 -6
  238. package/lib/tle/tle-format-data.js +0 -10
  239. package/lib/tle/tle-format-data.js.map +0 -1
  240. package/lib/tle/tle.d.ts +0 -375
  241. package/lib/tle/tle.js +0 -611
  242. package/lib/tle/tle.js.map +0 -1
  243. package/lib/transforms/transforms.d.ts +0 -94
  244. package/lib/transforms/transforms.js +0 -308
  245. package/lib/transforms/transforms.js.map +0 -1
  246. package/lib/utils/constants.d.ts +0 -34
  247. package/lib/utils/constants.js +0 -35
  248. package/lib/utils/constants.js.map +0 -1
  249. package/lib/utils/moon-math.d.ts +0 -113
  250. package/lib/utils/moon-math.js +0 -387
  251. package/lib/utils/moon-math.js.map +0 -1
  252. package/lib/utils/sun-math.d.ts +0 -230
  253. package/lib/utils/sun-math.js +0 -422
  254. package/lib/utils/sun-math.js.map +0 -1
  255. package/lib/utils/utils.d.ts +0 -39
  256. package/lib/utils/utils.js +0 -102
  257. package/lib/utils/utils.js.map +0 -1
  258. package/sandbox.html +0 -8
  259. package/tsconfig.base.json +0 -31
  260. package/tsconfig.build.json +0 -14
  261. /package/{LICENSE.MD → LICENSE.md} +0 -0
@@ -1,422 +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 { DEG2RAD, MS_PER_DAY } from './constants';
37
- var TAU = Math.PI * 2; // https://tauday.com/tau-manifesto
38
- var SunMath = /** @class */ (function () {
39
- function SunMath() {
40
- }
41
- /**
42
- * approx transit
43
- * @param {number} Ht - hourAngle
44
- * @param {number} lw - rad * -lng
45
- * @param {number} n - Julian cycle
46
- * @returns {number} approx transit
47
- */
48
- SunMath.approxTransit = function (Ht, lw, n) {
49
- return SunMath.J0_ + (Ht + lw) / TAU + n;
50
- };
51
- /**
52
- * get astro refraction
53
- * @param {Radians} h - elevation
54
- * @returns {number} refraction
55
- */
56
- SunMath.astroRefraction = function (h) {
57
- if (h < 0) {
58
- h = 0;
59
- }
60
- return (0.0002967 / Math.tan(h + 0.00312536 / (h + 0.08901179)));
61
- };
62
- /**
63
- * get azimuth
64
- * @param {number} H - siderealTime
65
- * @param {Radians} phi - latitude
66
- * @param {Radians} dec - The declination of the sun
67
- * @returns {Radians} azimuth in rad
68
- */
69
- SunMath.azimuth = function (H, phi, dec) {
70
- return (Math.PI + Math.atan2(Math.sin(H), Math.cos(H) * Math.sin(phi) - Math.tan(dec) * Math.cos(phi)));
71
- };
72
- /**
73
- * get number of days for a dateValue since 2000
74
- *
75
- * See: https://en.wikipedia.org/wiki/Epoch_(astronomy)
76
- *
77
- * @param {number} date date as timestamp to get days
78
- * @return {number} count of days
79
- */
80
- SunMath.date2jSince2000 = function (date) {
81
- return date.getTime() / MS_PER_DAY + SunMath.J1970_ - SunMath.J2000_;
82
- };
83
- /**
84
- * get declination
85
- * @param {number} l - ecliptic longitude
86
- * @param {number} b - ecliptic latitude
87
- * @returns {number} declination
88
- */
89
- SunMath.declination = function (l, b) {
90
- return Math.asin(Math.sin(b) * Math.cos(SunMath.e_) + Math.cos(b) * Math.sin(SunMath.e_) * Math.sin(l));
91
- };
92
- /**
93
- * ecliptic latitude
94
- * @param {number} B - ?
95
- * @returns {number} ecliptic latitude
96
- */
97
- SunMath.eclipticLatitude = function (B) {
98
- var C = TAU / 360;
99
- var L = B - 0.00569 - 0.00478 * Math.sin(C * B);
100
- return TAU * (L + 0.0003 * Math.sin(C * 2 * L));
101
- };
102
- /**
103
- * ecliptic longitude
104
- * @param {number} M - solar mean anomaly
105
- * @returns {number} ecliptic longitude
106
- */
107
- SunMath.eclipticLongitude = function (M) {
108
- var C = DEG2RAD * (1.9148 * Math.sin(M) + 0.02 * Math.sin(2 * M) + 0.0003 * Math.sin(3 * M));
109
- var P = DEG2RAD * 102.9372; // perihelion of Earth
110
- return (M + C + P + Math.PI); // Sun's mean longitude
111
- };
112
- /**
113
- * get elevation (sometimes called altitude)
114
- * @param {number} H - siderealTime
115
- * @param {Radians} phi - latitude
116
- * @param {Radians} dec - The declination of the sun
117
- * @returns {Radians} elevation
118
- */
119
- SunMath.elevation = function (H, phi, dec) {
120
- return Math.asin(Math.sin(phi) * Math.sin(dec) + Math.cos(phi) * Math.cos(dec) * Math.cos(H));
121
- };
122
- /**
123
- * returns set time for the given sun altitude
124
- * @param {number} h - heigh at 0
125
- * @param {number} lw - rad * -lng
126
- * @param {number} phi - rad * lat;
127
- * @param {number} dec - declination
128
- * @param {number} n - Julian cycle
129
- * @param {number} M - solar mean anomal
130
- * @param {number} L - ecliptic longitude
131
- * @returns {number} set time
132
- */
133
- SunMath.getSetJulian = function (h, lw, phi, dec, n, M, L) {
134
- var w = SunMath.hourAngle(h, phi, dec);
135
- var a = SunMath.approxTransit(w, lw, n);
136
- return SunMath.solarTransitJulian(a, M, L);
137
- };
138
- /**
139
- * Convert Date to Solar Date/Time
140
- *
141
- * Based on https://www.pveducation.org/pvcdrom/properties-of-sunlight/solar-time
142
- *
143
- * See: https://github.com/mourner/suncalc/pull/156
144
- *
145
- * @param {date} date - Date to calculate for
146
- * @param {number} utcOffset - UTC offset in hours
147
- * @param {Degrees} lon - Longitude in degrees
148
- * @returns {Date} - Date Object in Solar Time
149
- */
150
- SunMath.getSolarTime = function (date, utcOffset, lon) {
151
- // calculate the day of year
152
- var start = new Date();
153
- start.setUTCFullYear(date.getUTCFullYear(), 0, 1);
154
- start.setUTCHours(0, 0, 0, 0);
155
- var diff = date.getTime() - start.getTime();
156
- var dayOfYear = Math.floor(diff / MS_PER_DAY);
157
- var b = (360 / 365) * (dayOfYear - 81) * DEG2RAD;
158
- var equationOfTime = 9.87 * Math.sin(2 * b) - 7.53 * Math.cos(b) - 1.5 * Math.sin(b);
159
- var localSolarTimeMeridian = 15 * utcOffset;
160
- var timeCorrection = equationOfTime + 4 * (lon - localSolarTimeMeridian);
161
- return new Date(date.getTime() + timeCorrection * 60 * 1000);
162
- };
163
- SunMath.getStarAzEl = function (date, lat, lon, ra, dec) {
164
- var lw = (-lon * DEG2RAD);
165
- var phi = (lat * DEG2RAD);
166
- var d = SunMath.date2jSince2000(date);
167
- var H = SunMath.siderealTime(d, lw) - ra;
168
- var el = SunMath.elevation(H, phi, dec);
169
- var az = SunMath.azimuth(H, phi, dec);
170
- el = (el + SunMath.astroRefraction(el)); // elevation correction for refraction
171
- return {
172
- az: az,
173
- el: el,
174
- };
175
- };
176
- SunMath.getSunAzEl = function (date, lat, lon) {
177
- var lw = (-lon * DEG2RAD);
178
- var phi = (lat * DEG2RAD);
179
- var d = SunMath.date2jSince2000(date);
180
- var c = SunMath.getSunRaDec(d);
181
- var H = SunMath.siderealTime(d, lw) - c.ra;
182
- return {
183
- az: SunMath.azimuth(H, phi, c.dec),
184
- el: SunMath.elevation(H, phi, c.dec),
185
- };
186
- };
187
- SunMath.getSunRaDec = function (d) {
188
- var M = SunMath.solarMeanAnomaly_(d);
189
- var L = SunMath.eclipticLongitude(M);
190
- return {
191
- dec: SunMath.declination(L, 0),
192
- ra: SunMath.rightAscension(L, 0),
193
- };
194
- };
195
- /**
196
- * calculates time for a given azimuth angle for a given date and latitude/longitude
197
- * @param {number|Date} dateValue Date object or timestamp for calculating sun-time
198
- * @param {Degrees} lat latitude for calculating sun-time
199
- * @param {Degrees} lon longitude for calculating sun-time
200
- * @param {Radians | Degrees} az azimuth for calculating sun-time
201
- * @param {boolean} [isDegrees] true if the az angle is in degree and not in rad
202
- * @return {Date} result time of sun-time
203
- */
204
- SunMath.getSunTimeByAzimuth = function (dateValue, lat, lon, az, isDegrees) {
205
- if (isDegrees === void 0) { isDegrees = false; }
206
- if (isNaN(az)) {
207
- throw new Error('azimuth missing');
208
- }
209
- if (isNaN(lat)) {
210
- throw new Error('latitude missing');
211
- }
212
- if (isNaN(lon)) {
213
- throw new Error('longitude missing');
214
- }
215
- if (isDegrees) {
216
- az = (az * DEG2RAD);
217
- }
218
- var date = new Date(dateValue);
219
- var lw = (DEG2RAD * -lon);
220
- var phi = (DEG2RAD * lat);
221
- var dateVal = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0).getTime();
222
- var addval = MS_PER_DAY; // / 2);
223
- dateVal += addval;
224
- while (addval > 200) {
225
- // let nazi = this.getPosition(dateVal, lat, lng).azimuth;
226
- var d = SunMath.date2jSince2000(new Date(dateVal));
227
- var c = SunMath.getSunRaDec(d);
228
- var H = SunMath.siderealTime(d, lw) - c.ra;
229
- var newAz = SunMath.getAzimuth_(H, phi, c.dec);
230
- addval /= 2;
231
- if (newAz < az) {
232
- dateVal += addval;
233
- }
234
- else {
235
- dateVal -= addval;
236
- }
237
- }
238
- return new Date(Math.floor(dateVal));
239
- };
240
- /**
241
- * calculates sun times for a given date and latitude/longitude
242
- * @param {Date|number} dateVal Date object for calculating sun-times
243
- * @param {number} lat latitude for calculating sun-times
244
- * @param {number} lon longitude for calculating sun-times
245
- * @param {number} [alt=0] the observer height (in meters) relative to the horizon
246
- * @param {boolean} [isUtc=false] defines if the calculation should be in utc or local time (default is local)
247
- * @return {SunTime} result object of sunTime
248
- */
249
- SunMath.getTimes = function (dateVal, lat, lon, alt, isUtc) {
250
- if (alt === void 0) { alt = 0; }
251
- if (isUtc === void 0) { isUtc = false; }
252
- if (isNaN(lat)) {
253
- throw new Error('latitude missing');
254
- }
255
- if (isNaN(lon)) {
256
- throw new Error('longitude missing');
257
- }
258
- var date = new Date(dateVal);
259
- if (isUtc) {
260
- date.setUTCHours(12, 0, 0, 0);
261
- }
262
- else {
263
- date.setHours(12, 0, 0, 0);
264
- }
265
- var i = 0;
266
- var len = 0;
267
- var time = [];
268
- var h0 = 0;
269
- var Jset = 0;
270
- var Jrise = 0;
271
- var _a = SunMath.calculateJnoon_(lon, lat, alt, date), Jnoon = _a.Jnoon, dh = _a.dh, lw = _a.lw, phi = _a.phi, dec = _a.dec, n = _a.n, M = _a.M, L = _a.L;
272
- // Determine when the sun is at its highest and lowest (darkest) points.
273
- var result = {
274
- solarNoon: SunMath.julian2date(Jnoon),
275
- nadir: SunMath.julian2date(Jnoon + 0.5), // https://github.com/mourner/suncalc/pull/125
276
- };
277
- // Add all other unique times using Jnoon as a reference
278
- for (i = 0, len = SunMath.times_.length; i < len; i += 1) {
279
- time = SunMath.times_[i];
280
- h0 = ((time[0] + dh) * DEG2RAD);
281
- Jset = SunMath.getSetJ_(h0, lw, phi, dec, n, M, L);
282
- Jrise = Jnoon - (Jset - Jnoon);
283
- result[time[1]] = SunMath.julian2date(Jrise);
284
- result[time[2]] = SunMath.julian2date(Jset);
285
- }
286
- return result;
287
- };
288
- /**
289
- * hour angle
290
- * @param {number} h - heigh at 0
291
- * @param {number} phi - rad * lat;
292
- * @param {number} dec - declination
293
- * @returns {number} hour angle
294
- */
295
- SunMath.hourAngle = function (h, phi, dec) {
296
- return Math.acos((Math.sin(h) - Math.sin(phi) * Math.sin(dec)) / (Math.cos(phi) * Math.cos(dec)));
297
- };
298
- /**
299
- * convert Julian calendar to date object
300
- * @param {number} julian day number in Julian calendar to convert
301
- * @return {number} result date as timestamp
302
- */
303
- SunMath.julian2date = function (julian) {
304
- return new Date((julian - SunMath.J1970_) * MS_PER_DAY);
305
- };
306
- /**
307
- * Julian cycle
308
- * @param {number} d - number of days
309
- * @param {number} lw - rad * -lng;
310
- * @returns {number} julian cycle
311
- */
312
- SunMath.julianCyle = function (d, lw) {
313
- return Math.round(d - SunMath.J0_ - lw / ((2 * TAU) / 2));
314
- };
315
- /**
316
- * get right ascension
317
- * @param {number} l - ecliptic longitude
318
- * @param {number} b - ecliptic latitude
319
- * @returns {number} right ascension
320
- */
321
- SunMath.rightAscension = function (l, b) {
322
- return Math.atan2(Math.sin(l) * Math.cos(SunMath.e_) - Math.tan(b) * Math.sin(SunMath.e_), Math.cos(l));
323
- };
324
- /**
325
- * side real time
326
- * @param {number} d - julian day
327
- * @param {Radians} lw - longitude of the observer
328
- * @returns {number} sidereal time
329
- */
330
- SunMath.siderealTime = function (d, lw) {
331
- return DEG2RAD * (280.16 + 360.9856235 * d) - lw;
332
- };
333
- /**
334
- * solar transit in Julian
335
- * @param {number} ds - approxTransit
336
- * @param {number} M - solar mean anomal
337
- * @param {number} L - ecliptic longitude
338
- * @returns {number} solar transit in Julian
339
- */
340
- SunMath.solarTransitJulian = function (ds, M, L) {
341
- return SunMath.J2000_ + ds + 0.0053 * Math.sin(M) - 0.0069 * Math.sin(2 * L);
342
- };
343
- SunMath.calculateJnoon_ = function (lon, lat, alt, date) {
344
- var lw = (DEG2RAD * -lon);
345
- var phi = (DEG2RAD * lat);
346
- var dh = SunMath.observerAngle_(alt);
347
- var d = SunMath.date2jSince2000(date);
348
- var n = SunMath.julianCycle_(d, lw);
349
- var ds = SunMath.approxTransit(0, lw, n);
350
- var M = SunMath.solarMeanAnomaly_(ds);
351
- var L = SunMath.eclipticLongitude(M);
352
- var dec = SunMath.declination(L, 0);
353
- var Jnoon = SunMath.solarTransitJulian(ds, M, L);
354
- return { Jnoon: Jnoon, dh: dh, lw: lw, phi: phi, dec: dec, n: n, M: M, L: L };
355
- };
356
- /**
357
- * get azimuth
358
- * @param {number} H - siderealTime
359
- * @param {Radians} phi - latitude
360
- * @param {Radians} dec - The declination of the sun
361
- * @returns {Radians} azimuth
362
- */
363
- SunMath.getAzimuth_ = function (H, phi, dec) {
364
- return Math.atan2(Math.sin(H), Math.cos(H) * Math.sin(phi) - Math.tan(dec) * Math.cos(phi)) + Math.PI;
365
- };
366
- /**
367
- * returns set time for the given sun altitude
368
- * @param {Meters} alt - altitude at 0
369
- * @param {Radians} lw - -lng
370
- * @param {Radians} phi - lat;
371
- * @param {Radians} dec - declination
372
- * @param {number} n - Julian cycle
373
- * @param {number} M - solar mean anomal
374
- * @param {number} L - ecliptic longitude
375
- * @return {J2000Value} sunset time in days since 2000
376
- */
377
- SunMath.getSetJ_ = function (alt, lw, phi, dec, n, M, L) {
378
- var w = SunMath.hourAngle(alt, phi, dec);
379
- var a = SunMath.approxTransit(w, lw, n);
380
- return SunMath.solarTransitJulian(a, M, L);
381
- };
382
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
383
- SunMath.julianCycle_ = function (d, lw) {
384
- var lonOffset = lw / TAU;
385
- return Math.round(d - SunMath.J0_ - lonOffset);
386
- };
387
- /**
388
- * calculates the obderver angle
389
- * @param {number} alt the observer altitude (in meters) relative to the horizon
390
- * @returns {Degrees} height for further calculations
391
- */
392
- SunMath.observerAngle_ = function (alt) {
393
- return ((-2.076 * Math.sqrt(alt)) / 60);
394
- };
395
- /**
396
- * get solar mean anomaly
397
- * @param {number} d - julian day
398
- * @returns {number} solar mean anomaly
399
- */
400
- SunMath.solarMeanAnomaly_ = function (d) {
401
- return DEG2RAD * (357.5291 + 0.98560028 * d);
402
- };
403
- SunMath.J0_ = 0.0009;
404
- SunMath.J1970_ = 2440587.5;
405
- SunMath.J2000_ = 2451545;
406
- SunMath.e_ = DEG2RAD * 23.4397;
407
- SunMath.times_ = [
408
- [6, 'goldenHourDawnEnd', 'goldenHourDuskStart'],
409
- [-0.3, 'sunriseEnd', 'sunsetStart'],
410
- [-0.833, 'sunriseStart', 'sunsetEnd'],
411
- [-1, 'goldenHourDawnStart', 'goldenHourDuskEnd'],
412
- [-4, 'blueHourDawnEnd', 'blueHourDuskStart'],
413
- [-6, 'civilDawn', 'civilDusk'],
414
- [-8, 'blueHourDawnStart', 'blueHourDuskEnd'],
415
- [-12, 'nauticalDawn', 'nauticalDusk'],
416
- [-15, 'amateurDawn', 'amateurDusk'],
417
- [-18, 'astronomicalDawn', 'astronomicalDusk'], // ASTRO_DAWN
418
- ];
419
- return SunMath;
420
- }());
421
- export { SunMath };
422
- //# sourceMappingURL=sun-math.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sun-math.js","sourceRoot":"","sources":["../../src/utils/sun-math.ts"],"names":[],"mappings":"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"}
@@ -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,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
@@ -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
@@ -1,8 +0,0 @@
1
- <html>
2
- <head>
3
- <script src="./dist/ootk.js"></script>
4
- <script src="./test/performance/satellite.js"></script>
5
- <script src="./test/performance/performance.js"></script>
6
- </head>
7
- <body></body>
8
- </html>
@@ -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
- }
@@ -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