open-space-toolkit-astrodynamics 13.1.0__py313-none-manylinux2014_x86_64.whl → 14.0.0__py313-none-manylinux2014_x86_64.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.
- {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-14.0.0.dist-info}/METADATA +3 -3
- {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-14.0.0.dist-info}/RECORD +52 -20
- {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-14.0.0.dist-info}/WHEEL +1 -1
- ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-313-x86_64-linux-gnu.so +0 -0
- ostk/astrodynamics/__init__.pyi +785 -0
- ostk/astrodynamics/access.pyi +588 -0
- ostk/astrodynamics/conjunction/__init__.pyi +3 -0
- ostk/astrodynamics/conjunction/message/__init__.pyi +3 -0
- ostk/astrodynamics/conjunction/message/ccsds.pyi +723 -0
- ostk/astrodynamics/converters.pyi +54 -0
- ostk/astrodynamics/data/__init__.pyi +3 -0
- ostk/astrodynamics/data/provider.pyi +22 -0
- ostk/astrodynamics/dynamics.pyi +329 -0
- ostk/astrodynamics/event_condition.pyi +580 -0
- ostk/astrodynamics/flight/__init__.pyi +547 -0
- ostk/astrodynamics/flight/profile/__init__.pyi +102 -0
- ostk/astrodynamics/flight/profile/model.pyi +176 -0
- ostk/astrodynamics/flight/system.pyi +277 -0
- ostk/astrodynamics/guidance_law.pyi +282 -0
- ostk/astrodynamics/{libopen-space-toolkit-astrodynamics.so.13 → libopen-space-toolkit-astrodynamics.so.14} +0 -0
- ostk/astrodynamics/py.typed +0 -0
- ostk/astrodynamics/pytrajectory/__init__.pyi +3 -0
- ostk/astrodynamics/pytrajectory/pystate.py +2 -4
- ostk/astrodynamics/pytrajectory/pystate.pyi +63 -0
- ostk/astrodynamics/solver.pyi +232 -0
- ostk/astrodynamics/test/access/test_generator.py +130 -59
- ostk/astrodynamics/test/access/test_visibility_criterion.py +198 -0
- ostk/astrodynamics/test/data/provider/test_off_nadir.py +58 -0
- ostk/astrodynamics/test/flight/test_maneuver.py +49 -64
- ostk/astrodynamics/test/flight/test_profile.py +4 -2
- ostk/astrodynamics/test/solvers/test_finite_difference_solver.py +24 -11
- ostk/astrodynamics/test/solvers/test_temporal_condition_solver.py +9 -1
- ostk/astrodynamics/test/test_display.py +11 -5
- ostk/astrodynamics/test/test_viewer.py +70 -1
- ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_cartesian_acceleration.py +136 -0
- ostk/astrodynamics/test/trajectory/state/test_coordinate_subset.py +9 -0
- ostk/astrodynamics/test/trajectory/test_local_orbital_frame_factory.py +21 -13
- ostk/astrodynamics/test/trajectory/test_propagator.py +21 -27
- ostk/astrodynamics/test/trajectory/test_segment.py +0 -1
- ostk/astrodynamics/trajectory/__init__.pyi +1794 -0
- ostk/astrodynamics/trajectory/orbit/__init__.pyi +361 -0
- ostk/astrodynamics/trajectory/orbit/message/__init__.pyi +3 -0
- ostk/astrodynamics/trajectory/orbit/message/spacex.pyi +273 -0
- ostk/astrodynamics/trajectory/orbit/model/__init__.pyi +517 -0
- ostk/astrodynamics/trajectory/orbit/model/brouwerLyddaneMean.pyi +127 -0
- ostk/astrodynamics/trajectory/orbit/model/kepler.pyi +581 -0
- ostk/astrodynamics/trajectory/orbit/model/sgp4.pyi +333 -0
- ostk/astrodynamics/trajectory/state/__init__.pyi +406 -0
- ostk/astrodynamics/trajectory/state/coordinate_subset.pyi +223 -0
- ostk/astrodynamics/viewer.py +32 -0
- {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-14.0.0.dist-info}/top_level.txt +0 -0
- {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-14.0.0.dist-info}/zip-safe +0 -0
@@ -0,0 +1,517 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
import ostk.astrodynamics.trajectory
|
3
|
+
import ostk.astrodynamics.trajectory.orbit
|
4
|
+
import ostk.core.type
|
5
|
+
import ostk.mathematics.curve_fitting
|
6
|
+
import ostk.physics.coordinate
|
7
|
+
import ostk.physics.environment.object
|
8
|
+
import ostk.physics.time
|
9
|
+
import ostk.physics.unit
|
10
|
+
import typing
|
11
|
+
from . import brouwerLyddaneMean
|
12
|
+
from . import kepler
|
13
|
+
from . import sgp4
|
14
|
+
__all__ = ['BrouwerLyddaneMean', 'Kepler', 'Propagated', 'SGP4', 'Tabulated', 'brouwerLyddaneMean', 'kepler', 'sgp4']
|
15
|
+
class BrouwerLyddaneMean(kepler.COE):
|
16
|
+
"""
|
17
|
+
|
18
|
+
Brouwer-Lyddane mean orbit elements. This is a parent class, please use the Short or Long child classes as appropriate.
|
19
|
+
|
20
|
+
|
21
|
+
"""
|
22
|
+
@staticmethod
|
23
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
24
|
+
...
|
25
|
+
def __init__(self, semi_major_axis: ostk.physics.unit.Length, eccentricity: ostk.core.type.Real, inclination: ostk.physics.unit.Angle, raan: ostk.physics.unit.Angle, aop: ostk.physics.unit.Angle, mean_anomaly: ostk.physics.unit.Angle) -> None:
|
26
|
+
"""
|
27
|
+
Constructor.
|
28
|
+
|
29
|
+
Args:
|
30
|
+
semi_major_axis (Length): The semi-major axis.
|
31
|
+
eccentricity (float): The eccentricity.
|
32
|
+
inclination (Angle): The inclination.
|
33
|
+
raan (Angle): The right ascension of the ascending node.
|
34
|
+
aop (Angle): The argument of periapsis.
|
35
|
+
mean_anomaly (Angle): The mean anomaly.
|
36
|
+
"""
|
37
|
+
def get_cartesian_state(self, gravitational_parameter: ostk.physics.unit.Derived, frame: ostk.physics.coordinate.Frame) -> tuple[ostk.physics.coordinate.Position, ostk.physics.coordinate.Velocity]:
|
38
|
+
"""
|
39
|
+
Get the Cartesian state of the `BrouwerLyddaneMean` model.
|
40
|
+
|
41
|
+
Args:
|
42
|
+
gravitational_parameter (float): The gravitational parameter of the central body.
|
43
|
+
frame (str): The reference frame in which the state is expressed.
|
44
|
+
|
45
|
+
Returns:
|
46
|
+
CartesianState: The Cartesian state.
|
47
|
+
"""
|
48
|
+
def get_eccentric_anomaly(self) -> ostk.physics.unit.Angle:
|
49
|
+
"""
|
50
|
+
Get the eccentric anomaly of the `BrouwerLyddaneMean` model.
|
51
|
+
|
52
|
+
Returns:
|
53
|
+
Angle: The eccentric anomaly.
|
54
|
+
"""
|
55
|
+
def get_mean_anomaly(self) -> ostk.physics.unit.Angle:
|
56
|
+
"""
|
57
|
+
Get the mean anomaly of the `BrouwerLyddaneMean` model.
|
58
|
+
|
59
|
+
Returns:
|
60
|
+
Angle: The mean anomaly.
|
61
|
+
"""
|
62
|
+
def get_true_anomaly(self) -> ostk.physics.unit.Angle:
|
63
|
+
"""
|
64
|
+
Get the true anomaly of the `BrouwerLyddaneMean` model.
|
65
|
+
|
66
|
+
Returns:
|
67
|
+
Angle: The true anomaly.
|
68
|
+
"""
|
69
|
+
def to_coe(self) -> kepler.COE:
|
70
|
+
"""
|
71
|
+
Convert the `BrouwerLyddaneMean` model to classical orbital elements.
|
72
|
+
|
73
|
+
Returns:
|
74
|
+
COE: The classical orbital elements.
|
75
|
+
"""
|
76
|
+
class Kepler(ostk.astrodynamics.trajectory.orbit.OrbitModel):
|
77
|
+
"""
|
78
|
+
|
79
|
+
A Kepler orbit model.
|
80
|
+
|
81
|
+
Provides the interface for orbit models.
|
82
|
+
|
83
|
+
|
84
|
+
"""
|
85
|
+
class PerturbationType:
|
86
|
+
"""
|
87
|
+
|
88
|
+
The Perturbation Type due to Oblateness
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
Members:
|
93
|
+
|
94
|
+
No : No perturbation
|
95
|
+
|
96
|
+
J2 : J2 perturbation
|
97
|
+
|
98
|
+
J4 : J4 perturbation
|
99
|
+
"""
|
100
|
+
J2: typing.ClassVar[Kepler.PerturbationType] # value = <PerturbationType.J2: 1>
|
101
|
+
J4: typing.ClassVar[Kepler.PerturbationType] # value = <PerturbationType.J4: 2>
|
102
|
+
No: typing.ClassVar[Kepler.PerturbationType] # value = <PerturbationType.No: 0>
|
103
|
+
__members__: typing.ClassVar[dict[str, Kepler.PerturbationType]] # value = {'No': <PerturbationType.No: 0>, 'J2': <PerturbationType.J2: 1>, 'J4': <PerturbationType.J4: 2>}
|
104
|
+
@staticmethod
|
105
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
106
|
+
...
|
107
|
+
def __eq__(self, other: typing.Any) -> bool:
|
108
|
+
...
|
109
|
+
def __getstate__(self) -> int:
|
110
|
+
...
|
111
|
+
def __hash__(self) -> int:
|
112
|
+
...
|
113
|
+
def __index__(self) -> int:
|
114
|
+
...
|
115
|
+
def __init__(self, value: int) -> None:
|
116
|
+
...
|
117
|
+
def __int__(self) -> int:
|
118
|
+
...
|
119
|
+
def __ne__(self, other: typing.Any) -> bool:
|
120
|
+
...
|
121
|
+
def __repr__(self) -> str:
|
122
|
+
...
|
123
|
+
def __setstate__(self, state: int) -> None:
|
124
|
+
...
|
125
|
+
def __str__(self) -> str:
|
126
|
+
...
|
127
|
+
@property
|
128
|
+
def name(self) -> str:
|
129
|
+
...
|
130
|
+
@property
|
131
|
+
def value(self) -> int:
|
132
|
+
...
|
133
|
+
__hash__: typing.ClassVar[None] = None
|
134
|
+
@staticmethod
|
135
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
136
|
+
...
|
137
|
+
@staticmethod
|
138
|
+
def string_from_perturbation_type(perturbation_type: Kepler.PerturbationType) -> ostk.core.type.String:
|
139
|
+
"""
|
140
|
+
Get the string representation of a `PerturbationType`.
|
141
|
+
|
142
|
+
Args:
|
143
|
+
perturbation_type (PerturbationType): The perturbation type.
|
144
|
+
|
145
|
+
Returns:
|
146
|
+
str: The string representation.
|
147
|
+
"""
|
148
|
+
def __eq__(self, arg0: Kepler) -> bool:
|
149
|
+
...
|
150
|
+
@typing.overload
|
151
|
+
def __init__(self, coe: ..., epoch: ostk.physics.time.Instant, gravitational_parameter: ostk.physics.unit.Derived, equatorial_radius: ostk.physics.unit.Length, j2: ostk.core.type.Real, j4: ostk.core.type.Real, perturbation_type: Kepler.PerturbationType) -> None:
|
152
|
+
"""
|
153
|
+
Constructor.
|
154
|
+
|
155
|
+
Args:
|
156
|
+
coe (COE): The classical orbital elements.
|
157
|
+
epoch (Instant): The epoch.
|
158
|
+
gravitational_parameter (Derived): The gravitational parameter.
|
159
|
+
equatorial_radius (Length): The equatorial radius.
|
160
|
+
j2 (float): The J2 coefficient.
|
161
|
+
j4 (float): The J4 coefficient.
|
162
|
+
perturbation_type (PerturbationType): The perturbation type.
|
163
|
+
"""
|
164
|
+
@typing.overload
|
165
|
+
def __init__(self, coe: ..., epoch: ostk.physics.time.Instant, celestial_object: ostk.physics.environment.object.Celestial, perturbation_type: Kepler.PerturbationType, in_fixed_frame: bool = False) -> None:
|
166
|
+
"""
|
167
|
+
Constructor.
|
168
|
+
|
169
|
+
Args:
|
170
|
+
coe (COE): The classical orbital elements.
|
171
|
+
epoch (Instant): The epoch.
|
172
|
+
celestial_object (Celestial): The celestial object.
|
173
|
+
perturbation_type (PerturbationType): The perturbation type.
|
174
|
+
in_fixed_frame (bool): If True, the state is expressed in the fixed frame, otherwise it is expressed in the inertial frame. Default is False.
|
175
|
+
"""
|
176
|
+
def __ne__(self, arg0: Kepler) -> bool:
|
177
|
+
...
|
178
|
+
def __repr__(self) -> str:
|
179
|
+
...
|
180
|
+
def __str__(self) -> str:
|
181
|
+
...
|
182
|
+
def calculate_revolution_number_at(self, instant: ostk.physics.time.Instant) -> ostk.core.type.Integer:
|
183
|
+
"""
|
184
|
+
Calculate the revolution number of the `Kepler` model at a given instant.
|
185
|
+
|
186
|
+
Args:
|
187
|
+
instant (Instant): The instant.
|
188
|
+
|
189
|
+
Returns:
|
190
|
+
int: The revolution number.
|
191
|
+
"""
|
192
|
+
def calculate_state_at(self, instant: ostk.physics.time.Instant) -> ostk.astrodynamics.trajectory.State:
|
193
|
+
"""
|
194
|
+
Calculate the state of the `Kepler` model at a given instant.
|
195
|
+
|
196
|
+
Args:
|
197
|
+
instant (Instant): The instant.
|
198
|
+
|
199
|
+
Returns:
|
200
|
+
State: The state.
|
201
|
+
"""
|
202
|
+
def get_classical_orbital_elements(self) -> ...:
|
203
|
+
"""
|
204
|
+
Get the classical orbital elements of the `Kepler` model.
|
205
|
+
|
206
|
+
Returns:
|
207
|
+
COE: The classical orbital elements.
|
208
|
+
"""
|
209
|
+
def get_epoch(self) -> ostk.physics.time.Instant:
|
210
|
+
"""
|
211
|
+
Get the epoch of the `Kepler` model.
|
212
|
+
|
213
|
+
Returns:
|
214
|
+
Instant: The epoch.
|
215
|
+
"""
|
216
|
+
def get_equatorial_radius(self) -> ostk.physics.unit.Length:
|
217
|
+
"""
|
218
|
+
Get the equatorial radius of the `Kepler` model.
|
219
|
+
|
220
|
+
Returns:
|
221
|
+
Length: The equatorial radius.
|
222
|
+
"""
|
223
|
+
def get_gravitational_parameter(self) -> ostk.physics.unit.Derived:
|
224
|
+
"""
|
225
|
+
Get the gravitational parameter of the `Kepler` model.
|
226
|
+
|
227
|
+
Returns:
|
228
|
+
Derived: The gravitational parameter.
|
229
|
+
"""
|
230
|
+
def get_j2(self) -> ostk.core.type.Real:
|
231
|
+
"""
|
232
|
+
Get the J2 coefficient of the `Kepler` model.
|
233
|
+
|
234
|
+
Returns:
|
235
|
+
float: The J2 coefficient.
|
236
|
+
"""
|
237
|
+
def get_j4(self) -> ostk.core.type.Real:
|
238
|
+
"""
|
239
|
+
Get the J4 coefficient of the `Kepler` model.
|
240
|
+
|
241
|
+
Returns:
|
242
|
+
float: The J4 coefficient.
|
243
|
+
"""
|
244
|
+
def get_perturbation_type(self) -> Kepler.PerturbationType:
|
245
|
+
"""
|
246
|
+
Get the perturbation type of the `Kepler` model.
|
247
|
+
|
248
|
+
Returns:
|
249
|
+
PerturbationType: The perturbation type.
|
250
|
+
"""
|
251
|
+
def get_revolution_number_at_epoch(self) -> ostk.core.type.Integer:
|
252
|
+
"""
|
253
|
+
Get the revolution number at the epoch of the `Kepler` model.
|
254
|
+
|
255
|
+
Returns:
|
256
|
+
int: The revolution number.
|
257
|
+
"""
|
258
|
+
def is_defined(self) -> bool:
|
259
|
+
"""
|
260
|
+
Check if the `Kepler` model is defined.
|
261
|
+
|
262
|
+
Returns:
|
263
|
+
bool: True if the `Kepler` model is defined, False otherwise.
|
264
|
+
"""
|
265
|
+
class Propagated(ostk.astrodynamics.trajectory.orbit.OrbitModel):
|
266
|
+
"""
|
267
|
+
|
268
|
+
A Propagated orbit model.
|
269
|
+
|
270
|
+
Provides the interface for orbit models.
|
271
|
+
|
272
|
+
|
273
|
+
"""
|
274
|
+
__hash__: typing.ClassVar[None] = None
|
275
|
+
@staticmethod
|
276
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
277
|
+
...
|
278
|
+
def __eq__(self, arg0: Propagated) -> bool:
|
279
|
+
...
|
280
|
+
@typing.overload
|
281
|
+
def __init__(self, propagator: ..., state: ostk.astrodynamics.trajectory.State, initial_revolution_number: ostk.core.type.Integer = 1) -> None:
|
282
|
+
"""
|
283
|
+
Constructor.
|
284
|
+
|
285
|
+
Args:
|
286
|
+
propagator (Propagator): The propagator.
|
287
|
+
state (State): The initial state.
|
288
|
+
initial_revolution_number (int, optional): The initial revolution number. Defaults to 1.
|
289
|
+
"""
|
290
|
+
@typing.overload
|
291
|
+
def __init__(self, propagator: ..., state_array: list[ostk.astrodynamics.trajectory.State], initial_revolution_number: ostk.core.type.Integer = 1) -> None:
|
292
|
+
"""
|
293
|
+
Constructor.
|
294
|
+
|
295
|
+
Args:
|
296
|
+
propagator (Propagator): The propagator.
|
297
|
+
state_array (list[State]): The initial state array.
|
298
|
+
initial_revolution_number (int, optional): The initial revolution number. Defaults to 1.
|
299
|
+
"""
|
300
|
+
def __ne__(self, arg0: Propagated) -> bool:
|
301
|
+
...
|
302
|
+
def __repr__(self) -> str:
|
303
|
+
...
|
304
|
+
def __str__(self) -> str:
|
305
|
+
...
|
306
|
+
def access_cached_state_array(self) -> list[ostk.astrodynamics.trajectory.State]:
|
307
|
+
"""
|
308
|
+
Access the cached state array of the `Propagated` model.
|
309
|
+
|
310
|
+
Returns:
|
311
|
+
list[State]: The cached state array.
|
312
|
+
"""
|
313
|
+
def access_propagator(self) -> ...:
|
314
|
+
"""
|
315
|
+
Access the propagator of the `Propagated` model.
|
316
|
+
|
317
|
+
Returns:
|
318
|
+
Propagator: The propagator.
|
319
|
+
"""
|
320
|
+
def calculate_revolution_number_at(self, instant: ostk.physics.time.Instant) -> ostk.core.type.Integer:
|
321
|
+
"""
|
322
|
+
Calculate the revolution number of the `Propagated` model at a given instant.
|
323
|
+
|
324
|
+
Args:
|
325
|
+
instant (Instant): The instant.
|
326
|
+
|
327
|
+
Returns:
|
328
|
+
int: The revolution number.
|
329
|
+
"""
|
330
|
+
def calculate_state_at(self, instant: ostk.physics.time.Instant) -> ostk.astrodynamics.trajectory.State:
|
331
|
+
"""
|
332
|
+
Calculate the state of the `Propagated` model at a given instant.
|
333
|
+
|
334
|
+
Args:
|
335
|
+
instant (Instant): The instant.
|
336
|
+
|
337
|
+
Returns:
|
338
|
+
State: The state.
|
339
|
+
"""
|
340
|
+
def calculate_states_at(self, instants: list[ostk.physics.time.Instant]) -> list[ostk.astrodynamics.trajectory.State]:
|
341
|
+
"""
|
342
|
+
Calculate the states of the `Propagated` model at given instants.
|
343
|
+
|
344
|
+
Args:
|
345
|
+
instants (list[Instant]): The instants.
|
346
|
+
|
347
|
+
Returns:
|
348
|
+
list[State]: The states.
|
349
|
+
"""
|
350
|
+
def get_epoch(self) -> ostk.physics.time.Instant:
|
351
|
+
"""
|
352
|
+
Get the epoch of the `Propagated` model.
|
353
|
+
|
354
|
+
Returns:
|
355
|
+
Instant: The epoch.
|
356
|
+
"""
|
357
|
+
def get_revolution_number_at_epoch(self) -> ostk.core.type.Integer:
|
358
|
+
"""
|
359
|
+
Get the revolution number at the epoch of the `Propagated` model.
|
360
|
+
|
361
|
+
Returns:
|
362
|
+
int: The revolution number.
|
363
|
+
"""
|
364
|
+
def is_defined(self) -> bool:
|
365
|
+
"""
|
366
|
+
Check if the `Propagated` model is defined.
|
367
|
+
|
368
|
+
Returns:
|
369
|
+
bool: True if the `Propagated` model is defined, False otherwise.
|
370
|
+
"""
|
371
|
+
def set_cached_state_array(self, state_array: list[ostk.astrodynamics.trajectory.State]) -> None:
|
372
|
+
"""
|
373
|
+
Set the cached state array of the `Propagated` model.
|
374
|
+
|
375
|
+
Args:
|
376
|
+
state_array (list[State]): The state array.
|
377
|
+
"""
|
378
|
+
class SGP4(ostk.astrodynamics.trajectory.orbit.OrbitModel):
|
379
|
+
"""
|
380
|
+
|
381
|
+
A SGP4 model.
|
382
|
+
|
383
|
+
Provides the interface for orbit models.
|
384
|
+
|
385
|
+
|
386
|
+
"""
|
387
|
+
@staticmethod
|
388
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
389
|
+
...
|
390
|
+
def __init__(self, tle: ...) -> None:
|
391
|
+
"""
|
392
|
+
Constructor.
|
393
|
+
|
394
|
+
Args:
|
395
|
+
tle (TLE): The TLE.
|
396
|
+
"""
|
397
|
+
def calculate_state_at(self, instant: ostk.physics.time.Instant) -> ostk.astrodynamics.trajectory.State:
|
398
|
+
"""
|
399
|
+
Calculate the state of the `SGP4` model at a given instant.
|
400
|
+
|
401
|
+
Args:
|
402
|
+
instant (Instant): The instant.
|
403
|
+
|
404
|
+
Returns:
|
405
|
+
State: The state.
|
406
|
+
"""
|
407
|
+
def get_epoch(self) -> ostk.physics.time.Instant:
|
408
|
+
"""
|
409
|
+
Get the epoch of the `SGP4` model.
|
410
|
+
|
411
|
+
Returns:
|
412
|
+
Instant: The epoch.
|
413
|
+
"""
|
414
|
+
def get_revolution_number_at_epoch(self) -> ostk.core.type.Integer:
|
415
|
+
"""
|
416
|
+
Get the revolution number at the epoch of the `SGP4` model.
|
417
|
+
|
418
|
+
Returns:
|
419
|
+
int: The revolution number.
|
420
|
+
"""
|
421
|
+
def get_tle(self) -> ...:
|
422
|
+
"""
|
423
|
+
Get the TLE of the `SGP4` model.
|
424
|
+
|
425
|
+
Returns:
|
426
|
+
TLE: The TLE.
|
427
|
+
"""
|
428
|
+
def is_defined(self) -> bool:
|
429
|
+
"""
|
430
|
+
Check if the `SGP4` model is defined.
|
431
|
+
|
432
|
+
Returns:
|
433
|
+
bool: True if the `SGP4` model is defined, False otherwise.
|
434
|
+
"""
|
435
|
+
class Tabulated(ostk.astrodynamics.trajectory.orbit.OrbitModel):
|
436
|
+
"""
|
437
|
+
|
438
|
+
Tabulated orbit model.
|
439
|
+
|
440
|
+
|
441
|
+
"""
|
442
|
+
__hash__: typing.ClassVar[None] = None
|
443
|
+
@staticmethod
|
444
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
445
|
+
...
|
446
|
+
def __eq__(self, arg0: Tabulated) -> bool:
|
447
|
+
...
|
448
|
+
def __init__(self, states: list[ostk.astrodynamics.trajectory.State], initial_revolution_number: ostk.core.type.Integer, interpolation_type: ostk.mathematics.curve_fitting.Interpolator.Type = ...) -> None:
|
449
|
+
"""
|
450
|
+
Constructor.
|
451
|
+
|
452
|
+
Args:
|
453
|
+
states (list[State]): The states.
|
454
|
+
initial_revolution_number (int): The initial revolution number.
|
455
|
+
interpolation_type (Interpolator.Type, optional): The interpolation type.
|
456
|
+
"""
|
457
|
+
def __ne__(self, arg0: Tabulated) -> bool:
|
458
|
+
...
|
459
|
+
def __repr__(self) -> str:
|
460
|
+
...
|
461
|
+
def __str__(self) -> str:
|
462
|
+
...
|
463
|
+
def calculate_state_at(self, instant: ostk.physics.time.Instant) -> ostk.astrodynamics.trajectory.State:
|
464
|
+
"""
|
465
|
+
Calculate the state of the `Tabulated` model at a given instant.
|
466
|
+
|
467
|
+
Args:
|
468
|
+
instant (Instant): The instant.
|
469
|
+
|
470
|
+
Returns:
|
471
|
+
State: The state.
|
472
|
+
"""
|
473
|
+
def calculate_states_at(self, instants: list[ostk.physics.time.Instant]) -> list[ostk.astrodynamics.trajectory.State]:
|
474
|
+
"""
|
475
|
+
Calculate the states of the `Tabulated` model at given instants.
|
476
|
+
|
477
|
+
Args:
|
478
|
+
instants (list[Instant]): The instants.
|
479
|
+
|
480
|
+
Returns:
|
481
|
+
list[State]: The states.
|
482
|
+
"""
|
483
|
+
def get_epoch(self) -> ostk.physics.time.Instant:
|
484
|
+
"""
|
485
|
+
Get the epoch of the `Tabulated` model.
|
486
|
+
|
487
|
+
Returns:
|
488
|
+
Instant: The epoch.
|
489
|
+
"""
|
490
|
+
def get_interpolation_type(self) -> ostk.mathematics.curve_fitting.Interpolator.Type:
|
491
|
+
"""
|
492
|
+
Get the interpolation type of the `Tabulated` model.
|
493
|
+
|
494
|
+
Returns:
|
495
|
+
Interpolator.Type: The interpolation type.
|
496
|
+
"""
|
497
|
+
def get_interval(self) -> ostk.physics.time.Interval:
|
498
|
+
"""
|
499
|
+
Get the interval of the `Tabulated` model.
|
500
|
+
|
501
|
+
Returns:
|
502
|
+
Interval: The interval.
|
503
|
+
"""
|
504
|
+
def get_revolution_number_at_epoch(self) -> ostk.core.type.Integer:
|
505
|
+
"""
|
506
|
+
Get the revolution number at the epoch of the `Tabulated` model.
|
507
|
+
|
508
|
+
Returns:
|
509
|
+
int: The revolution number.
|
510
|
+
"""
|
511
|
+
def is_defined(self) -> bool:
|
512
|
+
"""
|
513
|
+
Check if the `Tabulated` model is defined.
|
514
|
+
|
515
|
+
Returns:
|
516
|
+
bool: True if the `Tabulated` model is defined, False otherwise.
|
517
|
+
"""
|
@@ -0,0 +1,127 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
import ostk.astrodynamics.trajectory.orbit.model
|
3
|
+
import ostk.astrodynamics.trajectory.orbit.model.kepler
|
4
|
+
import ostk.core.type
|
5
|
+
import ostk.physics.coordinate
|
6
|
+
import ostk.physics.unit
|
7
|
+
__all__ = ['BrouwerLyddaneMeanLong', 'BrouwerLyddaneMeanShort']
|
8
|
+
class BrouwerLyddaneMeanLong(ostk.astrodynamics.trajectory.orbit.model.BrouwerLyddaneMean):
|
9
|
+
"""
|
10
|
+
|
11
|
+
Brouwer-Lyddane Mean (Long) orbit elements. Short periodic variations and secular variations are averaged.
|
12
|
+
|
13
|
+
|
14
|
+
"""
|
15
|
+
@staticmethod
|
16
|
+
def COE(coe: ostk.astrodynamics.trajectory.orbit.model.kepler.COE) -> BrouwerLyddaneMeanLong:
|
17
|
+
"""
|
18
|
+
Create a `BrouwerLyddaneMeanLong` model from classical orbital elements.
|
19
|
+
|
20
|
+
Args:
|
21
|
+
coe (COE): The classical orbital elements.
|
22
|
+
|
23
|
+
Returns:
|
24
|
+
BrouwerLyddaneMeanLong: The `BrouwerLyddaneMeanLong` model.
|
25
|
+
"""
|
26
|
+
@staticmethod
|
27
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
28
|
+
...
|
29
|
+
@staticmethod
|
30
|
+
def cartesian(cartesian_state: tuple[ostk.physics.coordinate.Position, ostk.physics.coordinate.Velocity], gravitational_parameter: ostk.physics.unit.Derived) -> BrouwerLyddaneMeanLong:
|
31
|
+
"""
|
32
|
+
Create a `BrouwerLyddaneMeanLong` model from Cartesian state.
|
33
|
+
|
34
|
+
Args:
|
35
|
+
cartesian_state (CartesianState): The Cartesian state.
|
36
|
+
gravitational_parameter (float): The gravitational parameter of the central body.
|
37
|
+
|
38
|
+
Returns:
|
39
|
+
BrouwerLyddaneMeanLong: The `BrouwerLyddaneMeanLong` model.
|
40
|
+
"""
|
41
|
+
@staticmethod
|
42
|
+
def undefined() -> BrouwerLyddaneMeanLong:
|
43
|
+
"""
|
44
|
+
Create an undefined `BrouwerLyddaneMeanLong` model.
|
45
|
+
|
46
|
+
Returns:
|
47
|
+
BrouwerLyddaneMeanLong: The undefined `BrouwerLyddaneMeanLong` model.
|
48
|
+
"""
|
49
|
+
def __init__(self, semi_major_axis: ostk.physics.unit.Length, eccentricity: ostk.core.type.Real, inclination: ostk.physics.unit.Angle, raan: ostk.physics.unit.Angle, aop: ostk.physics.unit.Angle, mean_anomaly: ostk.physics.unit.Angle) -> None:
|
50
|
+
"""
|
51
|
+
Constructor.
|
52
|
+
|
53
|
+
Args:
|
54
|
+
semi_major_axis (Length): The semi-major axis.
|
55
|
+
eccentricity (float): The eccentricity.
|
56
|
+
inclination (Angle): The inclination.
|
57
|
+
raan (Angle): The right ascension of the ascending node.
|
58
|
+
aop (Angle): The argument of periapsis.
|
59
|
+
mean_anomaly (Angle): The mean anomaly.
|
60
|
+
"""
|
61
|
+
def to_coe(self) -> ostk.astrodynamics.trajectory.orbit.model.kepler.COE:
|
62
|
+
"""
|
63
|
+
Convert the `BrouwerLyddaneMeanLong` model to classical orbital elements.
|
64
|
+
|
65
|
+
Returns:
|
66
|
+
COE: The classical orbital elements.
|
67
|
+
"""
|
68
|
+
class BrouwerLyddaneMeanShort(ostk.astrodynamics.trajectory.orbit.model.BrouwerLyddaneMean):
|
69
|
+
"""
|
70
|
+
|
71
|
+
Brouwer-Lyddane Mean (Short) orbit elements. Short periodic variations are averaged.
|
72
|
+
|
73
|
+
|
74
|
+
"""
|
75
|
+
@staticmethod
|
76
|
+
def COE(coe: ostk.astrodynamics.trajectory.orbit.model.kepler.COE) -> BrouwerLyddaneMeanShort:
|
77
|
+
"""
|
78
|
+
Create a `BrouwerLyddaneMeanShort` model from classical orbital elements.
|
79
|
+
|
80
|
+
Args:
|
81
|
+
coe (COE): The classical orbital elements.
|
82
|
+
|
83
|
+
Returns:
|
84
|
+
BrouwerLyddaneMeanShort: The `BrouwerLyddaneMeanShort` model.
|
85
|
+
"""
|
86
|
+
@staticmethod
|
87
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
88
|
+
...
|
89
|
+
@staticmethod
|
90
|
+
def cartesian(cartesian_state: tuple[ostk.physics.coordinate.Position, ostk.physics.coordinate.Velocity], gravitational_parameter: ostk.physics.unit.Derived) -> BrouwerLyddaneMeanShort:
|
91
|
+
"""
|
92
|
+
Create a `BrouwerLyddaneMeanShort` model from Cartesian state.
|
93
|
+
|
94
|
+
Args:
|
95
|
+
cartesian_state (CartesianState): The Cartesian state.
|
96
|
+
gravitational_parameter (float): The gravitational parameter of the central body.
|
97
|
+
|
98
|
+
Returns:
|
99
|
+
BrouwerLyddaneMeanShort: The `BrouwerLyddaneMeanShort` model.
|
100
|
+
"""
|
101
|
+
@staticmethod
|
102
|
+
def undefined() -> BrouwerLyddaneMeanShort:
|
103
|
+
"""
|
104
|
+
Create an undefined `BrouwerLyddaneMeanShort` model.
|
105
|
+
|
106
|
+
Returns:
|
107
|
+
BrouwerLyddaneMeanShort: The undefined `BrouwerLyddaneMeanShort` model.
|
108
|
+
"""
|
109
|
+
def __init__(self, semi_major_axis: ostk.physics.unit.Length, eccentricity: ostk.core.type.Real, inclination: ostk.physics.unit.Angle, raan: ostk.physics.unit.Angle, aop: ostk.physics.unit.Angle, mean_anomaly: ostk.physics.unit.Angle) -> None:
|
110
|
+
"""
|
111
|
+
Constructor.
|
112
|
+
|
113
|
+
Args:
|
114
|
+
semi_major_axis (Length): The semi-major axis.
|
115
|
+
eccentricity (float): The eccentricity.
|
116
|
+
inclination (Angle): The inclination.
|
117
|
+
raan (Angle): The right ascension of the ascending node.
|
118
|
+
aop (Angle): The argument of periapsis.
|
119
|
+
mean_anomaly (Angle): The mean anomaly.
|
120
|
+
"""
|
121
|
+
def to_coe(self) -> ostk.astrodynamics.trajectory.orbit.model.kepler.COE:
|
122
|
+
"""
|
123
|
+
Convert the `BrouwerLyddaneMeanShort` model to classical orbital elements.
|
124
|
+
|
125
|
+
Returns:
|
126
|
+
COE: The classical orbital elements.
|
127
|
+
"""
|