open-space-toolkit-astrodynamics 5.3.0__py310-none-any.whl → 6.0.0__py310-none-any.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-5.3.0.dist-info → open_space_toolkit_astrodynamics-6.0.0.dist-info}/METADATA +1 -1
- {open_space_toolkit_astrodynamics-5.3.0.dist-info → open_space_toolkit_astrodynamics-6.0.0.dist-info}/RECORD +11 -11
- ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-310-x86_64-linux-gnu.so +0 -0
- ostk/astrodynamics/{libopen-space-toolkit-astrodynamics.so.5 → libopen-space-toolkit-astrodynamics.so.6} +0 -0
- ostk/astrodynamics/test/test_utilities.py +35 -15
- ostk/astrodynamics/test/trajectory/orbit/test_pass.py +11 -14
- ostk/astrodynamics/test/trajectory/test_orbit.py +3 -3
- ostk/astrodynamics/utilities.py +31 -24
- {open_space_toolkit_astrodynamics-5.3.0.dist-info → open_space_toolkit_astrodynamics-6.0.0.dist-info}/WHEEL +0 -0
- {open_space_toolkit_astrodynamics-5.3.0.dist-info → open_space_toolkit_astrodynamics-6.0.0.dist-info}/top_level.txt +0 -0
- {open_space_toolkit_astrodynamics-5.3.0.dist-info → open_space_toolkit_astrodynamics-6.0.0.dist-info}/zip-safe +0 -0
@@ -1,10 +1,10 @@
|
|
1
1
|
ostk/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
2
|
-
ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-310-x86_64-linux-gnu.so,sha256=
|
2
|
+
ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-310-x86_64-linux-gnu.so,sha256=cCm6Ln9DntutJldqfvzZ33jetPFWEHdWnEZ7V_STpNY,2029400
|
3
3
|
ostk/astrodynamics/__init__.py,sha256=3gWyqFIbhAfcdeMhmfBPQPlPQTmaOzm-6flkJe745Zk,251
|
4
4
|
ostk/astrodynamics/converters.py,sha256=IUxJK5qNzDMsqMSiMT6hUThCjncKoIMW0ifu8kwbww0,4680
|
5
5
|
ostk/astrodynamics/display.py,sha256=y9FnoQbPFGM6LzkUdgXgeqtuVGhv57GuTKbeDdcFPgw,6306
|
6
|
-
ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.
|
7
|
-
ostk/astrodynamics/utilities.py,sha256=
|
6
|
+
ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.6,sha256=pcm6fERimZWFhSlMWSmNP481pzxrFX3IMuqed3QVNZI,98626392
|
7
|
+
ostk/astrodynamics/utilities.py,sha256=PDexbTDbx46aYKqK5b4pjLYSY6NGc4Wx9FwafOkJ4EU,4821
|
8
8
|
ostk/astrodynamics/viewer.py,sha256=B5m-eNWQrd4vIBqmT7-400IfHldxU5lFDTLpfHiiHj4,8910
|
9
9
|
ostk/astrodynamics/pytrajectory/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
10
10
|
ostk/astrodynamics/pytrajectory/pystate.py,sha256=ceNZWYCqtsXWJlE6JKDxB5qn5ixTWGOwrYXge21XPmk,1037
|
@@ -17,7 +17,7 @@ ostk/astrodynamics/test/test_event_condition.py,sha256=mhMTH7wAoYFWRYt_8l2d1vjNP
|
|
17
17
|
ostk/astrodynamics/test/test_import.py,sha256=stS8jK9HiXyzRWjtDvaTqUrzCrOVnYVX5CkmQf7MJsA,1201
|
18
18
|
ostk/astrodynamics/test/test_root_solver.py,sha256=hQ8O6g-WP49gZH_H3Rdufv0F0gQorpzJyIcjBGGUQ34,1831
|
19
19
|
ostk/astrodynamics/test/test_trajectory.py,sha256=pvv4GQsvtU0XfWYk-F-oQNgo8ciFQBgzeJ4FojZDW-A,1364
|
20
|
-
ostk/astrodynamics/test/test_utilities.py,sha256=
|
20
|
+
ostk/astrodynamics/test/test_utilities.py,sha256=YnJ7czgRjJ5bkYr33KF5wY5A-P0lJg2q0-_mI7spvYs,3620
|
21
21
|
ostk/astrodynamics/test/test_viewer.py,sha256=i164XnG6n-_FteiO6rjXA7GGsJhMdmT-508DpKaveVY,3957
|
22
22
|
ostk/astrodynamics/test/access/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
23
23
|
ostk/astrodynamics/test/access/test_generator.py,sha256=6cwC5GGvnWLxPXmgRQ-N7tjorGUfPxA8qFcdGaTmpp4,8038
|
@@ -59,7 +59,7 @@ ostk/astrodynamics/test/trajectory/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZI
|
|
59
59
|
ostk/astrodynamics/test/trajectory/test_local_orbital_frame_direction.py,sha256=d72J50UGG9m0Atei0UQ8sITU1WdJmws5xgUiacLZMbw,2515
|
60
60
|
ostk/astrodynamics/test/trajectory/test_local_orbital_frame_factory.py,sha256=FziYh9XxD2FEuj6WhnqOe5mF9twLTQtvcem8KzQZKXg,1864
|
61
61
|
ostk/astrodynamics/test/trajectory/test_model.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
62
|
-
ostk/astrodynamics/test/trajectory/test_orbit.py,sha256=
|
62
|
+
ostk/astrodynamics/test/trajectory/test_orbit.py,sha256=dFZRN2E538lG6ZaiRBWUDMtKzgMIKnFILV3yeofRV1I,5075
|
63
63
|
ostk/astrodynamics/test/trajectory/test_propagator.py,sha256=kEAvrFM4MZouAAnYPi91akPSXWHbGxHTo5uaXQKexII,12631
|
64
64
|
ostk/astrodynamics/test/trajectory/test_segment.py,sha256=5XSCPUVrE6_oz8tsZeAb9mzQoLUuyUlfgJ-rWP54-ao,9170
|
65
65
|
ostk/astrodynamics/test/trajectory/test_sequence.py,sha256=N3jPB31P4i13ocYITaVMLiMfczpATmDLVbNdImM68tQ,12909
|
@@ -67,7 +67,7 @@ ostk/astrodynamics/test/trajectory/test_state.py,sha256=rW0HH7oy_tZ-34VIhk2rx_v2
|
|
67
67
|
ostk/astrodynamics/test/trajectory/test_state_builder.py,sha256=3C8JeN8VGgUzEASgh5PfnJQ2JWGkKYTm7eaelE6Lw7E,4815
|
68
68
|
ostk/astrodynamics/test/trajectory/orbit/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
69
69
|
ostk/astrodynamics/test/trajectory/orbit/test_model.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
70
|
-
ostk/astrodynamics/test/trajectory/orbit/test_pass.py,sha256=
|
70
|
+
ostk/astrodynamics/test/trajectory/orbit/test_pass.py,sha256=p6YCtb-QhCS_En3ECaSM2sJsWEnqXzmWaCmai_SuK0U,2191
|
71
71
|
ostk/astrodynamics/test/trajectory/orbit/messages/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
72
72
|
ostk/astrodynamics/test/trajectory/orbit/messages/spacex/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
73
73
|
ostk/astrodynamics/test/trajectory/orbit/messages/spacex/conftest.py,sha256=O75ywkPJjoFp0uKptCu4C2tGMRaGN-8NVFVhps85eWE,379
|
@@ -92,8 +92,8 @@ ostk/astrodynamics/test/trajectory/state/coordinates_subset/test_angular_velocit
|
|
92
92
|
ostk/astrodynamics/test/trajectory/state/coordinates_subset/test_attitude_quaternion.py,sha256=B1Tni_YpKB9Fzb0fpXSokw9DjgiZem9uBATMQbcq8P4,394
|
93
93
|
ostk/astrodynamics/test/trajectory/state/coordinates_subset/test_cartesian_position.py,sha256=L3MpDG9MDHbK2HPZejqiY0QJdiEB-FZe0rVGDl379YA,2722
|
94
94
|
ostk/astrodynamics/test/trajectory/state/coordinates_subset/test_cartesian_velocity.py,sha256=k0aNqdMwwt-XSFQ1Si8kDTY79SB7fC0WWm2UNjpaOI0,3077
|
95
|
-
open_space_toolkit_astrodynamics-
|
96
|
-
open_space_toolkit_astrodynamics-
|
97
|
-
open_space_toolkit_astrodynamics-
|
98
|
-
open_space_toolkit_astrodynamics-
|
99
|
-
open_space_toolkit_astrodynamics-
|
95
|
+
open_space_toolkit_astrodynamics-6.0.0.dist-info/METADATA,sha256=S1Y1p4wX6YCRlOm_yajNftMXaoccfzjKuMcGCxvGSTw,1777
|
96
|
+
open_space_toolkit_astrodynamics-6.0.0.dist-info/WHEEL,sha256=XkTLBzO5wFUCdDVOL_PmxLzXmVEkMy5iQkBhGoKUwtk,94
|
97
|
+
open_space_toolkit_astrodynamics-6.0.0.dist-info/top_level.txt,sha256=zOR18699uDYnafgarhL8WU_LmTZY_5NVqutv-flp_x4,5
|
98
|
+
open_space_toolkit_astrodynamics-6.0.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
99
|
+
open_space_toolkit_astrodynamics-6.0.0.dist-info/RECORD,,
|
Binary file
|
Binary file
|
@@ -23,12 +23,15 @@ State = astrodynamics.flight.profile.State
|
|
23
23
|
|
24
24
|
|
25
25
|
class TestUtilities:
|
26
|
-
def test_lla_from_state(
|
27
|
-
|
26
|
+
def test_lla_from_state(
|
27
|
+
self,
|
28
|
+
state: State,
|
29
|
+
):
|
30
|
+
lla: tuple[float, float, float] = utilities.lla_from_state(state)
|
28
31
|
|
29
32
|
assert lla is not None
|
30
33
|
assert len(lla) == 3
|
31
|
-
assert isinstance(lla,
|
34
|
+
assert isinstance(lla, tuple)
|
32
35
|
assert isinstance(lla[0], float)
|
33
36
|
assert lla[0] >= -90.0 and lla[0] <= 90.0
|
34
37
|
assert isinstance(lla[1], float)
|
@@ -47,13 +50,16 @@ class TestUtilities:
|
|
47
50
|
assert isinstance(lla, LLA)
|
48
51
|
assert lla.is_defined()
|
49
52
|
|
50
|
-
lla_from_state:
|
53
|
+
lla_from_state: tuple[float, float, float] = utilities.lla_from_state(state)
|
51
54
|
|
52
55
|
assert lla.get_latitude().in_degrees() == lla_from_state[0]
|
53
56
|
assert lla.get_longitude().in_degrees() == lla_from_state[1]
|
54
57
|
assert lla.get_altitude().in_meters() == lla_from_state[2]
|
55
58
|
|
56
|
-
def test_position_from_lla(
|
59
|
+
def test_position_from_lla(
|
60
|
+
self,
|
61
|
+
lla: LLA,
|
62
|
+
):
|
57
63
|
position: Position = utilities.position_from_lla(lla)
|
58
64
|
|
59
65
|
assert position is not None
|
@@ -61,20 +67,28 @@ class TestUtilities:
|
|
61
67
|
assert position.is_defined()
|
62
68
|
|
63
69
|
def test_compute_aer(
|
64
|
-
self,
|
70
|
+
self,
|
71
|
+
instant: Instant,
|
72
|
+
position: Position,
|
73
|
+
environment: Environment,
|
65
74
|
):
|
66
|
-
aer:
|
75
|
+
aer: tuple[float, float, float] = utilities.compute_aer(
|
76
|
+
instant, position, position, environment
|
77
|
+
)
|
67
78
|
|
68
79
|
assert aer is not None
|
69
80
|
assert len(aer) == 3
|
70
81
|
assert aer[2] == 0.0
|
71
82
|
|
72
83
|
def test_compute_time_lla_aer_state(
|
73
|
-
self,
|
84
|
+
self,
|
85
|
+
state: State,
|
86
|
+
position: Position,
|
87
|
+
environment: Environment,
|
74
88
|
):
|
75
|
-
time_lla_aer:
|
76
|
-
|
77
|
-
)
|
89
|
+
time_lla_aer: float[
|
90
|
+
Instant, float, float, float, float, float, float
|
91
|
+
] = utilities.compute_time_lla_aer_state(state, position, environment)
|
78
92
|
|
79
93
|
assert time_lla_aer is not None
|
80
94
|
assert len(time_lla_aer) == 7
|
@@ -84,15 +98,21 @@ class TestUtilities:
|
|
84
98
|
assert isinstance(time_lla_aer[i], float)
|
85
99
|
|
86
100
|
def test_compute_trajectory_geometry(
|
87
|
-
self,
|
101
|
+
self,
|
102
|
+
interval: Interval,
|
103
|
+
trajectory: Trajectory,
|
88
104
|
):
|
89
|
-
output: list = utilities.compute_trajectory_geometry(
|
105
|
+
output: list[tuple[float, float, float]] = utilities.compute_trajectory_geometry(
|
106
|
+
trajectory, interval
|
107
|
+
)
|
90
108
|
|
91
109
|
assert output is not None
|
92
110
|
assert len(output) == 2
|
93
111
|
|
94
|
-
def test_convert_state(self,
|
95
|
-
output:
|
112
|
+
def test_convert_state(self, state: State):
|
113
|
+
output: tuple[
|
114
|
+
str, float, float, float, float, float, float, float, float, float
|
115
|
+
] = utilities.convert_state(state)
|
96
116
|
|
97
117
|
assert output is not None
|
98
118
|
assert len(output) == 11
|
@@ -16,15 +16,12 @@ earth = Environment.default().access_celestial_object_with_name("Earth")
|
|
16
16
|
@pytest.fixture
|
17
17
|
def pass_() -> Pass:
|
18
18
|
return Pass(
|
19
|
-
Pass.Type.Partial,
|
20
19
|
123,
|
21
|
-
|
22
|
-
Instant.date_time(DateTime(2018, 1, 1, 0, 0, 0), Scale.UTC),
|
23
|
-
Instant.date_time(DateTime(2018, 1, 1, 1, 0, 0), Scale.UTC),
|
24
|
-
),
|
25
|
-
Instant.date_time(DateTime(2018, 1, 1, 0, 30, 0), Scale.UTC),
|
20
|
+
Instant.date_time(DateTime(2018, 1, 1, 0, 0, 0), Scale.UTC),
|
26
21
|
Instant.date_time(DateTime(2018, 1, 1, 0, 15, 0), Scale.UTC),
|
22
|
+
Instant.date_time(DateTime(2018, 1, 1, 0, 30, 0), Scale.UTC),
|
27
23
|
Instant.date_time(DateTime(2018, 1, 1, 0, 45, 0), Scale.UTC),
|
24
|
+
Instant.date_time(DateTime(2018, 1, 1, 1, 0, 0), Scale.UTC),
|
28
25
|
)
|
29
26
|
|
30
27
|
|
@@ -41,21 +38,24 @@ class TestPass:
|
|
41
38
|
def test_get_revolution_number(self, pass_: Pass):
|
42
39
|
assert pass_.get_revolution_number() is not None
|
43
40
|
|
44
|
-
def
|
45
|
-
assert pass_.
|
41
|
+
def test_get_duration(self, pass_: Pass):
|
42
|
+
assert pass_.get_duration() is not None
|
46
43
|
|
47
44
|
def test_get_instant_at_ascending_node(self, pass_: Pass):
|
48
45
|
assert pass_.get_instant_at_ascending_node() is not None
|
49
46
|
|
50
|
-
def test_get_instant_at_descending_node(self, pass_: Pass):
|
51
|
-
assert pass_.get_instant_at_descending_node() is not None
|
52
|
-
|
53
47
|
def test_get_instant_at_north_point(self, pass_: Pass):
|
54
48
|
assert pass_.get_instant_at_north_point() is not None
|
55
49
|
|
50
|
+
def test_get_instant_at_descending_node(self, pass_: Pass):
|
51
|
+
assert pass_.get_instant_at_descending_node() is not None
|
52
|
+
|
56
53
|
def test_get_instant_at_south_point(self, pass_: Pass):
|
57
54
|
assert pass_.get_instant_at_south_point() is not None
|
58
55
|
|
56
|
+
def test_get_instant_at_pass_break(self, pass_: Pass):
|
57
|
+
assert pass_.get_instant_at_pass_break() is not None
|
58
|
+
|
59
59
|
def test_undefined(self):
|
60
60
|
assert Pass.undefined().is_defined() is False
|
61
61
|
|
@@ -64,6 +64,3 @@ class TestPass:
|
|
64
64
|
|
65
65
|
def test_string_from_phase(self):
|
66
66
|
assert Pass.string_from_phase(Pass.Phase.Ascending) is not None
|
67
|
-
|
68
|
-
def test_string_from_quarter(self):
|
69
|
-
assert Pass.string_from_quarter(Pass.Quarter.First) is not None
|
@@ -151,6 +151,6 @@ class TestOrbit:
|
|
151
151
|
argument_of_latitude=Angle.degrees(50.0),
|
152
152
|
).is_defined()
|
153
153
|
|
154
|
-
def
|
155
|
-
|
156
|
-
assert
|
154
|
+
def test_compute_passes(self, orbit: Orbit, states: list[State]):
|
155
|
+
passes: list[tuple[int, Pass]] = orbit.compute_passes(states, 1)
|
156
|
+
assert passes is not None
|
ostk/astrodynamics/utilities.py
CHANGED
@@ -15,18 +15,18 @@ from ostk.physics.environment.objects.celestial_bodies import Earth
|
|
15
15
|
from ostk.physics.environment.gravitational import Earth as EarthGravitationalModel
|
16
16
|
|
17
17
|
|
18
|
-
def lla_from_state(state: trajectory.State) ->
|
18
|
+
def lla_from_state(state: trajectory.State) -> tuple[float, float, float]:
|
19
19
|
"""
|
20
20
|
Return latitude (degrees), longitude (degrees), altitude (meters) float list from a state.
|
21
21
|
"""
|
22
22
|
|
23
|
-
lla = lla_from_position(state.get_position(), state.get_instant())
|
23
|
+
lla: LLA = lla_from_position(state.get_position(), state.get_instant())
|
24
24
|
|
25
|
-
return
|
25
|
+
return (
|
26
26
|
float(lla.get_latitude().in_degrees()),
|
27
27
|
float(lla.get_longitude().in_degrees()),
|
28
28
|
float(lla.get_altitude().in_meters()),
|
29
|
-
|
29
|
+
)
|
30
30
|
|
31
31
|
|
32
32
|
def lla_from_position(
|
@@ -42,7 +42,7 @@ def lla_from_position(
|
|
42
42
|
raise ValueError(
|
43
43
|
"Instant must be provided if position is not expressed in ECEF."
|
44
44
|
)
|
45
|
-
position = position.in_frame(Frame.ITRF(), instant)
|
45
|
+
position: Position = position.in_frame(Frame.ITRF(), instant)
|
46
46
|
|
47
47
|
return LLA.cartesian(
|
48
48
|
position.get_coordinates(),
|
@@ -70,51 +70,54 @@ def compute_aer(
|
|
70
70
|
from_position: Position,
|
71
71
|
to_position: Position,
|
72
72
|
environment: Environment,
|
73
|
-
) ->
|
73
|
+
) -> tuple[float, float, float]:
|
74
74
|
"""
|
75
75
|
Return [azimuth (degrees), elevation (degrees), range (meters)] from Instant and Positions (observer, target).
|
76
76
|
"""
|
77
77
|
|
78
|
-
from_lla = lla_from_position(from_position, instant)
|
78
|
+
from_lla: LLA = lla_from_position(from_position, instant)
|
79
79
|
|
80
|
-
earth = environment.access_celestial_object_with_name("Earth")
|
81
|
-
ned_frame = earth.get_frame_at(from_lla, Earth.FrameType.NED)
|
80
|
+
earth: Earth = environment.access_celestial_object_with_name("Earth")
|
81
|
+
ned_frame: Frame = earth.get_frame_at(from_lla, Earth.FrameType.NED)
|
82
82
|
|
83
|
-
from_position_NED = from_position.in_frame(ned_frame, instant)
|
84
|
-
to_position_NED = to_position.in_frame(ned_frame, instant)
|
83
|
+
from_position_NED: Position = from_position.in_frame(ned_frame, instant)
|
84
|
+
to_position_NED: Position = to_position.in_frame(ned_frame, instant)
|
85
85
|
|
86
|
-
aer = AER.from_position_to_position(from_position_NED, to_position_NED, True)
|
86
|
+
aer: AER = AER.from_position_to_position(from_position_NED, to_position_NED, True)
|
87
87
|
|
88
|
-
return
|
88
|
+
return (
|
89
89
|
float(aer.get_azimuth().in_degrees()),
|
90
90
|
float(aer.get_elevation().in_degrees()),
|
91
91
|
float(aer.get_range().in_meters()),
|
92
|
-
|
92
|
+
)
|
93
93
|
|
94
94
|
|
95
95
|
def compute_time_lla_aer_state(
|
96
96
|
state: trajectory.State,
|
97
97
|
from_position: Position,
|
98
98
|
environment: Environment,
|
99
|
-
) ->
|
99
|
+
) -> tuple[Instant, float, float, float, float, float, float]:
|
100
100
|
"""
|
101
101
|
Return [instant, latitude, longitude, altitude, azimuth, elevation, range] from State and observer Position.
|
102
102
|
"""
|
103
103
|
|
104
|
-
instant = state.get_instant()
|
104
|
+
instant: Instant = state.get_instant()
|
105
105
|
|
106
|
-
lla = lla_from_state(state)
|
107
|
-
aer = compute_aer(
|
106
|
+
lla: tuple[float, float, float] = lla_from_state(state)
|
107
|
+
aer: AER = compute_aer(
|
108
108
|
instant,
|
109
109
|
from_position,
|
110
110
|
state.get_position().in_frame(Frame.ITRF(), state.get_instant()),
|
111
111
|
environment,
|
112
112
|
)
|
113
113
|
|
114
|
-
return
|
114
|
+
return (instant, lla[0], lla[1], lla[2], aer[0], aer[1], aer[2])
|
115
115
|
|
116
116
|
|
117
|
-
def compute_trajectory_geometry(
|
117
|
+
def compute_trajectory_geometry(
|
118
|
+
trajectory: Trajectory,
|
119
|
+
interval: Interval,
|
120
|
+
) -> list[tuple[float, float, float]]:
|
118
121
|
"""
|
119
122
|
Return [latitude (degrees), longitude (degrees), altitude (meters)] values along a Trajectory during Interval.
|
120
123
|
"""
|
@@ -127,12 +130,14 @@ def compute_trajectory_geometry(trajectory: Trajectory, interval: Interval) -> l
|
|
127
130
|
]
|
128
131
|
|
129
132
|
|
130
|
-
def convert_state(
|
133
|
+
def convert_state(
|
134
|
+
state: trajectory.State,
|
135
|
+
) -> tuple[str, float, float, float, float, float, float, float, float, float]:
|
131
136
|
"""
|
132
137
|
Convert an input (Instant, State) into dataframe-ready values.
|
133
138
|
"""
|
134
139
|
|
135
|
-
lla = LLA.cartesian(
|
140
|
+
lla: LLA = LLA.cartesian(
|
136
141
|
state.get_position()
|
137
142
|
.in_frame(Frame.ITRF(), state.get_instant())
|
138
143
|
.get_coordinates(),
|
@@ -140,7 +145,9 @@ def convert_state(instant: Instant, state: trajectory.State) -> list:
|
|
140
145
|
EarthGravitationalModel.EGM2008.flattening,
|
141
146
|
)
|
142
147
|
|
143
|
-
|
148
|
+
instant: Instant = state.get_instant()
|
149
|
+
|
150
|
+
return (
|
144
151
|
repr(instant),
|
145
152
|
float(instant.get_modified_julian_date(Scale.UTC)),
|
146
153
|
*state.get_position().get_coordinates().transpose().tolist(),
|
@@ -148,4 +155,4 @@ def convert_state(instant: Instant, state: trajectory.State) -> list:
|
|
148
155
|
float(lla.get_latitude().in_degrees()),
|
149
156
|
float(lla.get_longitude().in_degrees()),
|
150
157
|
float(lla.get_altitude().in_meters()),
|
151
|
-
|
158
|
+
)
|
File without changes
|
File without changes
|
File without changes
|