keplemon 3.1.1__cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

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 (76) hide show
  1. keplemon/.DS_Store +0 -0
  2. keplemon/._.DS_Store +0 -0
  3. keplemon/._arm +0 -0
  4. keplemon/._libastrofunc.so +0 -0
  5. keplemon/._libdllmain.so +0 -0
  6. keplemon/._libelops.so +0 -0
  7. keplemon/._libenvconst.so +0 -0
  8. keplemon/._libextephem.so +0 -0
  9. keplemon/._libobs.so +0 -0
  10. keplemon/._libsatstate.so +0 -0
  11. keplemon/._libsensor.so +0 -0
  12. keplemon/._libsgp4prop.so +0 -0
  13. keplemon/._libspvec.so +0 -0
  14. keplemon/._libtimefunc.so +0 -0
  15. keplemon/._libtle.so +0 -0
  16. keplemon/._libvcm.so +0 -0
  17. keplemon/EGM-2008.GEO +2563 -0
  18. keplemon/EGM-96.GEO +2563 -0
  19. keplemon/JPLcon_1950_2050.405 +392370 -0
  20. keplemon/SGP4_Open_License.txt +186 -0
  21. keplemon/WGS84-70.GEO +2563 -0
  22. keplemon/__init__.py +33 -0
  23. keplemon/__init__.pyi +54 -0
  24. keplemon/__main__.py +20 -0
  25. keplemon/_keplemon.abi3.so +0 -0
  26. keplemon/bodies.py +8 -0
  27. keplemon/bodies.pyi +367 -0
  28. keplemon/catalogs.py +5 -0
  29. keplemon/catalogs.pyi +19 -0
  30. keplemon/elements.py +39 -0
  31. keplemon/elements.pyi +521 -0
  32. keplemon/enums.py +21 -0
  33. keplemon/enums.pyi +120 -0
  34. keplemon/estimation.py +9 -0
  35. keplemon/estimation.pyi +200 -0
  36. keplemon/events.py +17 -0
  37. keplemon/events.pyi +103 -0
  38. keplemon/exceptions.py +5 -0
  39. keplemon/libastrofunc.so +0 -0
  40. keplemon/libdllmain.so +0 -0
  41. keplemon/libelops.so +0 -0
  42. keplemon/libenvconst.so +0 -0
  43. keplemon/libextephem.so +0 -0
  44. keplemon/libobs.so +0 -0
  45. keplemon/libsatstate.so +0 -0
  46. keplemon/libsensor.so +0 -0
  47. keplemon/libsgp4prop.so +0 -0
  48. keplemon/libspvec.so +0 -0
  49. keplemon/libtimefunc.so +0 -0
  50. keplemon/libtle.so +0 -0
  51. keplemon/libvcm.so +0 -0
  52. keplemon/propagation.py +15 -0
  53. keplemon/propagation.pyi +50 -0
  54. keplemon/py.typed +0 -0
  55. keplemon/time.py +96 -0
  56. keplemon/time.pyi +293 -0
  57. keplemon/time_constants.dat +19472 -0
  58. keplemon-3.1.1.dist-info/METADATA +21 -0
  59. keplemon-3.1.1.dist-info/RECORD +76 -0
  60. keplemon-3.1.1.dist-info/WHEEL +5 -0
  61. keplemon-3.1.1.dist-info/entry_points.txt +2 -0
  62. keplemon.libs/libastrofunc-d5d29f1a.so +0 -0
  63. keplemon.libs/libdllmain-83b073db.so +0 -0
  64. keplemon.libs/libelops-d6961cbd.so +0 -0
  65. keplemon.libs/libenvconst-5ff8e89b.so +0 -0
  66. keplemon.libs/libextephem-9ddad493.so +0 -0
  67. keplemon.libs/libgfortran-daac5196.so.5 +0 -0
  68. keplemon.libs/libgomp-d22c30c5.so.1 +0 -0
  69. keplemon.libs/libobs-acba28cb.so +0 -0
  70. keplemon.libs/libsatstate-a0706992.so +0 -0
  71. keplemon.libs/libsensor-15ffa85c.so +0 -0
  72. keplemon.libs/libsgp4prop-8300f9d3.so +0 -0
  73. keplemon.libs/libspvec-b3cef8a2.so +0 -0
  74. keplemon.libs/libtimefunc-d4915652.so +0 -0
  75. keplemon.libs/libtle-72004375.so +0 -0
  76. keplemon.libs/libvcm-460d66c8.so +0 -0
keplemon/elements.pyi ADDED
@@ -0,0 +1,521 @@
1
+ # flake8: noqa
2
+ from __future__ import annotations
3
+ from typing import Optional
4
+
5
+ from keplemon.time import Epoch
6
+ from keplemon.enums import Classification, KeplerianType, ReferenceFrame
7
+ from keplemon.events import CloseApproach
8
+ from keplemon.bodies import Observatory
9
+
10
+ class RelativeState:
11
+ epoch: Epoch
12
+ position: CartesianVector
13
+ velocity: CartesianVector
14
+ origin_satellite_id: str
15
+ secondary_satellite_id: str
16
+
17
+ class BoreToBodyAngles:
18
+ earth_angle: float
19
+ sun_angle: float
20
+ moon_angle: float
21
+
22
+ class OrbitPlotState:
23
+ epoch: Epoch
24
+ latitude: float
25
+ longitude: float
26
+ altitude: float
27
+ semi_major_axis: float
28
+ eccentricity: float
29
+ inclination: float
30
+ raan: float
31
+ radius: float
32
+ apogee_radius: float
33
+ perigee_radius: float
34
+
35
+ class OrbitPlotData:
36
+ satellite_id: str
37
+ epochs: list[str]
38
+ semi_major_axes: list[float]
39
+ eccentricities: list[float]
40
+ inclinations: list[float]
41
+ raans: list[float]
42
+ radii: list[float]
43
+ apogee_radii: list[float]
44
+ perigee_radii: list[float]
45
+ latitudes: list[float]
46
+ longitudes: list[float]
47
+ altitudes: list[float]
48
+
49
+ class GeodeticPosition:
50
+ """
51
+ Args:
52
+ latitude: Latitude in **_degrees_**
53
+ longitude: Longitude in **_degrees_**
54
+ altitude: Altitude in **_kilometers_**
55
+ """
56
+
57
+ latitude: float
58
+ """Latitude in **_degrees_**"""
59
+
60
+ longitude: float
61
+ """Longitude in **_degrees_**"""
62
+
63
+ altitude: float
64
+ """Altitude in **_kilometers_**"""
65
+
66
+ def __init__(self, latitude: float, longitude: float, altitude: float) -> None: ...
67
+
68
+ class HorizonElements:
69
+ """
70
+ Args:
71
+ range: Range in **_kilometers_**
72
+ az: Azimuth in **_degrees_**
73
+ el: Elevation in **_degrees_**
74
+ range_rate: Range rate in **_kilometers per second_**
75
+ az_rate: Azimuth rate in **_degrees per second_**
76
+ el_rate: Elevation rate in **_degrees per second_**
77
+ """
78
+
79
+ range: Optional[float]
80
+ azimuth: float
81
+ elevation: float
82
+ range_rate: Optional[float]
83
+ azimuth_rate: Optional[float]
84
+ elevation_rate: Optional[float]
85
+
86
+ def __init__(
87
+ self,
88
+ azimuth: float,
89
+ elevation: float,
90
+ ) -> None: ...
91
+
92
+ class HorizonState:
93
+ """
94
+ Args:
95
+ epoch: UTC epoch of the state
96
+ elements: HorizonElements of the state
97
+ """
98
+
99
+ epoch: Epoch
100
+ """UTC epoch of the state"""
101
+
102
+ elements: HorizonElements
103
+ """Horizon elements of the state"""
104
+
105
+ range: Optional[float]
106
+ """Range in **_kilometers_**"""
107
+
108
+ azimuth: float
109
+ """Azimuth in **_degrees_**"""
110
+
111
+ elevation: float
112
+ """Elevation in **_degrees_**"""
113
+
114
+ range_rate: Optional[float]
115
+ """Range rate in **_kilometers per second_**"""
116
+
117
+ azimuth_rate: Optional[float]
118
+ """Azimuth rate in **_degrees per second_**"""
119
+
120
+ elevation_rate: Optional[float]
121
+ """Elevation rate in **_degrees per second_**"""
122
+
123
+ def __init__(self, epoch: Epoch, elements: HorizonElements) -> None: ...
124
+ @classmethod
125
+ def from_topocentric_state(cls, state: TopocentricState, observer: Observatory) -> HorizonState: ...
126
+
127
+ class KeplerianElements:
128
+ """
129
+ Args:
130
+ semi_major_axis: Average distance from the central body in **_kilometers_**
131
+ eccentricity: Eccentricity of the orbit
132
+ inclination: Inclination of the orbit in **_degrees_**
133
+ raan: Right Ascension of Ascending Node in **_degrees_**
134
+ argument_of_perigee: Argument of Perigee in **_degrees_**
135
+ mean_anomaly: Mean Anomaly in **_degrees_**
136
+ """
137
+
138
+ semi_major_axis: float
139
+ eccentricity: float
140
+ inclination: float
141
+ raan: float
142
+ argument_of_perigee: float
143
+ mean_anomaly: float
144
+
145
+ def __init__(
146
+ self,
147
+ semi_major_axis: float,
148
+ eccentricity: float,
149
+ inclination: float,
150
+ raan: float,
151
+ argument_of_perigee: float,
152
+ mean_anomaly: float,
153
+ ) -> None: ...
154
+
155
+ class EquinoctialElements:
156
+ """
157
+ Args:
158
+ a_f: Equinoctial element a_f
159
+ a_g: Equinoctial element a_g
160
+ chi: Equinoctial element chi
161
+ psi: Equinoctial element psi
162
+ mean_longitude: Mean longitude in **_degrees_**
163
+ mean_motion: Mean motion in **_revolutions per day_**
164
+ """
165
+
166
+ a_f: float
167
+ a_g: float
168
+ chi: float
169
+ psi: float
170
+ mean_longitude: float
171
+ mean_motion: float
172
+
173
+ def __init__(
174
+ self,
175
+ a_f: float,
176
+ a_g: float,
177
+ chi: float,
178
+ psi: float,
179
+ mean_longitude: float,
180
+ mean_motion: float,
181
+ ) -> None: ...
182
+
183
+ def to_keplerian(self) -> KeplerianElements: ...
184
+
185
+ class TLE:
186
+
187
+ norad_id: int
188
+ """NORAD catalog ID of the satellite"""
189
+
190
+ satellite_id: str
191
+ """"""
192
+
193
+ name: str
194
+ """"""
195
+
196
+ inclination: float
197
+ """Inclination of the orbit in **_degrees_**"""
198
+
199
+ eccentricity: float
200
+ """"""
201
+
202
+ raan: float
203
+ """Right Ascension of Ascending Node in **_degrees_**"""
204
+
205
+ argument_of_perigee: float
206
+ """Argument of Perigee in **_degrees_**"""
207
+
208
+ mean_anomaly: float
209
+ """Mean Anomaly in **_degrees_**"""
210
+
211
+ mean_motion: float
212
+ """Mean motion in **_revolutions per day_**"""
213
+
214
+ type: KeplerianType
215
+ """"""
216
+
217
+ b_star: float
218
+ """"""
219
+
220
+ mean_motion_dot: float
221
+ """"""
222
+
223
+ mean_motion_dot_dot: float
224
+ """"""
225
+
226
+ agom: float
227
+ """"""
228
+
229
+ b_term: float
230
+ """"""
231
+
232
+ epoch: Epoch
233
+ """UTC epoch of the state"""
234
+
235
+ classification: Classification
236
+ """"""
237
+
238
+ designator: str
239
+ """8-character identifier of the satellite"""
240
+
241
+ cartesian_state: CartesianState
242
+ """TEME cartesian state of the TLE at epoch"""
243
+
244
+ semi_major_axis: float
245
+ """Average distance from the central body in **_kilometers_**
246
+
247
+ !!! note
248
+ This is always calculated using Brouwer mean motion and will differ slightly from Kozai-computed SMA.
249
+ """
250
+
251
+ apoapsis: float
252
+ """Apoapsis radius in **_kilometers_**"""
253
+
254
+ periapsis: float
255
+ """Periapsis radius in **_kilometers_**"""
256
+
257
+ @classmethod
258
+ def from_lines(cls, line_1: str, line_2: str, line_3: Optional[str] = None) -> TLE:
259
+ """
260
+ Create a TLE object using strings in 2 or 3 line format
261
+ """
262
+ ...
263
+
264
+ @property
265
+ def lines(self) -> tuple[str, str]:
266
+ """
267
+ !!! note
268
+ If the TLE was created in the 3LE format, only lines 2 and 3 will be returned. The name must be accessed
269
+ using the `name` property.
270
+
271
+ Returns:
272
+ Tuple of strings in 2 line format
273
+ """
274
+ ...
275
+
276
+ def get_state_at_epoch(self, epoch: Epoch) -> CartesianState: ...
277
+
278
+ class SphericalVector:
279
+ """
280
+ !!! note
281
+ The range units can be disregarded if this class is not being used for astrodynamic transforms.
282
+
283
+ Args:
284
+ range: distance from the origin in **_kilometers_**
285
+ right_ascension: right ascension in **_degrees_**
286
+ declination: declination in **_degrees_**
287
+ """
288
+
289
+ range: float
290
+ right_ascension: float
291
+ declination: float
292
+ def __init__(self, range: float, right_ascension: float, declination: float) -> None: ...
293
+ def to_cartesian(self) -> CartesianVector:
294
+ """
295
+ Returns:
296
+ Cartesian vector in **_kilometers_**.
297
+ """
298
+ ...
299
+
300
+ class CartesianVector:
301
+ """
302
+ Args:
303
+ x: x coordinate
304
+ y: y coordinate
305
+ z: z coordinate
306
+ """
307
+
308
+ x: float
309
+ y: float
310
+ z: float
311
+ magnitude: float
312
+ """"""
313
+
314
+ def __init__(self, x: float, y: float, z: float) -> None: ...
315
+ def distance(self, other: CartesianVector) -> float:
316
+ """
317
+ !!! note
318
+ Take care to use consistent units with this function.
319
+
320
+ Returns:
321
+ Distance between two Cartesian vectors
322
+ """
323
+ ...
324
+
325
+ def to_spherical(self) -> SphericalVector:
326
+ """
327
+ Returns:
328
+ Spherical representation of the point
329
+ """
330
+ ...
331
+
332
+ def __add__(self, other: CartesianVector) -> CartesianVector: ...
333
+ def __sub__(self, other: CartesianVector) -> CartesianVector: ...
334
+ def angle(self, other: CartesianVector) -> float:
335
+ """
336
+ Returns:
337
+ Angle between two Cartesian vectors in **_radians_**.
338
+ """
339
+ ...
340
+
341
+ class CartesianState:
342
+ """State represented as x, y, z and vx, vy, vz in a given reference frame.
343
+
344
+ Args:
345
+ epoch: UTC epoch of the state
346
+ position: Cartesian position vector in kilometers
347
+ velocity: Cartesian velocity vector in kilometers per second
348
+ frame: reference frame of the state
349
+ """
350
+
351
+ position: CartesianVector
352
+ """Position of the state in kilometers"""
353
+
354
+ velocity: CartesianVector
355
+ """Velocity of the state in kilometers per second"""
356
+
357
+ epoch: Epoch
358
+ """UTC epoch of the state"""
359
+
360
+ frame: ReferenceFrame
361
+ """Current reference frame of the state"""
362
+
363
+ def __init__(
364
+ self, epoch: Epoch, position: CartesianVector, velocity: CartesianVector, frame: ReferenceFrame
365
+ ) -> None: ...
366
+ def to_keplerian(self) -> KeplerianState:
367
+ """Convert the Cartesian state to osculating Keplerian elements"""
368
+ ...
369
+
370
+ def to_frame(self, frame: ReferenceFrame) -> CartesianState:
371
+ """
372
+
373
+ Args:
374
+ frame: reference frame of the output state
375
+
376
+ Returns:
377
+ CartesianState: Cartesian state in the new frame"""
378
+ ...
379
+
380
+ class KeplerianState:
381
+ """Orbit represented as Keplerian elements in a given reference frame.
382
+
383
+ Args:
384
+ epoch: UTC epoch of the state
385
+ elements: Keplerian elements of the state
386
+ frame: reference frame of the state
387
+ keplerian_type: type of the Keplerian elements
388
+ """
389
+
390
+ epoch: Epoch
391
+ frame: ReferenceFrame
392
+ type: KeplerianType
393
+ semi_major_axis: float
394
+ """Average distance from the central body in **_kilometers_**"""
395
+
396
+ eccentricity: float
397
+ """Eccentricity of the orbit"""
398
+
399
+ inclination: float
400
+ """Inclination of the orbit in **_degrees_**"""
401
+
402
+ raan: float
403
+ """Right Ascension of Ascending Node in **_degrees_**"""
404
+
405
+ argument_of_perigee: float
406
+ """Argument of Perigee in **_degrees_**"""
407
+
408
+ mean_anomaly: float
409
+ """Mean Anomaly in **_degrees_**"""
410
+
411
+ mean_motion: float
412
+ """Mean motion in **_revolutions per day_**"""
413
+
414
+ apoapsis: float
415
+ """Furthest point from the central body in **_kilometers_**"""
416
+
417
+ periapsis: float
418
+ """Closest point to the central body in **_kilometers_**"""
419
+
420
+ def __init__(
421
+ self,
422
+ epoch: Epoch,
423
+ elements: KeplerianElements,
424
+ frame: ReferenceFrame,
425
+ keplerian_type: KeplerianType,
426
+ ) -> None: ...
427
+ def to_cartesian(self) -> CartesianState:
428
+ """
429
+ Returns:
430
+ Cartesian state in **_kilometers_** and **_kilometers per second_**.
431
+ """
432
+ ...
433
+
434
+ def to_frame(self, frame: ReferenceFrame) -> KeplerianState:
435
+ """
436
+ Args:
437
+ frame: reference frame of the output state
438
+
439
+ Returns:
440
+ Keplerian state in the new frame"""
441
+ ...
442
+
443
+ class Ephemeris:
444
+ def get_close_approach(
445
+ self,
446
+ other: Ephemeris,
447
+ distance_threshold: float,
448
+ ) -> CloseApproach: ...
449
+
450
+ class TopocentricElements:
451
+ """
452
+ Args:
453
+ right_ascension: TEME right ascension in **_degrees_**
454
+ declination: TEME declination in **_degrees_**
455
+ """
456
+
457
+ range: Optional[float]
458
+ """Range in **_kilometers_**"""
459
+
460
+ right_ascension: float
461
+ declination: float
462
+ range_rate: Optional[float]
463
+ """Range rate in **_kilometers per second_**"""
464
+
465
+ right_ascension_rate: Optional[float]
466
+ """Right ascension rate in **_degrees per second**"""
467
+
468
+ declination_rate: Optional[float]
469
+ """Declination rate in **_degrees per second**"""
470
+
471
+ def __init__(self, right_ascension: float, declination: float) -> None: ...
472
+ @classmethod
473
+ def from_j2000(cls, epoch: Epoch, ra: float, dec: float) -> TopocentricElements:
474
+ """
475
+ Args:
476
+ epoch: UTC epoch of the angles
477
+ ra: J2000 right ascension in **_degrees_**
478
+ dec: J2000 declination in **_degrees_**
479
+ """
480
+ ...
481
+
482
+ class TopocentricState:
483
+ """
484
+ Args:
485
+ epoch: UTC epoch of the state
486
+ elements: TopocentricElements of the state
487
+ """
488
+
489
+ epoch: Epoch
490
+ """UTC epoch of the state"""
491
+
492
+ elements: TopocentricElements
493
+ """Topocentric elements of the state"""
494
+
495
+ range: Optional[float]
496
+ """Range in **_kilometers_**"""
497
+
498
+ right_ascension: float
499
+ """TEME right ascension in **_degrees_**"""
500
+
501
+ declination: float
502
+ """TEME declination in **_degrees_**"""
503
+
504
+ range_rate: Optional[float]
505
+ """Range rate in **_kilometers per second_**"""
506
+
507
+ right_ascension_rate: Optional[float]
508
+ """Right ascension rate in **_degrees per second**"""
509
+
510
+ declination_rate: Optional[float]
511
+ """Declination rate in **_degrees per second**"""
512
+
513
+ def __init__(self, epoch: Epoch, elements: TopocentricElements) -> None: ...
514
+ @classmethod
515
+ def from_horizon_state(cls, horizon_state: HorizonState, observer: Observatory) -> TopocentricState:
516
+ """
517
+ Args:
518
+ horizon_state: HorizonState of the target
519
+ observer: Position of the observer
520
+ """
521
+ ...
keplemon/enums.py ADDED
@@ -0,0 +1,21 @@
1
+ from keplemon._keplemon.enums import ( # type: ignore
2
+ TimeSystem,
3
+ Classification,
4
+ KeplerianType,
5
+ ReferenceFrame,
6
+ CovarianceType,
7
+ AssociationConfidence,
8
+ GeodeticModel,
9
+ MeanEquinox,
10
+ )
11
+
12
+ __all__ = [
13
+ "TimeSystem",
14
+ "Classification",
15
+ "KeplerianType",
16
+ "ReferenceFrame",
17
+ "CovarianceType",
18
+ "AssociationConfidence",
19
+ "GeodeticModel",
20
+ "MeanEquinox",
21
+ ]
keplemon/enums.pyi ADDED
@@ -0,0 +1,120 @@
1
+ # flake8: noqa
2
+ from enum import Enum
3
+
4
+ class AssociationConfidence(Enum):
5
+ """
6
+ Confidence level of an observation association
7
+
8
+ Attributes:
9
+ Low (AssociationConfidence): Low confidence
10
+ Medium (AssociationConfidence): Medium confidence
11
+ High (AssociationConfidence): High confidence
12
+ """
13
+
14
+ Low = ...
15
+ Medium = ...
16
+ High = ...
17
+
18
+ class CovarianceType(Enum):
19
+ """
20
+ Reference frame/element types for a covariance matrix
21
+
22
+ Attributes:
23
+ Inertial (CovarianceType): Cartesian TEME
24
+ Relative (CovarianceType): Cartesian UVW
25
+ Equinoctial (CovarianceType): Equinoctial
26
+ """
27
+
28
+ Inertial = ...
29
+ Relative = ...
30
+ Equinoctial = ...
31
+
32
+ class GeodeticModel(Enum):
33
+ """
34
+ Geodetic model used for Earth shape and gravity
35
+
36
+ Attributes:
37
+ WGS72 (GeodeticModel): WGS72 geodetic model
38
+ WGS84 (GeodeticModel): WGS84 geodetic model
39
+ EGM96 (GeodeticModel): EGM96 geodetic model
40
+ """
41
+
42
+ WGS72 = ...
43
+ WGS84 = ...
44
+ EGM96 = ...
45
+
46
+ class MeanEquinox(Enum):
47
+ """
48
+ Mean equinox used for topocentric calculations
49
+
50
+ Attributes:
51
+ OfDate (MeanEquinox): Mean equinox of date
52
+ OfYear (MeanEquinox): Mean equinox of year
53
+ J2000 (MeanEquinox): J2000 mean equinox
54
+ B1950 (MeanEquinox): B1950 mean equinox
55
+ """
56
+
57
+ OfDate = ...
58
+ OfYear = ...
59
+ J2000 = ...
60
+ B1950 = ...
61
+
62
+ class TimeSystem(Enum):
63
+ """
64
+ Attributes:
65
+ UTC (TimeSystem): Coordinated Universal Time
66
+ TAI (TimeSystem): International Atomic Time
67
+ TT (TimeSystem): Terrestrial Time
68
+ UT1 (TimeSystem): Universal Time
69
+ """
70
+
71
+ UTC = ...
72
+ TAI = ...
73
+ TT = ...
74
+ UT1 = ...
75
+
76
+ class Classification(Enum):
77
+ """
78
+ Simple classification primarily used to construct single-character identifiers in SAAL data
79
+
80
+ Attributes:
81
+ Unclassified (Classification): Unclassified
82
+ Confidential (Classification): Confidential
83
+ Secret (Classification): Secret
84
+ """
85
+
86
+ Unclassified = ...
87
+ Confidential = ...
88
+ Secret = ...
89
+
90
+ class KeplerianType(Enum):
91
+ """
92
+ Theory used to construct the Keplerian elements
93
+
94
+ Attributes:
95
+ MeanKozaiGP (KeplerianType): SGP4 mean elements with Kozai mean motion
96
+ MeanBrouwerGP (KeplerianType): SGP4 mean elements with Brouwer mean motion
97
+ MeanBrouwerXP (KeplerianType): SGP4-XP mean elements with Brouwer mean motion
98
+ Osculating (KeplerianType): Osculating elements with Brouwer mean motion
99
+ """
100
+
101
+ MeanKozaiGP = ...
102
+ MeanBrouwerGP = ...
103
+ MeanBrouwerXP = ...
104
+ Osculating = ...
105
+
106
+ class ReferenceFrame(Enum):
107
+ """
108
+ Reference frame used for inertial elements
109
+
110
+ Attributes:
111
+ TEME (ReferenceFrame): True Equator Mean Equinox
112
+ J2000 (ReferenceFrame): J2000
113
+ EFG (ReferenceFrame): Earth Fixed Greenwich (no polar motion)
114
+ ECR (ReferenceFrame): Earth Centered Rotating (polar motion)
115
+ """
116
+
117
+ TEME = ...
118
+ J2000 = ...
119
+ EFG = ...
120
+ ECR = ...
keplemon/estimation.py ADDED
@@ -0,0 +1,9 @@
1
+ from keplemon._keplemon.estimation import ( # type: ignore
2
+ Observation,
3
+ ObservationResidual,
4
+ BatchLeastSquares,
5
+ Covariance,
6
+ ObservationAssociation,
7
+ )
8
+
9
+ __all__ = ["Observation", "ObservationResidual", "BatchLeastSquares", "Covariance", "ObservationAssociation"]