open-space-toolkit-astrodynamics 15.2.0__py39-none-manylinux2014_aarch64.whl → 15.2.2__py39-none-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.
- {open_space_toolkit_astrodynamics-15.2.0.dist-info → open_space_toolkit_astrodynamics-15.2.2.dist-info}/METADATA +1 -1
- {open_space_toolkit_astrodynamics-15.2.0.dist-info → open_space_toolkit_astrodynamics-15.2.2.dist-info}/RECORD +12 -12
- ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-39-aarch64-linux-gnu.so +0 -0
- ostk/astrodynamics/__init__.pyi +3 -3
- ostk/astrodynamics/pytrajectory/pystate.py +5 -3
- ostk/astrodynamics/test/trajectory/test_local_orbital_frame_factory.py +1 -0
- ostk/astrodynamics/test/trajectory/test_state.py +64 -13
- ostk/astrodynamics/trajectory/__init__.pyi +7 -0
- ostk/astrodynamics/utilities.py +9 -8
- {open_space_toolkit_astrodynamics-15.2.0.dist-info → open_space_toolkit_astrodynamics-15.2.2.dist-info}/WHEEL +0 -0
- {open_space_toolkit_astrodynamics-15.2.0.dist-info → open_space_toolkit_astrodynamics-15.2.2.dist-info}/top_level.txt +0 -0
- {open_space_toolkit_astrodynamics-15.2.0.dist-info → open_space_toolkit_astrodynamics-15.2.2.dist-info}/zip-safe +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
ostk/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
2
|
-
ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-39-aarch64-linux-gnu.so,sha256=
|
2
|
+
ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-39-aarch64-linux-gnu.so,sha256=hi37An8LbW4uv-hEMtV3H63zS1a4STwqni7CGj_Wo6E,2472088
|
3
3
|
ostk/astrodynamics/__init__.py,sha256=3gWyqFIbhAfcdeMhmfBPQPlPQTmaOzm-6flkJe745Zk,251
|
4
|
-
ostk/astrodynamics/__init__.pyi,sha256=
|
4
|
+
ostk/astrodynamics/__init__.pyi,sha256=rO5EUdMHpv6pOyGqb8lp58JCFsOuY83UHa3XJFVW4rQ,32268
|
5
5
|
ostk/astrodynamics/access.pyi,sha256=oZ8LyjNx6FurUUzFbUwGvdYJu1Li0Oy7MwIZu8erTLU,25841
|
6
6
|
ostk/astrodynamics/converters.py,sha256=luPh30qMp9bzEkN7hUccmxlLf7zRp_AzqmBe8IUjPhU,3314
|
7
7
|
ostk/astrodynamics/converters.pyi,sha256=HrZFyizkc6Hv_K38ZKZ80fX_bAxd6keA_NFWNQygvbs,1745
|
@@ -13,7 +13,7 @@ ostk/astrodynamics/event_condition.pyi,sha256=-Tq6cqr00lZPpoMnCPDRB0MB-MinM60oCN
|
|
13
13
|
ostk/astrodynamics/guidance_law.pyi,sha256=pEoAL9CDFWNulOLv6wea3xj1fJI3xFtgx-2eYMEftJI,12507
|
14
14
|
ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.15,sha256=m2xvWOUk4uUDP01xfQuCiIKahwAgOirCtH7MhWX67PU,3802536
|
15
15
|
ostk/astrodynamics/solver.pyi,sha256=tjFkzoxW6h6grMGpqKsgyXyYH9R6lLg6LEV2v5_X6yk,18238
|
16
|
-
ostk/astrodynamics/utilities.py,sha256=
|
16
|
+
ostk/astrodynamics/utilities.py,sha256=y8mr3M46J5z-GhS1oIEnuEJA6otwcyJ9YDhvn_5JxHM,6976
|
17
17
|
ostk/astrodynamics/viewer.py,sha256=SpcvBqXx3CAZpk7UGOPT1ilxywmAmNpgqpuRY11Hwx0,16376
|
18
18
|
ostk/astrodynamics/conjunction/__init__.pyi,sha256=HFvWl8bCmrq3cBkUh5X5RGIh8webmVGxaZdpsz3WN-E,79
|
19
19
|
ostk/astrodynamics/conjunction/message/__init__.pyi,sha256=5H__sg_QUx7ybf9jtVWvXzrUHeK3ECotfhddAdHjJUc,75
|
@@ -26,7 +26,7 @@ ostk/astrodynamics/flight/profile/__init__.pyi,sha256=bcvyB8BUlv2Mbjr98piFaiN_tB
|
|
26
26
|
ostk/astrodynamics/flight/profile/model.pyi,sha256=EEN8V3JGTcvM5sX33lkJnE0av9yPtzn0gJcBmZeai9M,6963
|
27
27
|
ostk/astrodynamics/pytrajectory/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
28
28
|
ostk/astrodynamics/pytrajectory/__init__.pyi,sha256=QWrGyQNiICBEI3pKku2wJYdu-SQCBKXjJ_93XTEgkP8,79
|
29
|
-
ostk/astrodynamics/pytrajectory/pystate.py,sha256=
|
29
|
+
ostk/astrodynamics/pytrajectory/pystate.py,sha256=c0wR5OJn070ImwVJtW25XhEW7d2_8jkAd168Fo9u6K8,7959
|
30
30
|
ostk/astrodynamics/pytrajectory/pystate.pyi,sha256=dbYwAoyZo9ZgLjms8nH9s_OhxlmxMLLILR-wXGqphbw,3320
|
31
31
|
ostk/astrodynamics/test/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
32
32
|
ostk/astrodynamics/test/conftest.py,sha256=stmQOt7UXjBlXKJzNN6RkS2miv1xXSOX-YNpFhaHTqI,2771
|
@@ -82,13 +82,13 @@ ostk/astrodynamics/test/solvers/test_least_squares_solver.py,sha256=fkJnaT8vPVDl
|
|
82
82
|
ostk/astrodynamics/test/solvers/test_temporal_condition_solver.py,sha256=OUb7QDwe5WNAtzOLBk-9cBL56PzzadZhXuBo_MiJ2K4,5189
|
83
83
|
ostk/astrodynamics/test/trajectory/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
84
84
|
ostk/astrodynamics/test/trajectory/test_local_orbital_frame_direction.py,sha256=d72J50UGG9m0Atei0UQ8sITU1WdJmws5xgUiacLZMbw,2515
|
85
|
-
ostk/astrodynamics/test/trajectory/test_local_orbital_frame_factory.py,sha256=
|
85
|
+
ostk/astrodynamics/test/trajectory/test_local_orbital_frame_factory.py,sha256=s1V-zCd2SDEW6Ia6KmXTNiLwakJ5XjeSjlGat-hZTd0,3431
|
86
86
|
ostk/astrodynamics/test/trajectory/test_model.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
87
87
|
ostk/astrodynamics/test/trajectory/test_orbit.py,sha256=vp7gDMtjO7nqERe0yq1OQZ0p4QRtxGTjGKN5-I3LWZM,6739
|
88
88
|
ostk/astrodynamics/test/trajectory/test_propagator.py,sha256=ALjMvzndO9r6dVVXllk0iqu61tEoqu2j25MtzEitDIQ,14076
|
89
89
|
ostk/astrodynamics/test/trajectory/test_segment.py,sha256=aXdF5CpNLwN_hKRU5sG3ID3hJR-NZ1_kgtNA-xHMBkM,12223
|
90
90
|
ostk/astrodynamics/test/trajectory/test_sequence.py,sha256=iCNDDqEGoo4WZIOOov0qKGzrxjg7yWVIk8ajfKMhgI4,14503
|
91
|
-
ostk/astrodynamics/test/trajectory/test_state.py,sha256=
|
91
|
+
ostk/astrodynamics/test/trajectory/test_state.py,sha256=th1BvTIhmgsPPFTbVnpR3URvqYFrf0oyluJyoPP7TPI,17135
|
92
92
|
ostk/astrodynamics/test/trajectory/test_state_builder.py,sha256=LpCCYdCaLu_D2npm9wgA2sMlcekrtbRqP-afe5IE5L4,4871
|
93
93
|
ostk/astrodynamics/test/trajectory/orbit/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
94
94
|
ostk/astrodynamics/test/trajectory/orbit/test_model.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
@@ -118,7 +118,7 @@ ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_attitude_quatern
|
|
118
118
|
ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_cartesian_acceleration.py,sha256=1p37_FYN85d9SrOqO3iCkNecovJJayhnFeZ4QCOw2ao,3528
|
119
119
|
ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_cartesian_position.py,sha256=XvHdk1KjacTwtkgx2jUAc9I9N3nvjPDv03FAanpv8jQ,2702
|
120
120
|
ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_cartesian_velocity.py,sha256=-kd5TZO5TICihbkqDTew2i_tDpggdpe3Yf23046FATM,3057
|
121
|
-
ostk/astrodynamics/trajectory/__init__.pyi,sha256=
|
121
|
+
ostk/astrodynamics/trajectory/__init__.pyi,sha256=FYXlkA_Qd2veloeyibLZWpyyDGUzgyF_d-X6wIfBVbI,76717
|
122
122
|
ostk/astrodynamics/trajectory/orbit/__init__.pyi,sha256=5tSyJ6obT35BcXW8xQwcUhfTAeM9l9nWm72lAjRE7ik,13235
|
123
123
|
ostk/astrodynamics/trajectory/orbit/message/__init__.pyi,sha256=-GNBlYPrsjelhKxWorYQYhIWzFsibiIQNZvMXjhRpfM,77
|
124
124
|
ostk/astrodynamics/trajectory/orbit/message/spacex.pyi,sha256=TFNTSfGQ4CK6CKCeKwC5s2ul8FCShFE7wMegZTuA5e0,10816
|
@@ -128,8 +128,8 @@ ostk/astrodynamics/trajectory/orbit/model/kepler.pyi,sha256=09xlx_7dTiivctFDyW_3
|
|
128
128
|
ostk/astrodynamics/trajectory/orbit/model/sgp4.pyi,sha256=2rxyPPsSCtsEKAShuZQbhZSybK01Q9u1CMieGjwWxN4,14313
|
129
129
|
ostk/astrodynamics/trajectory/state/__init__.pyi,sha256=-sq42oF9YgXSkP1LtPcSu7mmtpjUkEzjydD9VYdIQ6g,17672
|
130
130
|
ostk/astrodynamics/trajectory/state/coordinate_subset.pyi,sha256=iqoM-8RqiLNIsyiQXLfosvGO7ZP_KdQxrUWqiV04E1c,10566
|
131
|
-
open_space_toolkit_astrodynamics-15.2.
|
132
|
-
open_space_toolkit_astrodynamics-15.2.
|
133
|
-
open_space_toolkit_astrodynamics-15.2.
|
134
|
-
open_space_toolkit_astrodynamics-15.2.
|
135
|
-
open_space_toolkit_astrodynamics-15.2.
|
131
|
+
open_space_toolkit_astrodynamics-15.2.2.dist-info/METADATA,sha256=DNTGnzqt-YTUTGQ1dqUe9K5pX8CxI8NQ9_xoRVFOk58,1913
|
132
|
+
open_space_toolkit_astrodynamics-15.2.2.dist-info/WHEEL,sha256=I6ujQD6xXBAkzWp6X9lhQTBny_Z_CrwMK1o4U1hjf0c,110
|
133
|
+
open_space_toolkit_astrodynamics-15.2.2.dist-info/top_level.txt,sha256=zOR18699uDYnafgarhL8WU_LmTZY_5NVqutv-flp_x4,5
|
134
|
+
open_space_toolkit_astrodynamics-15.2.2.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
135
|
+
open_space_toolkit_astrodynamics-15.2.2.dist-info/RECORD,,
|
Binary file
|
ostk/astrodynamics/__init__.pyi
CHANGED
@@ -5,8 +5,8 @@ from ostk.astrodynamics.trajectory import State as PyState
|
|
5
5
|
from ostk import core as OpenSpaceToolkitCorePy
|
6
6
|
from ostk.core import container
|
7
7
|
from ostk.core import filesystem
|
8
|
-
from ostk.core import type
|
9
8
|
import ostk.core.type
|
9
|
+
from ostk.core import type
|
10
10
|
from ostk import io as OpenSpaceToolkitIOPy
|
11
11
|
from ostk.io import URL
|
12
12
|
from ostk.io import ip
|
@@ -19,15 +19,15 @@ from ostk import physics as OpenSpaceToolkitPhysicsPy
|
|
19
19
|
from ostk.physics import Environment
|
20
20
|
from ostk.physics import Manager
|
21
21
|
from ostk.physics import Unit
|
22
|
-
from ostk.physics import coordinate
|
23
22
|
import ostk.physics.coordinate
|
23
|
+
from ostk.physics import coordinate
|
24
24
|
import ostk.physics.coordinate.spherical
|
25
25
|
from ostk.physics import environment
|
26
26
|
import ostk.physics.environment.object
|
27
27
|
import ostk.physics.time
|
28
28
|
from ostk.physics import time
|
29
|
-
import ostk.physics.unit
|
30
29
|
from ostk.physics import unit
|
30
|
+
import ostk.physics.unit
|
31
31
|
import typing
|
32
32
|
from . import access
|
33
33
|
from . import conjunction
|
@@ -216,21 +216,23 @@ def from_dict(data: dict) -> State:
|
|
216
216
|
],
|
217
217
|
)
|
218
218
|
|
219
|
-
if "drag_coefficient"
|
219
|
+
if (data.get("drag_coefficient") is not None) or (data.get("cd") is not None):
|
220
220
|
coordinate_subsets.append(CoordinateSubset.drag_coefficient())
|
221
221
|
coordinates = np.append(
|
222
222
|
coordinates,
|
223
223
|
data.get("drag_coefficient", data.get("cd")),
|
224
224
|
)
|
225
225
|
|
226
|
-
if "cross_sectional_area"
|
226
|
+
if (data.get("cross_sectional_area") is not None) or (
|
227
|
+
data.get("surface_area") is not None
|
228
|
+
):
|
227
229
|
coordinate_subsets.append(CoordinateSubset.surface_area())
|
228
230
|
coordinates = np.append(
|
229
231
|
coordinates,
|
230
232
|
data.get("cross_sectional_area", data.get("surface_area")),
|
231
233
|
)
|
232
234
|
|
233
|
-
if "mass"
|
235
|
+
if data.get("mass") is not None:
|
234
236
|
coordinate_subsets.append(CoordinateSubset.mass())
|
235
237
|
coordinates = np.append(
|
236
238
|
coordinates,
|
@@ -78,6 +78,7 @@ class TestLocalOrbitalFrameFactory:
|
|
78
78
|
local_orbital_frame_factory: LocalOrbitalFrameFactory,
|
79
79
|
):
|
80
80
|
assert parent_frame == local_orbital_frame_factory.access_parent_frame()
|
81
|
+
assert local_orbital_frame_factory.get_provider_type() is not None
|
81
82
|
|
82
83
|
def test_generate_frame(
|
83
84
|
self,
|
@@ -180,7 +180,7 @@ class TestState:
|
|
180
180
|
assert custom_state is not state
|
181
181
|
|
182
182
|
def test_from_dict_with_eci_coordinates(self):
|
183
|
-
data = {
|
183
|
+
data: dict = {
|
184
184
|
"timestamp": datetime.now(timezone.utc),
|
185
185
|
"rx_eci": 7000.0,
|
186
186
|
"ry_eci": 0.0,
|
@@ -198,7 +198,7 @@ class TestState:
|
|
198
198
|
assert state.get_size() == 6
|
199
199
|
|
200
200
|
def test_from_dict_with_ecef_coordinates(self):
|
201
|
-
data = {
|
201
|
+
data: dict = {
|
202
202
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
203
203
|
"rx_ecef": 7000.0,
|
204
204
|
"ry_ecef": 0.0,
|
@@ -216,7 +216,7 @@ class TestState:
|
|
216
216
|
assert state.get_size() == 6
|
217
217
|
|
218
218
|
def test_from_dict_with_generic_coordinates(self):
|
219
|
-
data = {
|
219
|
+
data: dict = {
|
220
220
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
221
221
|
"rx": 7000.0,
|
222
222
|
"ry": 0.0,
|
@@ -237,7 +237,7 @@ class TestState:
|
|
237
237
|
with pytest.raises(
|
238
238
|
ValueError, match="Frame must be provided for generic columns."
|
239
239
|
):
|
240
|
-
data = {
|
240
|
+
data: dict = {
|
241
241
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
242
242
|
"rx": 7000.0,
|
243
243
|
"ry": 0.0,
|
@@ -250,7 +250,7 @@ class TestState:
|
|
250
250
|
State.from_dict(data)
|
251
251
|
|
252
252
|
with pytest.raises(ValueError, match="No frame exists with name \\[RANDOM\\]."):
|
253
|
-
data = {
|
253
|
+
data: dict = {
|
254
254
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
255
255
|
"rx": 7000.0,
|
256
256
|
"ry": 0.0,
|
@@ -264,7 +264,7 @@ class TestState:
|
|
264
264
|
State.from_dict(data)
|
265
265
|
|
266
266
|
with pytest.raises(ValueError, match="Invalid frame data \\[123\\]"):
|
267
|
-
data = {
|
267
|
+
data: dict = {
|
268
268
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
269
269
|
"rx": 7000.0,
|
270
270
|
"ry": 0.0,
|
@@ -278,7 +278,7 @@ class TestState:
|
|
278
278
|
State.from_dict(data)
|
279
279
|
|
280
280
|
def test_from_dict_with_attitude_quaternion(self):
|
281
|
-
data = {
|
281
|
+
data: dict = {
|
282
282
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
283
283
|
"rx_eci": 7000.0,
|
284
284
|
"ry_eci": 0.0,
|
@@ -300,7 +300,7 @@ class TestState:
|
|
300
300
|
assert state.get_size() == 10
|
301
301
|
|
302
302
|
def test_from_dict_with_angular_velocity(self):
|
303
|
-
data = {
|
303
|
+
data: dict = {
|
304
304
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
305
305
|
"rx_eci": 7000.0,
|
306
306
|
"ry_eci": 0.0,
|
@@ -320,7 +320,7 @@ class TestState:
|
|
320
320
|
assert state.get_size() == 9
|
321
321
|
|
322
322
|
def test_from_dict_with_drag_coefficient(self):
|
323
|
-
data = {
|
323
|
+
data: dict = {
|
324
324
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
325
325
|
"rx_eci": 7000.0,
|
326
326
|
"ry_eci": 0.0,
|
@@ -337,7 +337,7 @@ class TestState:
|
|
337
337
|
assert isinstance(state, State)
|
338
338
|
assert state.get_size() == 7
|
339
339
|
|
340
|
-
data = {
|
340
|
+
data: dict = {
|
341
341
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
342
342
|
"rx_eci": 7000.0,
|
343
343
|
"ry_eci": 0.0,
|
@@ -354,8 +354,25 @@ class TestState:
|
|
354
354
|
assert isinstance(state, State)
|
355
355
|
assert state.get_size() == 7
|
356
356
|
|
357
|
+
data: dict = {
|
358
|
+
"timestamp": datetime.now(timezone.utc).isoformat(),
|
359
|
+
"rx_eci": 7000.0,
|
360
|
+
"ry_eci": 0.0,
|
361
|
+
"rz_eci": 0.0,
|
362
|
+
"vx_eci": 0.0,
|
363
|
+
"vy_eci": 7.5,
|
364
|
+
"vz_eci": 0.0,
|
365
|
+
"drag_coefficient": None,
|
366
|
+
}
|
367
|
+
|
368
|
+
state: State = State.from_dict(data)
|
369
|
+
|
370
|
+
assert state is not None
|
371
|
+
assert isinstance(state, State)
|
372
|
+
assert state.get_size() == 6
|
373
|
+
|
357
374
|
def test_from_dict_with_surface_area(self):
|
358
|
-
data = {
|
375
|
+
data: dict = {
|
359
376
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
360
377
|
"rx_eci": 7000.0,
|
361
378
|
"ry_eci": 0.0,
|
@@ -372,7 +389,7 @@ class TestState:
|
|
372
389
|
assert isinstance(state, State)
|
373
390
|
assert state.get_size() == 7
|
374
391
|
|
375
|
-
data = {
|
392
|
+
data: dict = {
|
376
393
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
377
394
|
"rx_eci": 7000.0,
|
378
395
|
"ry_eci": 0.0,
|
@@ -389,8 +406,25 @@ class TestState:
|
|
389
406
|
assert isinstance(state, State)
|
390
407
|
assert state.get_size() == 7
|
391
408
|
|
409
|
+
data: dict = {
|
410
|
+
"timestamp": datetime.now(timezone.utc).isoformat(),
|
411
|
+
"rx_eci": 7000.0,
|
412
|
+
"ry_eci": 0.0,
|
413
|
+
"rz_eci": 0.0,
|
414
|
+
"vx_eci": 0.0,
|
415
|
+
"vy_eci": 7.5,
|
416
|
+
"vz_eci": 0.0,
|
417
|
+
"cross_sectional_area": None,
|
418
|
+
}
|
419
|
+
|
420
|
+
state: State = State.from_dict(data)
|
421
|
+
|
422
|
+
assert state is not None
|
423
|
+
assert isinstance(state, State)
|
424
|
+
assert state.get_size() == 6
|
425
|
+
|
392
426
|
def test_from_dict_with_mass(self):
|
393
|
-
data = {
|
427
|
+
data: dict = {
|
394
428
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
395
429
|
"rx_eci": 7000.0,
|
396
430
|
"ry_eci": 0.0,
|
@@ -407,6 +441,23 @@ class TestState:
|
|
407
441
|
assert isinstance(state, State)
|
408
442
|
assert state.get_size() == 7
|
409
443
|
|
444
|
+
data: dict = {
|
445
|
+
"timestamp": datetime.now(timezone.utc).isoformat(),
|
446
|
+
"rx_eci": 7000.0,
|
447
|
+
"ry_eci": 0.0,
|
448
|
+
"rz_eci": 0.0,
|
449
|
+
"vx_eci": 0.0,
|
450
|
+
"vy_eci": 7.5,
|
451
|
+
"vz_eci": 0.0,
|
452
|
+
"mass": None,
|
453
|
+
}
|
454
|
+
|
455
|
+
state: State = State.from_dict(data)
|
456
|
+
|
457
|
+
assert state is not None
|
458
|
+
assert isinstance(state, State)
|
459
|
+
assert state.get_size() == 6
|
460
|
+
|
410
461
|
@pytest.mark.parametrize(
|
411
462
|
("data", "expected_length", "expected_frame"),
|
412
463
|
[
|
@@ -195,6 +195,13 @@ class LocalOrbitalFrameFactory:
|
|
195
195
|
Returns:
|
196
196
|
Frame: The local orbital frame.
|
197
197
|
"""
|
198
|
+
def get_provider_type(self) -> LocalOrbitalFrameTransformProvider.Type:
|
199
|
+
"""
|
200
|
+
Get the provider type.
|
201
|
+
|
202
|
+
Returns:
|
203
|
+
LocalOrbitalFrameTransformProvider.Type: The provider type.
|
204
|
+
"""
|
198
205
|
def is_defined(self) -> bool:
|
199
206
|
"""
|
200
207
|
Check if the local orbital frame factory is defined.
|
ostk/astrodynamics/utilities.py
CHANGED
@@ -5,8 +5,6 @@ from __future__ import annotations
|
|
5
5
|
from datetime import datetime
|
6
6
|
from datetime import timezone
|
7
7
|
|
8
|
-
from .OpenSpaceToolkitAstrodynamicsPy import *
|
9
|
-
|
10
8
|
from ostk.physics import Environment
|
11
9
|
from ostk.physics.time import Scale
|
12
10
|
from ostk.physics.time import Instant
|
@@ -20,13 +18,16 @@ from ostk.physics.coordinate import Frame
|
|
20
18
|
from ostk.physics.environment.object.celestial import Earth
|
21
19
|
from ostk.physics.environment.gravitational import Earth as EarthGravitationalModel
|
22
20
|
|
21
|
+
from ostk.astrodynamics import Trajectory
|
22
|
+
from ostk.astrodynamics.trajectory import State
|
23
|
+
|
23
24
|
|
24
|
-
def lla_from_state(state:
|
25
|
+
def lla_from_state(state: State) -> LLA:
|
25
26
|
"""
|
26
27
|
Return latitude (degrees), longitude (degrees), altitude (meters) float list from a state.
|
27
28
|
|
28
29
|
Args:
|
29
|
-
state (
|
30
|
+
state (State): A state.
|
30
31
|
|
31
32
|
Returns:
|
32
33
|
LLA: The LLA.
|
@@ -115,7 +116,7 @@ def compute_aer(
|
|
115
116
|
|
116
117
|
|
117
118
|
def compute_time_lla_aer_coordinates(
|
118
|
-
state:
|
119
|
+
state: State,
|
119
120
|
from_position: Position,
|
120
121
|
environment: Environment,
|
121
122
|
) -> tuple[datetime, float, float, float, float, float, float]:
|
@@ -123,7 +124,7 @@ def compute_time_lla_aer_coordinates(
|
|
123
124
|
Return [datetime, latitude, longitude, altitude, azimuth, elevation, range] from State and observer Position.
|
124
125
|
|
125
126
|
Args:
|
126
|
-
state (
|
127
|
+
state (State): A state.
|
127
128
|
from_position (Position): An observer position.
|
128
129
|
environment (Environment): An environment.
|
129
130
|
|
@@ -209,7 +210,7 @@ def compute_ground_track(
|
|
209
210
|
|
210
211
|
|
211
212
|
def convert_state(
|
212
|
-
state:
|
213
|
+
state: State,
|
213
214
|
) -> tuple[str, float, float, float, float, float, float, float, float, float]:
|
214
215
|
"""
|
215
216
|
Convert a State into dataframe-ready values.
|
@@ -226,7 +227,7 @@ def convert_state(
|
|
226
227
|
- Altitude [meters] (float)
|
227
228
|
|
228
229
|
Args:
|
229
|
-
state (
|
230
|
+
state (State): A state.
|
230
231
|
|
231
232
|
Returns:
|
232
233
|
tuple[str, float, float, float, float, float, float, float, float, float]: The dataframe-ready values.
|
File without changes
|
File without changes
|
File without changes
|