ccsds-ndm-py 0.0.3__cp39-abi3-win32.whl → 0.0.4__cp39-abi3-win32.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.
ccsds_ndm/__init__.pyi
CHANGED
|
@@ -94,6 +94,15 @@ class Acm:
|
|
|
94
94
|
@header.setter
|
|
95
95
|
def header(self, value: AdmHeader) -> None: ...
|
|
96
96
|
@property
|
|
97
|
+
def id(self) -> Optional[str]:
|
|
98
|
+
"""
|
|
99
|
+
The message identifier.
|
|
100
|
+
"""
|
|
101
|
+
...
|
|
102
|
+
|
|
103
|
+
@id.setter
|
|
104
|
+
def id(self, value: Optional[str]) -> None: ...
|
|
105
|
+
@property
|
|
97
106
|
def segment(self) -> AcmSegment:
|
|
98
107
|
"""
|
|
99
108
|
ACM Segment.
|
|
@@ -102,19 +111,41 @@ class Acm:
|
|
|
102
111
|
|
|
103
112
|
@segment.setter
|
|
104
113
|
def segment(self, value: AcmSegment) -> None: ...
|
|
105
|
-
def to_file(self, path, format):
|
|
114
|
+
def to_file(self, path, format, validate=True):
|
|
106
115
|
""" """
|
|
107
116
|
...
|
|
108
117
|
|
|
109
|
-
def to_str(self, format):
|
|
118
|
+
def to_str(self, format, validate=True):
|
|
110
119
|
""" """
|
|
111
120
|
...
|
|
112
121
|
|
|
122
|
+
def validate(self, strict=True):
|
|
123
|
+
"""
|
|
124
|
+
Validate the message against CCSDS rules.
|
|
125
|
+
|
|
126
|
+
Parameters
|
|
127
|
+
----------
|
|
128
|
+
strict : bool, optional
|
|
129
|
+
If True (default), raises ValueError on the first error found.
|
|
130
|
+
If False, returns a list of validation error messages (or None if valid).
|
|
131
|
+
"""
|
|
132
|
+
...
|
|
133
|
+
|
|
134
|
+
@property
|
|
135
|
+
def version(self) -> str:
|
|
136
|
+
"""
|
|
137
|
+
The message version.
|
|
138
|
+
"""
|
|
139
|
+
...
|
|
140
|
+
|
|
141
|
+
@version.setter
|
|
142
|
+
def version(self, value: str) -> None: ...
|
|
143
|
+
|
|
113
144
|
class AcmAttitudeDetermination:
|
|
114
145
|
"""
|
|
115
146
|
ACM Data: Attitude Determination Data Section.
|
|
116
147
|
"""
|
|
117
|
-
def __init__(ad_id, comment) -> None: ...
|
|
148
|
+
def __init__(ad_id=None, comment=None) -> None: ...
|
|
118
149
|
def __getstate__(self, /):
|
|
119
150
|
"""
|
|
120
151
|
Helper for pickle.
|
|
@@ -125,7 +156,9 @@ class AcmAttitudeState:
|
|
|
125
156
|
"""
|
|
126
157
|
ACM Data: Attitude State Time History Section.
|
|
127
158
|
"""
|
|
128
|
-
def __init__(
|
|
159
|
+
def __init__(
|
|
160
|
+
ref_frame_a, ref_frame_b, att_type, att_lines, comment=None
|
|
161
|
+
) -> None: ...
|
|
129
162
|
def __getstate__(self, /):
|
|
130
163
|
"""
|
|
131
164
|
Helper for pickle.
|
|
@@ -136,7 +169,9 @@ class AcmCovarianceMatrix:
|
|
|
136
169
|
"""
|
|
137
170
|
ACM Data: Covariance Time History Section.
|
|
138
171
|
"""
|
|
139
|
-
def __init__(
|
|
172
|
+
def __init__(
|
|
173
|
+
cov_basis, cov_ref_frame, cov_type, cov_lines, comment=None
|
|
174
|
+
) -> None: ...
|
|
140
175
|
def __getstate__(self, /):
|
|
141
176
|
"""
|
|
142
177
|
Helper for pickle.
|
|
@@ -147,7 +182,9 @@ class AcmData:
|
|
|
147
182
|
"""
|
|
148
183
|
ACM Data Section.
|
|
149
184
|
"""
|
|
150
|
-
def __init__(
|
|
185
|
+
def __init__(
|
|
186
|
+
att=None, phys=None, cov=None, man=None, ad=None, user=None
|
|
187
|
+
) -> None: ...
|
|
151
188
|
def __getstate__(self, /):
|
|
152
189
|
"""
|
|
153
190
|
Helper for pickle.
|
|
@@ -182,12 +219,17 @@ class AcmData:
|
|
|
182
219
|
|
|
183
220
|
@user.setter
|
|
184
221
|
def user(self, value: UserDefined) -> None: ...
|
|
222
|
+
def validate(self, metadata):
|
|
223
|
+
"""
|
|
224
|
+
Validate the data section against CCSDS rules.
|
|
225
|
+
"""
|
|
226
|
+
...
|
|
185
227
|
|
|
186
228
|
class AcmManeuverParameters:
|
|
187
229
|
"""
|
|
188
230
|
ACM Data: Maneuver Specification Section.
|
|
189
231
|
"""
|
|
190
|
-
def __init__(man_id, comment) -> None: ...
|
|
232
|
+
def __init__(man_id=None, comment=None) -> None: ...
|
|
191
233
|
def __getstate__(self, /):
|
|
192
234
|
"""
|
|
193
235
|
Helper for pickle.
|
|
@@ -246,12 +288,17 @@ class AcmMetadata:
|
|
|
246
288
|
|
|
247
289
|
@object_name.setter
|
|
248
290
|
def object_name(self, value: str) -> None: ...
|
|
291
|
+
def validate(self):
|
|
292
|
+
"""
|
|
293
|
+
Validate the metadata section against CCSDS rules.
|
|
294
|
+
"""
|
|
295
|
+
...
|
|
249
296
|
|
|
250
297
|
class AcmPhysicalDescription:
|
|
251
298
|
"""
|
|
252
299
|
ACM Data: Space Object Physical Characteristics Section.
|
|
253
300
|
"""
|
|
254
|
-
def __init__(comment) -> None: ...
|
|
301
|
+
def __init__(comment=None) -> None: ...
|
|
255
302
|
def __getstate__(self, /):
|
|
256
303
|
"""
|
|
257
304
|
Helper for pickle.
|
|
@@ -284,6 +331,11 @@ class AcmSegment:
|
|
|
284
331
|
|
|
285
332
|
@metadata.setter
|
|
286
333
|
def metadata(self, value: AcmMetadata) -> None: ...
|
|
334
|
+
def validate(self, header):
|
|
335
|
+
"""
|
|
336
|
+
Validate the segment against CCSDS rules.
|
|
337
|
+
"""
|
|
338
|
+
...
|
|
287
339
|
|
|
288
340
|
class AdditionalParameters:
|
|
289
341
|
"""
|
|
@@ -436,7 +488,7 @@ class AdmHeader:
|
|
|
436
488
|
Represents the `admHeader` complex type from the XSD.
|
|
437
489
|
"""
|
|
438
490
|
def __init__(
|
|
439
|
-
creation_date, originator, classification, message_id, comment
|
|
491
|
+
creation_date, originator, classification=None, message_id=None, comment=None
|
|
440
492
|
) -> None: ...
|
|
441
493
|
def __getstate__(self, /):
|
|
442
494
|
"""
|
|
@@ -554,6 +606,15 @@ class Aem:
|
|
|
554
606
|
@header.setter
|
|
555
607
|
def header(self, value: AdmHeader) -> None: ...
|
|
556
608
|
@property
|
|
609
|
+
def id(self) -> Optional[str]:
|
|
610
|
+
"""
|
|
611
|
+
The message identifier.
|
|
612
|
+
"""
|
|
613
|
+
...
|
|
614
|
+
|
|
615
|
+
@id.setter
|
|
616
|
+
def id(self, value: Optional[str]) -> None: ...
|
|
617
|
+
@property
|
|
557
618
|
def segments(self) -> list[AemSegment]:
|
|
558
619
|
"""
|
|
559
620
|
AEM Segments.
|
|
@@ -562,19 +623,45 @@ class Aem:
|
|
|
562
623
|
|
|
563
624
|
@segments.setter
|
|
564
625
|
def segments(self, value: list[AemSegment]) -> None: ...
|
|
565
|
-
def to_file(self, path, format):
|
|
566
|
-
"""
|
|
626
|
+
def to_file(self, path, format, validate=True):
|
|
627
|
+
"""
|
|
628
|
+
Write to file.
|
|
629
|
+
"""
|
|
567
630
|
...
|
|
568
631
|
|
|
569
|
-
def to_str(self, format):
|
|
570
|
-
"""
|
|
632
|
+
def to_str(self, format, validate=True):
|
|
633
|
+
"""
|
|
634
|
+
Serialize to string.
|
|
635
|
+
"""
|
|
636
|
+
...
|
|
637
|
+
|
|
638
|
+
def validate(self, strict=True):
|
|
639
|
+
"""
|
|
640
|
+
Validate the message against CCSDS rules.
|
|
641
|
+
|
|
642
|
+
Parameters
|
|
643
|
+
----------
|
|
644
|
+
strict : bool, optional
|
|
645
|
+
If True (default), raises ValueError on the first error found.
|
|
646
|
+
If False, returns a list of validation error messages (or None if valid).
|
|
647
|
+
"""
|
|
571
648
|
...
|
|
572
649
|
|
|
650
|
+
@property
|
|
651
|
+
def version(self) -> str:
|
|
652
|
+
"""
|
|
653
|
+
The message version.
|
|
654
|
+
"""
|
|
655
|
+
...
|
|
656
|
+
|
|
657
|
+
@version.setter
|
|
658
|
+
def version(self, value: str) -> None: ...
|
|
659
|
+
|
|
573
660
|
class AemData:
|
|
574
661
|
"""
|
|
575
662
|
AEM Data Section.
|
|
576
663
|
"""
|
|
577
|
-
def __init__(attitude_states, comment) -> None: ...
|
|
664
|
+
def __init__(attitude_states, comment=None) -> None: ...
|
|
578
665
|
def __getstate__(self, /):
|
|
579
666
|
"""
|
|
580
667
|
Helper for pickle.
|
|
@@ -591,14 +678,27 @@ class AemData:
|
|
|
591
678
|
@attitude_states.setter
|
|
592
679
|
def attitude_states(self, value: list[AttitudeState]) -> None: ...
|
|
593
680
|
@property
|
|
594
|
-
def
|
|
681
|
+
def attitude_states_epochs(self) -> list[str]:
|
|
682
|
+
"""
|
|
683
|
+
Epochs for attitude states (ISO 8601).
|
|
684
|
+
"""
|
|
685
|
+
...
|
|
686
|
+
|
|
687
|
+
@attitude_states_epochs.setter
|
|
688
|
+
def attitude_states_epochs(self, value: list[str]) -> None: ...
|
|
689
|
+
@property
|
|
690
|
+
def attitude_states_numpy(self) -> numpy.ndarray:
|
|
595
691
|
"""
|
|
596
|
-
Get attitude states as a
|
|
692
|
+
Get attitude states as a 2D NumPy array.
|
|
693
|
+
|
|
694
|
+
Use `attitude_states_epochs` for the corresponding epochs.
|
|
695
|
+
|
|
696
|
+
Currently only supports Quaternion Ephemeris states.
|
|
597
697
|
"""
|
|
598
698
|
...
|
|
599
699
|
|
|
600
700
|
@attitude_states_numpy.setter
|
|
601
|
-
def attitude_states_numpy(self, value:
|
|
701
|
+
def attitude_states_numpy(self, value: numpy.ndarray) -> None: ...
|
|
602
702
|
@property
|
|
603
703
|
def comment(self) -> list[str]:
|
|
604
704
|
"""
|
|
@@ -609,6 +709,16 @@ class AemData:
|
|
|
609
709
|
|
|
610
710
|
@comment.setter
|
|
611
711
|
def comment(self, value: list[str]) -> None: ...
|
|
712
|
+
@staticmethod
|
|
713
|
+
def from_numpy(epochs, array, comment=None):
|
|
714
|
+
""" """
|
|
715
|
+
...
|
|
716
|
+
|
|
717
|
+
def validate(self, attitude_type):
|
|
718
|
+
"""
|
|
719
|
+
Validate the data section against CCSDS rules.
|
|
720
|
+
"""
|
|
721
|
+
...
|
|
612
722
|
|
|
613
723
|
class AemMetadata:
|
|
614
724
|
"""
|
|
@@ -853,6 +963,11 @@ class AemMetadata:
|
|
|
853
963
|
|
|
854
964
|
@useable_stop_time.setter
|
|
855
965
|
def useable_stop_time(self, value: str) -> None: ...
|
|
966
|
+
def validate(self):
|
|
967
|
+
"""
|
|
968
|
+
Validate the metadata section against CCSDS rules.
|
|
969
|
+
"""
|
|
970
|
+
...
|
|
856
971
|
|
|
857
972
|
class AemSegment:
|
|
858
973
|
def __init__(metadata, data) -> None: ...
|
|
@@ -880,6 +995,11 @@ class AemSegment:
|
|
|
880
995
|
|
|
881
996
|
@metadata.setter
|
|
882
997
|
def metadata(self, value: AemMetadata) -> None: ...
|
|
998
|
+
def validate(self):
|
|
999
|
+
"""
|
|
1000
|
+
Validate the segment against CCSDS rules.
|
|
1001
|
+
"""
|
|
1002
|
+
...
|
|
883
1003
|
|
|
884
1004
|
class AngVelState:
|
|
885
1005
|
"""
|
|
@@ -1015,6 +1135,15 @@ class Apm:
|
|
|
1015
1135
|
@header.setter
|
|
1016
1136
|
def header(self, value: AdmHeader) -> None: ...
|
|
1017
1137
|
@property
|
|
1138
|
+
def id(self) -> Optional[str]:
|
|
1139
|
+
"""
|
|
1140
|
+
The message identifier.
|
|
1141
|
+
"""
|
|
1142
|
+
...
|
|
1143
|
+
|
|
1144
|
+
@id.setter
|
|
1145
|
+
def id(self, value: Optional[str]) -> None: ...
|
|
1146
|
+
@property
|
|
1018
1147
|
def segment(self) -> ApmSegment:
|
|
1019
1148
|
"""
|
|
1020
1149
|
APM Segment.
|
|
@@ -1023,27 +1152,53 @@ class Apm:
|
|
|
1023
1152
|
|
|
1024
1153
|
@segment.setter
|
|
1025
1154
|
def segment(self, value: ApmSegment) -> None: ...
|
|
1026
|
-
def to_file(self, path, format):
|
|
1027
|
-
"""
|
|
1155
|
+
def to_file(self, path, format, validate=True):
|
|
1156
|
+
"""
|
|
1157
|
+
Write to file.
|
|
1158
|
+
"""
|
|
1028
1159
|
...
|
|
1029
1160
|
|
|
1030
|
-
def to_str(self, format):
|
|
1031
|
-
"""
|
|
1161
|
+
def to_str(self, format, validate=True):
|
|
1162
|
+
"""
|
|
1163
|
+
Serialize to string.
|
|
1164
|
+
"""
|
|
1032
1165
|
...
|
|
1033
1166
|
|
|
1167
|
+
def validate(self, strict=True):
|
|
1168
|
+
"""
|
|
1169
|
+
Validate the message against CCSDS rules.
|
|
1170
|
+
|
|
1171
|
+
Parameters
|
|
1172
|
+
----------
|
|
1173
|
+
strict : bool, optional
|
|
1174
|
+
If True (default), raises ValueError on the first error found.
|
|
1175
|
+
If False, returns a list of validation error messages (or None if valid).
|
|
1176
|
+
"""
|
|
1177
|
+
...
|
|
1178
|
+
|
|
1179
|
+
@property
|
|
1180
|
+
def version(self) -> str:
|
|
1181
|
+
"""
|
|
1182
|
+
The message version.
|
|
1183
|
+
"""
|
|
1184
|
+
...
|
|
1185
|
+
|
|
1186
|
+
@version.setter
|
|
1187
|
+
def version(self, value: str) -> None: ...
|
|
1188
|
+
|
|
1034
1189
|
class ApmData:
|
|
1035
1190
|
"""
|
|
1036
1191
|
APM Data Section.
|
|
1037
1192
|
"""
|
|
1038
1193
|
def __init__(
|
|
1039
1194
|
epoch,
|
|
1040
|
-
quaternion_state,
|
|
1041
|
-
euler_angle_state,
|
|
1042
|
-
angular_velocity,
|
|
1043
|
-
spin,
|
|
1044
|
-
inertia,
|
|
1045
|
-
maneuver_parameters,
|
|
1046
|
-
comment,
|
|
1195
|
+
quaternion_state=None,
|
|
1196
|
+
euler_angle_state=None,
|
|
1197
|
+
angular_velocity=None,
|
|
1198
|
+
spin=None,
|
|
1199
|
+
inertia=None,
|
|
1200
|
+
maneuver_parameters=None,
|
|
1201
|
+
comment=None,
|
|
1047
1202
|
) -> None: ...
|
|
1048
1203
|
def __getstate__(self, /):
|
|
1049
1204
|
"""
|
|
@@ -1409,7 +1564,7 @@ class Cdm:
|
|
|
1409
1564
|
- Relative position and velocity of Object2 with respect to Object1.
|
|
1410
1565
|
- Metadata describing how the data was determined (orbit determination settings).
|
|
1411
1566
|
"""
|
|
1412
|
-
def __init__(header, body
|
|
1567
|
+
def __init__(header, body) -> None: ...
|
|
1413
1568
|
def __getstate__(self, /):
|
|
1414
1569
|
"""
|
|
1415
1570
|
Helper for pickle.
|
|
@@ -1508,7 +1663,7 @@ class Cdm:
|
|
|
1508
1663
|
|
|
1509
1664
|
@id.setter
|
|
1510
1665
|
def id(self, value: Optional[str]) -> None: ...
|
|
1511
|
-
def to_file(self, path, format):
|
|
1666
|
+
def to_file(self, path, format, validate=True):
|
|
1512
1667
|
"""
|
|
1513
1668
|
Write the CDM to a file.
|
|
1514
1669
|
|
|
@@ -1518,10 +1673,12 @@ class Cdm:
|
|
|
1518
1673
|
The output file path.
|
|
1519
1674
|
format : str
|
|
1520
1675
|
The output format ('kvn' or 'xml').
|
|
1676
|
+
validate : bool, optional
|
|
1677
|
+
Whether to validate the message before writing (default: True).
|
|
1521
1678
|
"""
|
|
1522
1679
|
...
|
|
1523
1680
|
|
|
1524
|
-
def to_str(self, format):
|
|
1681
|
+
def to_str(self, format, validate=True):
|
|
1525
1682
|
"""
|
|
1526
1683
|
Serialize the CDM to a string.
|
|
1527
1684
|
|
|
@@ -1529,6 +1686,8 @@ class Cdm:
|
|
|
1529
1686
|
----------
|
|
1530
1687
|
format : str
|
|
1531
1688
|
The output format ('kvn' or 'xml').
|
|
1689
|
+
validate : bool, optional
|
|
1690
|
+
Whether to validate the message before writing (default: True).
|
|
1532
1691
|
|
|
1533
1692
|
Returns
|
|
1534
1693
|
-------
|
|
@@ -1537,6 +1696,18 @@ class Cdm:
|
|
|
1537
1696
|
"""
|
|
1538
1697
|
...
|
|
1539
1698
|
|
|
1699
|
+
def validate(self, strict=True):
|
|
1700
|
+
"""
|
|
1701
|
+
Validate the message against CCSDS rules.
|
|
1702
|
+
|
|
1703
|
+
Parameters
|
|
1704
|
+
----------
|
|
1705
|
+
strict : bool, optional
|
|
1706
|
+
If True (default), raises ValueError on the first error found.
|
|
1707
|
+
If False, returns a list of validation error messages (or None if valid).
|
|
1708
|
+
"""
|
|
1709
|
+
...
|
|
1710
|
+
|
|
1540
1711
|
@property
|
|
1541
1712
|
def version(self) -> str:
|
|
1542
1713
|
"""
|
|
@@ -1708,31 +1879,31 @@ class CdmCovarianceMatrix:
|
|
|
1708
1879
|
cndot_rdot,
|
|
1709
1880
|
cndot_tdot,
|
|
1710
1881
|
cndot_ndot,
|
|
1711
|
-
cdrg_r,
|
|
1712
|
-
cdrg_t,
|
|
1713
|
-
cdrg_n,
|
|
1714
|
-
cdrg_rdot,
|
|
1715
|
-
cdrg_tdot,
|
|
1716
|
-
cdrg_ndot,
|
|
1717
|
-
cdrg_drg,
|
|
1718
|
-
csrp_r,
|
|
1719
|
-
csrp_t,
|
|
1720
|
-
csrp_n,
|
|
1721
|
-
csrp_rdot,
|
|
1722
|
-
csrp_tdot,
|
|
1723
|
-
csrp_ndot,
|
|
1724
|
-
csrp_drg,
|
|
1725
|
-
csrp_srp,
|
|
1726
|
-
cthr_r,
|
|
1727
|
-
cthr_t,
|
|
1728
|
-
cthr_n,
|
|
1729
|
-
cthr_rdot,
|
|
1730
|
-
cthr_tdot,
|
|
1731
|
-
cthr_ndot,
|
|
1732
|
-
cthr_drg,
|
|
1733
|
-
cthr_srp,
|
|
1734
|
-
cthr_thr,
|
|
1735
|
-
comment,
|
|
1882
|
+
cdrg_r=None,
|
|
1883
|
+
cdrg_t=None,
|
|
1884
|
+
cdrg_n=None,
|
|
1885
|
+
cdrg_rdot=None,
|
|
1886
|
+
cdrg_tdot=None,
|
|
1887
|
+
cdrg_ndot=None,
|
|
1888
|
+
cdrg_drg=None,
|
|
1889
|
+
csrp_r=None,
|
|
1890
|
+
csrp_t=None,
|
|
1891
|
+
csrp_n=None,
|
|
1892
|
+
csrp_rdot=None,
|
|
1893
|
+
csrp_tdot=None,
|
|
1894
|
+
csrp_ndot=None,
|
|
1895
|
+
csrp_drg=None,
|
|
1896
|
+
csrp_srp=None,
|
|
1897
|
+
cthr_r=None,
|
|
1898
|
+
cthr_t=None,
|
|
1899
|
+
cthr_n=None,
|
|
1900
|
+
cthr_rdot=None,
|
|
1901
|
+
cthr_tdot=None,
|
|
1902
|
+
cthr_ndot=None,
|
|
1903
|
+
cthr_drg=None,
|
|
1904
|
+
cthr_srp=None,
|
|
1905
|
+
cthr_thr=None,
|
|
1906
|
+
comment=None,
|
|
1736
1907
|
) -> None: ...
|
|
1737
1908
|
def __getstate__(self, /):
|
|
1738
1909
|
"""
|
|
@@ -2244,10 +2415,16 @@ class CdmCovarianceMatrix:
|
|
|
2244
2415
|
|
|
2245
2416
|
@cthr_thr.setter
|
|
2246
2417
|
def cthr_thr(self, value: float) -> None: ...
|
|
2418
|
+
@staticmethod
|
|
2419
|
+
def from_numpy(array, comment=None):
|
|
2420
|
+
""" """
|
|
2421
|
+
...
|
|
2422
|
+
|
|
2247
2423
|
def to_numpy(self):
|
|
2248
2424
|
"""
|
|
2249
|
-
Returns the
|
|
2250
|
-
|
|
2425
|
+
Returns the covariance matrix as a NumPy array.
|
|
2426
|
+
The size will be 6x6, 7x7, 8x8, or 9x9 depending on whether optional
|
|
2427
|
+
Drag, SRP, and Thrust parameters are provided, as per CCSDS 508.0-B-1.
|
|
2251
2428
|
"""
|
|
2252
2429
|
...
|
|
2253
2430
|
|
|
@@ -2265,7 +2442,13 @@ class CdmData:
|
|
|
2265
2442
|
covariance_matrix : CdmCovarianceMatrix
|
|
2266
2443
|
Object covariance at TCA.
|
|
2267
2444
|
"""
|
|
2268
|
-
def __init__(
|
|
2445
|
+
def __init__(
|
|
2446
|
+
state_vector,
|
|
2447
|
+
covariance_matrix=None,
|
|
2448
|
+
od_parameters=None,
|
|
2449
|
+
additional_parameters=None,
|
|
2450
|
+
comments=None,
|
|
2451
|
+
) -> None: ...
|
|
2269
2452
|
def __getstate__(self, /):
|
|
2270
2453
|
"""
|
|
2271
2454
|
Helper for pickle.
|
|
@@ -2311,6 +2494,17 @@ class CdmData:
|
|
|
2311
2494
|
|
|
2312
2495
|
@covariance_matrix_numpy.setter
|
|
2313
2496
|
def covariance_matrix_numpy(self, value: numpy.ndarray) -> None: ...
|
|
2497
|
+
@staticmethod
|
|
2498
|
+
def from_numpy(
|
|
2499
|
+
state_vector,
|
|
2500
|
+
covariance_matrix=None,
|
|
2501
|
+
od_parameters=None,
|
|
2502
|
+
additional_parameters=None,
|
|
2503
|
+
comments=None,
|
|
2504
|
+
):
|
|
2505
|
+
""" """
|
|
2506
|
+
...
|
|
2507
|
+
|
|
2314
2508
|
@property
|
|
2315
2509
|
def od_parameters(self) -> Optional[OdParameters]:
|
|
2316
2510
|
"""
|
|
@@ -2492,10 +2686,10 @@ class CdmMetadata:
|
|
|
2492
2686
|
catalog_name,
|
|
2493
2687
|
object_name,
|
|
2494
2688
|
international_designator,
|
|
2689
|
+
ref_frame,
|
|
2495
2690
|
ephemeris_name=...,
|
|
2496
2691
|
covariance_method=None,
|
|
2497
2692
|
maneuverable=None,
|
|
2498
|
-
ref_frame=None,
|
|
2499
2693
|
object_type=None,
|
|
2500
2694
|
operator_contact_position=None,
|
|
2501
2695
|
operator_organization=None,
|
|
@@ -2564,7 +2758,7 @@ class CdmMetadata:
|
|
|
2564
2758
|
@covariance_method.setter
|
|
2565
2759
|
def covariance_method(self, value: CovarianceMethodType) -> None: ...
|
|
2566
2760
|
@property
|
|
2567
|
-
def earth_tides(self) -> Optional[
|
|
2761
|
+
def earth_tides(self) -> Optional[bool]:
|
|
2568
2762
|
"""
|
|
2569
2763
|
Indication of whether solid Earth and ocean tides were used for the OD of the object.
|
|
2570
2764
|
|
|
@@ -2573,7 +2767,7 @@ class CdmMetadata:
|
|
|
2573
2767
|
...
|
|
2574
2768
|
|
|
2575
2769
|
@earth_tides.setter
|
|
2576
|
-
def earth_tides(self, value: Optional[
|
|
2770
|
+
def earth_tides(self, value: Optional[bool]) -> None: ...
|
|
2577
2771
|
@property
|
|
2578
2772
|
def ephemeris_name(self) -> str:
|
|
2579
2773
|
"""
|
|
@@ -2616,7 +2810,7 @@ class CdmMetadata:
|
|
|
2616
2810
|
@international_designator.setter
|
|
2617
2811
|
def international_designator(self, value: str) -> None: ...
|
|
2618
2812
|
@property
|
|
2619
|
-
def intrack_thrust(self) -> Optional[
|
|
2813
|
+
def intrack_thrust(self) -> Optional[bool]:
|
|
2620
2814
|
"""
|
|
2621
2815
|
Indication of whether in-track thrust modeling was used for the OD of the object.
|
|
2622
2816
|
|
|
@@ -2625,7 +2819,7 @@ class CdmMetadata:
|
|
|
2625
2819
|
...
|
|
2626
2820
|
|
|
2627
2821
|
@intrack_thrust.setter
|
|
2628
|
-
def intrack_thrust(self, value: Optional[
|
|
2822
|
+
def intrack_thrust(self, value: Optional[bool]) -> None: ...
|
|
2629
2823
|
@property
|
|
2630
2824
|
def maneuverable(self) -> ManeuverableType:
|
|
2631
2825
|
"""
|
|
@@ -2763,7 +2957,7 @@ class CdmMetadata:
|
|
|
2763
2957
|
@ref_frame.setter
|
|
2764
2958
|
def ref_frame(self, value: ReferenceFrameType) -> None: ...
|
|
2765
2959
|
@property
|
|
2766
|
-
def solar_rad_pressure(self) -> Optional[
|
|
2960
|
+
def solar_rad_pressure(self) -> Optional[bool]:
|
|
2767
2961
|
"""
|
|
2768
2962
|
Indication of whether solar radiation pressure perturbations were used for the OD of the
|
|
2769
2963
|
object.
|
|
@@ -2773,7 +2967,7 @@ class CdmMetadata:
|
|
|
2773
2967
|
...
|
|
2774
2968
|
|
|
2775
2969
|
@solar_rad_pressure.setter
|
|
2776
|
-
def solar_rad_pressure(self, value: Optional[
|
|
2970
|
+
def solar_rad_pressure(self, value: Optional[bool]) -> None: ...
|
|
2777
2971
|
|
|
2778
2972
|
class CdmObjectType:
|
|
2779
2973
|
"""
|
|
@@ -2844,6 +3038,11 @@ class CdmStateVector:
|
|
|
2844
3038
|
"""
|
|
2845
3039
|
...
|
|
2846
3040
|
|
|
3041
|
+
@staticmethod
|
|
3042
|
+
def from_numpy(array):
|
|
3043
|
+
""" """
|
|
3044
|
+
...
|
|
3045
|
+
|
|
2847
3046
|
def to_numpy(self) -> numpy.ndarray:
|
|
2848
3047
|
"""
|
|
2849
3048
|
Return the state vector as a NumPy array.
|
|
@@ -3725,8 +3924,8 @@ class KeplerianElements:
|
|
|
3725
3924
|
ra_of_asc_node,
|
|
3726
3925
|
arg_of_pericenter,
|
|
3727
3926
|
gm,
|
|
3728
|
-
true_anomaly,
|
|
3729
|
-
mean_anomaly,
|
|
3927
|
+
true_anomaly=None,
|
|
3928
|
+
mean_anomaly=None,
|
|
3730
3929
|
) -> None: ...
|
|
3731
3930
|
def __getstate__(self, /):
|
|
3732
3931
|
"""
|
|
@@ -3883,8 +4082,8 @@ class ManeuverParameters:
|
|
|
3883
4082
|
man_tor_1,
|
|
3884
4083
|
man_tor_2,
|
|
3885
4084
|
man_tor_3,
|
|
3886
|
-
man_delta_mass,
|
|
3887
|
-
comment,
|
|
4085
|
+
man_delta_mass=None,
|
|
4086
|
+
comment=None,
|
|
3888
4087
|
) -> None: ...
|
|
3889
4088
|
def __getstate__(self, /):
|
|
3890
4089
|
"""
|
|
@@ -4019,9 +4218,9 @@ class MeanElements:
|
|
|
4019
4218
|
ra_of_asc_node,
|
|
4020
4219
|
arg_of_pericenter,
|
|
4021
4220
|
mean_anomaly,
|
|
4022
|
-
semi_major_axis,
|
|
4023
|
-
mean_motion,
|
|
4024
|
-
gm,
|
|
4221
|
+
semi_major_axis=None,
|
|
4222
|
+
mean_motion=None,
|
|
4223
|
+
gm=None,
|
|
4025
4224
|
) -> None: ...
|
|
4026
4225
|
def __getstate__(self, /):
|
|
4027
4226
|
"""
|
|
@@ -4218,7 +4417,7 @@ class Ndm:
|
|
|
4218
4417
|
def messages(
|
|
4219
4418
|
self, value: list[Union[Oem, Cdm, Opm, Omm, Ocm, Rdm, Tdm, Ndm]]
|
|
4220
4419
|
) -> None: ...
|
|
4221
|
-
def to_file(self, path, format):
|
|
4420
|
+
def to_file(self, path, format, validate=True):
|
|
4222
4421
|
"""
|
|
4223
4422
|
Write to file.
|
|
4224
4423
|
|
|
@@ -4228,15 +4427,29 @@ class Ndm:
|
|
|
4228
4427
|
Output file path.
|
|
4229
4428
|
format : str
|
|
4230
4429
|
Output format ('kvn' or 'xml').
|
|
4430
|
+
validate : bool, optional
|
|
4431
|
+
Whether to validate the message before writing (default: True).
|
|
4231
4432
|
"""
|
|
4232
4433
|
...
|
|
4233
4434
|
|
|
4234
|
-
def to_str(self, format):
|
|
4435
|
+
def to_str(self, format, validate=True):
|
|
4235
4436
|
"""
|
|
4236
4437
|
Serialize to a string.
|
|
4237
4438
|
"""
|
|
4238
4439
|
...
|
|
4239
4440
|
|
|
4441
|
+
def validate(self, strict=True):
|
|
4442
|
+
"""
|
|
4443
|
+
Validate the combined message against CCSDS rules.
|
|
4444
|
+
|
|
4445
|
+
Parameters
|
|
4446
|
+
----------
|
|
4447
|
+
strict : bool, optional
|
|
4448
|
+
If True (default), raises ValueError on the first error found.
|
|
4449
|
+
If False, returns a list of validation error messages (or None if valid).
|
|
4450
|
+
"""
|
|
4451
|
+
...
|
|
4452
|
+
|
|
4240
4453
|
class ObjectDescription:
|
|
4241
4454
|
def __getstate__(self, /):
|
|
4242
4455
|
"""
|
|
@@ -4332,6 +4545,15 @@ class Ocm:
|
|
|
4332
4545
|
@header.setter
|
|
4333
4546
|
def header(self, value: OdmHeader) -> None: ...
|
|
4334
4547
|
@property
|
|
4548
|
+
def id(self) -> Optional[str]:
|
|
4549
|
+
"""
|
|
4550
|
+
The message identifier.
|
|
4551
|
+
"""
|
|
4552
|
+
...
|
|
4553
|
+
|
|
4554
|
+
@id.setter
|
|
4555
|
+
def id(self, value: Optional[str]) -> None: ...
|
|
4556
|
+
@property
|
|
4335
4557
|
def segment(self) -> OcmSegment:
|
|
4336
4558
|
"""
|
|
4337
4559
|
The OCM data segment.
|
|
@@ -4340,7 +4562,7 @@ class Ocm:
|
|
|
4340
4562
|
|
|
4341
4563
|
@segment.setter
|
|
4342
4564
|
def segment(self, value: OcmSegment) -> None: ...
|
|
4343
|
-
def to_file(self, path, format):
|
|
4565
|
+
def to_file(self, path, format, validate=True):
|
|
4344
4566
|
"""
|
|
4345
4567
|
Write to file.
|
|
4346
4568
|
|
|
@@ -4350,10 +4572,12 @@ class Ocm:
|
|
|
4350
4572
|
Output file path.
|
|
4351
4573
|
format : str
|
|
4352
4574
|
Output format ('kvn' or 'xml').
|
|
4575
|
+
validate : bool, optional
|
|
4576
|
+
Whether to validate the message before writing (default: True).
|
|
4353
4577
|
"""
|
|
4354
4578
|
...
|
|
4355
4579
|
|
|
4356
|
-
def to_str(self, format):
|
|
4580
|
+
def to_str(self, format, validate=True):
|
|
4357
4581
|
"""
|
|
4358
4582
|
Serialize to string.
|
|
4359
4583
|
|
|
@@ -4361,6 +4585,8 @@ class Ocm:
|
|
|
4361
4585
|
----------
|
|
4362
4586
|
format : str
|
|
4363
4587
|
Output format ('kvn' or 'xml').
|
|
4588
|
+
validate : bool, optional
|
|
4589
|
+
Whether to validate the message before writing (default: True).
|
|
4364
4590
|
|
|
4365
4591
|
Returns
|
|
4366
4592
|
-------
|
|
@@ -4369,6 +4595,28 @@ class Ocm:
|
|
|
4369
4595
|
"""
|
|
4370
4596
|
...
|
|
4371
4597
|
|
|
4598
|
+
def validate(self, strict=True):
|
|
4599
|
+
"""
|
|
4600
|
+
Validate the message against CCSDS rules.
|
|
4601
|
+
|
|
4602
|
+
Parameters
|
|
4603
|
+
----------
|
|
4604
|
+
strict : bool, optional
|
|
4605
|
+
If True (default), raises ValueError on the first error found.
|
|
4606
|
+
If False, returns a list of validation error messages (or None if valid).
|
|
4607
|
+
"""
|
|
4608
|
+
...
|
|
4609
|
+
|
|
4610
|
+
@property
|
|
4611
|
+
def version(self) -> str:
|
|
4612
|
+
"""
|
|
4613
|
+
The message version.
|
|
4614
|
+
"""
|
|
4615
|
+
...
|
|
4616
|
+
|
|
4617
|
+
@version.setter
|
|
4618
|
+
def version(self, value: str) -> None: ...
|
|
4619
|
+
|
|
4372
4620
|
class OcmCovarianceMatrix:
|
|
4373
4621
|
"""
|
|
4374
4622
|
OCM Covariance Matrix.
|
|
@@ -7874,17 +8122,17 @@ class OdParameters:
|
|
|
7874
8122
|
Comments.
|
|
7875
8123
|
"""
|
|
7876
8124
|
def __init__(
|
|
7877
|
-
time_lastob_start,
|
|
7878
|
-
time_lastob_end,
|
|
7879
|
-
recommended_od_span,
|
|
7880
|
-
actual_od_span,
|
|
7881
|
-
obs_available,
|
|
7882
|
-
obs_used,
|
|
7883
|
-
tracks_available,
|
|
7884
|
-
tracks_used,
|
|
7885
|
-
residuals_accepted,
|
|
7886
|
-
weighted_rms,
|
|
7887
|
-
comment
|
|
8125
|
+
time_lastob_start=None,
|
|
8126
|
+
time_lastob_end=None,
|
|
8127
|
+
recommended_od_span=None,
|
|
8128
|
+
actual_od_span=None,
|
|
8129
|
+
obs_available=None,
|
|
8130
|
+
obs_used=None,
|
|
8131
|
+
tracks_available=None,
|
|
8132
|
+
tracks_used=None,
|
|
8133
|
+
residuals_accepted=None,
|
|
8134
|
+
weighted_rms=None,
|
|
8135
|
+
comment=...,
|
|
7888
8136
|
) -> None: ...
|
|
7889
8137
|
def __getstate__(self, /):
|
|
7890
8138
|
"""
|
|
@@ -8025,7 +8273,7 @@ class OdmHeader:
|
|
|
8025
8273
|
Comments.
|
|
8026
8274
|
"""
|
|
8027
8275
|
def __init__(
|
|
8028
|
-
creation_date, originator, classification, message_id, comment
|
|
8276
|
+
creation_date, originator, classification=None, message_id=None, comment=None
|
|
8029
8277
|
) -> None: ...
|
|
8030
8278
|
def __getstate__(self, /):
|
|
8031
8279
|
"""
|
|
@@ -8046,9 +8294,17 @@ class OdmHeader:
|
|
|
8046
8294
|
@classification.setter
|
|
8047
8295
|
def classification(self, value: Optional[str]) -> None: ...
|
|
8048
8296
|
@property
|
|
8049
|
-
def comment(self):
|
|
8297
|
+
def comment(self) -> list[str]:
|
|
8298
|
+
"""
|
|
8299
|
+
Comments (allowed in the ODM Header only immediately after the ODM version number).
|
|
8300
|
+
(See 7.8 for formatting rules.)
|
|
8301
|
+
|
|
8302
|
+
Examples: This is a comment
|
|
8303
|
+
"""
|
|
8304
|
+
...
|
|
8305
|
+
|
|
8050
8306
|
@comment.setter
|
|
8051
|
-
def comment(self, value:
|
|
8307
|
+
def comment(self, value: list[str]) -> None: ...
|
|
8052
8308
|
@property
|
|
8053
8309
|
def creation_date(self) -> str:
|
|
8054
8310
|
"""
|
|
@@ -8164,6 +8420,15 @@ class Oem:
|
|
|
8164
8420
|
@header.setter
|
|
8165
8421
|
def header(self, value: OdmHeader) -> None: ...
|
|
8166
8422
|
@property
|
|
8423
|
+
def id(self) -> Optional[str]:
|
|
8424
|
+
"""
|
|
8425
|
+
The message identifier.
|
|
8426
|
+
"""
|
|
8427
|
+
...
|
|
8428
|
+
|
|
8429
|
+
@id.setter
|
|
8430
|
+
def id(self, value: Optional[str]) -> None: ...
|
|
8431
|
+
@property
|
|
8167
8432
|
def segments(self) -> list[OemSegment]:
|
|
8168
8433
|
"""
|
|
8169
8434
|
The list of data segments.
|
|
@@ -8172,7 +8437,7 @@ class Oem:
|
|
|
8172
8437
|
|
|
8173
8438
|
@segments.setter
|
|
8174
8439
|
def segments(self, value: list[OemSegment]) -> None: ...
|
|
8175
|
-
def to_file(self, path, format):
|
|
8440
|
+
def to_file(self, path, format, validate=True):
|
|
8176
8441
|
"""
|
|
8177
8442
|
Write to file.
|
|
8178
8443
|
|
|
@@ -8182,10 +8447,20 @@ class Oem:
|
|
|
8182
8447
|
Output file path.
|
|
8183
8448
|
format : str
|
|
8184
8449
|
Output format ('kvn' or 'xml').
|
|
8450
|
+
Write to file.
|
|
8451
|
+
|
|
8452
|
+
Parameters
|
|
8453
|
+
----------
|
|
8454
|
+
path : str
|
|
8455
|
+
Output file path.
|
|
8456
|
+
format : str
|
|
8457
|
+
Output format ('kvn' or 'xml').
|
|
8458
|
+
validate : bool, optional
|
|
8459
|
+
Whether to validate the message before writing (default: True).
|
|
8185
8460
|
"""
|
|
8186
8461
|
...
|
|
8187
8462
|
|
|
8188
|
-
def to_str(self, format):
|
|
8463
|
+
def to_str(self, format, validate=True):
|
|
8189
8464
|
"""
|
|
8190
8465
|
Serialize to string.
|
|
8191
8466
|
|
|
@@ -8194,6 +8469,19 @@ class Oem:
|
|
|
8194
8469
|
format : str
|
|
8195
8470
|
Output format ('kvn' or 'xml').
|
|
8196
8471
|
|
|
8472
|
+
Returns
|
|
8473
|
+
-------
|
|
8474
|
+
str
|
|
8475
|
+
The serialized string.
|
|
8476
|
+
Serialize to string.
|
|
8477
|
+
|
|
8478
|
+
Parameters
|
|
8479
|
+
----------
|
|
8480
|
+
format : str
|
|
8481
|
+
Output format ('kvn' or 'xml').
|
|
8482
|
+
validate : bool, optional
|
|
8483
|
+
Whether to validate the message before writing (default: True).
|
|
8484
|
+
|
|
8197
8485
|
Returns
|
|
8198
8486
|
-------
|
|
8199
8487
|
str
|
|
@@ -8201,6 +8489,28 @@ class Oem:
|
|
|
8201
8489
|
"""
|
|
8202
8490
|
...
|
|
8203
8491
|
|
|
8492
|
+
def validate(self, strict=True):
|
|
8493
|
+
"""
|
|
8494
|
+
Validate the message against CCSDS rules.
|
|
8495
|
+
|
|
8496
|
+
Parameters
|
|
8497
|
+
----------
|
|
8498
|
+
strict : bool, optional
|
|
8499
|
+
If True (default), raises ValueError on the first error found.
|
|
8500
|
+
If False, returns a list of validation error messages (or None if valid).
|
|
8501
|
+
"""
|
|
8502
|
+
...
|
|
8503
|
+
|
|
8504
|
+
@property
|
|
8505
|
+
def version(self) -> str:
|
|
8506
|
+
"""
|
|
8507
|
+
The message version.
|
|
8508
|
+
"""
|
|
8509
|
+
...
|
|
8510
|
+
|
|
8511
|
+
@version.setter
|
|
8512
|
+
def version(self, value: str) -> None: ...
|
|
8513
|
+
|
|
8204
8514
|
class OemCovarianceMatrix:
|
|
8205
8515
|
"""
|
|
8206
8516
|
OEM Covariance Matrix.
|
|
@@ -8213,7 +8523,8 @@ class OemCovarianceMatrix:
|
|
|
8213
8523
|
epoch : str
|
|
8214
8524
|
Epoch of the covariance matrix (ISO 8601).
|
|
8215
8525
|
values : numpy.ndarray
|
|
8216
|
-
|
|
8526
|
+
NumPy array of shape (21,) containing the lower-triangular values, or (6,6) for
|
|
8527
|
+
a full symmetric matrix.
|
|
8217
8528
|
cov_ref_frame : str, optional
|
|
8218
8529
|
Reference frame for the covariance matrix.
|
|
8219
8530
|
comment : list[str], optional
|
|
@@ -8548,7 +8859,7 @@ class OemData:
|
|
|
8548
8859
|
comments : list[str], optional
|
|
8549
8860
|
Comments.
|
|
8550
8861
|
"""
|
|
8551
|
-
def __init__(state_vectors, comments) -> None: ...
|
|
8862
|
+
def __init__(state_vectors, covariance_matrix=None, comments=None) -> None: ...
|
|
8552
8863
|
def __getstate__(self, /):
|
|
8553
8864
|
"""
|
|
8554
8865
|
Helper for pickle.
|
|
@@ -8581,19 +8892,43 @@ class OemData:
|
|
|
8581
8892
|
@covariance_matrix.setter
|
|
8582
8893
|
def covariance_matrix(self, value: list[OemCovarianceMatrix]) -> None: ...
|
|
8583
8894
|
@property
|
|
8584
|
-
def
|
|
8895
|
+
def covariance_matrix_epochs(self) -> list[str]:
|
|
8896
|
+
"""
|
|
8897
|
+
Epochs for covariance matrices (ISO 8601).
|
|
8585
8898
|
"""
|
|
8586
|
-
|
|
8899
|
+
...
|
|
8587
8900
|
|
|
8588
|
-
|
|
8589
|
-
|
|
8901
|
+
@covariance_matrix_epochs.setter
|
|
8902
|
+
def covariance_matrix_epochs(self, value: list[str]) -> None: ...
|
|
8903
|
+
@property
|
|
8904
|
+
def covariance_matrix_numpy(self) -> numpy.ndarray:
|
|
8905
|
+
"""
|
|
8906
|
+
Get covariance matrices as a NumPy array.
|
|
8907
|
+
|
|
8908
|
+
Use `covariance_matrix_epochs` for the corresponding epochs.
|
|
8909
|
+
|
|
8910
|
+
The returned array is a 3D tensor of shape (N, 6, 6), where N is the number of covariance
|
|
8911
|
+
matrices. Each 6x6 matrix is symmetric and constructed from the lower-triangular CCSDS data.
|
|
8912
|
+
|
|
8913
|
+
Indices: 0=X, 1=Y, 2=Z, 3=X_DOT, 4=Y_DOT, 5=Z_DOT
|
|
8590
8914
|
"""
|
|
8591
8915
|
...
|
|
8592
8916
|
|
|
8593
8917
|
@covariance_matrix_numpy.setter
|
|
8594
|
-
def covariance_matrix_numpy(
|
|
8595
|
-
|
|
8596
|
-
|
|
8918
|
+
def covariance_matrix_numpy(self, value: numpy.ndarray) -> None: ...
|
|
8919
|
+
@staticmethod
|
|
8920
|
+
def from_numpy(
|
|
8921
|
+
state_vector_epochs,
|
|
8922
|
+
state_vector_numpy,
|
|
8923
|
+
covariance_matrix_epochs=None,
|
|
8924
|
+
covariance_matrix_numpy=None,
|
|
8925
|
+
cov_ref_frames=None,
|
|
8926
|
+
cov_comments=None,
|
|
8927
|
+
comments=None,
|
|
8928
|
+
):
|
|
8929
|
+
""" """
|
|
8930
|
+
...
|
|
8931
|
+
|
|
8597
8932
|
@property
|
|
8598
8933
|
def state_vector(self) -> list[StateVectorAcc]:
|
|
8599
8934
|
"""
|
|
@@ -8609,31 +8944,42 @@ class OemData:
|
|
|
8609
8944
|
@state_vector.setter
|
|
8610
8945
|
def state_vector(self, value: list[StateVectorAcc]) -> None: ...
|
|
8611
8946
|
@property
|
|
8612
|
-
def
|
|
8947
|
+
def state_vector_epochs(self) -> list[str]:
|
|
8613
8948
|
"""
|
|
8614
|
-
|
|
8949
|
+
Epochs for state vectors (ISO 8601).
|
|
8950
|
+
"""
|
|
8951
|
+
...
|
|
8952
|
+
|
|
8953
|
+
@state_vector_epochs.setter
|
|
8954
|
+
def state_vector_epochs(self, value: list[str]) -> None: ...
|
|
8955
|
+
@property
|
|
8956
|
+
def state_vector_numpy(self) -> numpy.ndarray:
|
|
8957
|
+
"""
|
|
8958
|
+
State vectors as a NumPy array.
|
|
8615
8959
|
|
|
8616
|
-
|
|
8617
|
-
compatible with scientific Python libraries.
|
|
8960
|
+
Use `state_vector_epochs` for the corresponding epochs.
|
|
8618
8961
|
|
|
8619
8962
|
Returns
|
|
8620
8963
|
-------
|
|
8621
|
-
|
|
8622
|
-
|
|
8623
|
-
-
|
|
8624
|
-
-
|
|
8625
|
-
- N x 6: [X, Y, Z, X_DOT, Y_DOT, Z_DOT] if no accelerations.
|
|
8626
|
-
- N x 9: [X, Y, Z, X_DOT, Y_DOT, Z_DOT, X_DDOT, Y_DDOT, Z_DDOT] if accelerations present.
|
|
8964
|
+
numpy.ndarray
|
|
8965
|
+
2D array of shape (N, 6) or (N, 9):
|
|
8966
|
+
- N x 6: [X, Y, Z, X_DOT, Y_DOT, Z_DOT] if no accelerations.
|
|
8967
|
+
- N x 9: [X, Y, Z, X_DOT, Y_DOT, Z_DOT, X_DDOT, Y_DDOT, Z_DDOT] if accelerations present.
|
|
8627
8968
|
|
|
8628
|
-
|
|
8629
|
-
|
|
8630
|
-
|
|
8631
|
-
|
|
8969
|
+
Units:
|
|
8970
|
+
- Position: km
|
|
8971
|
+
- Velocity: km/s
|
|
8972
|
+
- Acceleration: km/s²
|
|
8632
8973
|
"""
|
|
8633
8974
|
...
|
|
8634
8975
|
|
|
8635
8976
|
@state_vector_numpy.setter
|
|
8636
|
-
def state_vector_numpy(self, value:
|
|
8977
|
+
def state_vector_numpy(self, value: numpy.ndarray) -> None: ...
|
|
8978
|
+
def validate(self):
|
|
8979
|
+
"""
|
|
8980
|
+
Validate the data section against CCSDS rules.
|
|
8981
|
+
"""
|
|
8982
|
+
...
|
|
8637
8983
|
|
|
8638
8984
|
class OemMetadata:
|
|
8639
8985
|
"""
|
|
@@ -8869,6 +9215,11 @@ class OemMetadata:
|
|
|
8869
9215
|
|
|
8870
9216
|
@useable_stop_time.setter
|
|
8871
9217
|
def useable_stop_time(self, value: Optional[str]) -> None: ...
|
|
9218
|
+
def validate(self):
|
|
9219
|
+
"""
|
|
9220
|
+
Validate the metadata against CCSDS rules.
|
|
9221
|
+
"""
|
|
9222
|
+
...
|
|
8872
9223
|
|
|
8873
9224
|
class OemSegment:
|
|
8874
9225
|
"""
|
|
@@ -8910,6 +9261,11 @@ class OemSegment:
|
|
|
8910
9261
|
|
|
8911
9262
|
@metadata.setter
|
|
8912
9263
|
def metadata(self, value: OemMetadata) -> None: ...
|
|
9264
|
+
def validate(self):
|
|
9265
|
+
"""
|
|
9266
|
+
Validate the segment against CCSDS rules.
|
|
9267
|
+
"""
|
|
9268
|
+
...
|
|
8913
9269
|
|
|
8914
9270
|
class Omm:
|
|
8915
9271
|
"""
|
|
@@ -8981,6 +9337,15 @@ class Omm:
|
|
|
8981
9337
|
@header.setter
|
|
8982
9338
|
def header(self, value: OdmHeader) -> None: ...
|
|
8983
9339
|
@property
|
|
9340
|
+
def id(self) -> Optional[str]:
|
|
9341
|
+
"""
|
|
9342
|
+
The message identifier.
|
|
9343
|
+
"""
|
|
9344
|
+
...
|
|
9345
|
+
|
|
9346
|
+
@id.setter
|
|
9347
|
+
def id(self, value: Optional[str]) -> None: ...
|
|
9348
|
+
@property
|
|
8984
9349
|
def segment(self) -> OmmSegment:
|
|
8985
9350
|
"""
|
|
8986
9351
|
The data segment.
|
|
@@ -8989,7 +9354,7 @@ class Omm:
|
|
|
8989
9354
|
|
|
8990
9355
|
@segment.setter
|
|
8991
9356
|
def segment(self, value: OmmSegment) -> None: ...
|
|
8992
|
-
def to_file(self, path, format):
|
|
9357
|
+
def to_file(self, path, format, validate=True):
|
|
8993
9358
|
"""
|
|
8994
9359
|
Write to file.
|
|
8995
9360
|
|
|
@@ -8999,10 +9364,12 @@ class Omm:
|
|
|
8999
9364
|
Output file path.
|
|
9000
9365
|
format : str
|
|
9001
9366
|
Output format ('kvn' or 'xml').
|
|
9367
|
+
validate : bool, optional
|
|
9368
|
+
Whether to validate the message before writing (default: True).
|
|
9002
9369
|
"""
|
|
9003
9370
|
...
|
|
9004
9371
|
|
|
9005
|
-
def to_str(self, format):
|
|
9372
|
+
def to_str(self, format, validate=True):
|
|
9006
9373
|
"""
|
|
9007
9374
|
Serialize to string.
|
|
9008
9375
|
|
|
@@ -9011,6 +9378,8 @@ class Omm:
|
|
|
9011
9378
|
format : str
|
|
9012
9379
|
Output format ('kvn' or 'xml').
|
|
9013
9380
|
(Mandatory)
|
|
9381
|
+
validate : bool, optional
|
|
9382
|
+
Whether to validate the message before writing (default: True).
|
|
9014
9383
|
|
|
9015
9384
|
Returns
|
|
9016
9385
|
-------
|
|
@@ -9019,11 +9388,33 @@ class Omm:
|
|
|
9019
9388
|
"""
|
|
9020
9389
|
...
|
|
9021
9390
|
|
|
9391
|
+
def validate(self, strict=True):
|
|
9392
|
+
"""
|
|
9393
|
+
Validate the message against CCSDS rules.
|
|
9394
|
+
|
|
9395
|
+
Parameters
|
|
9396
|
+
----------
|
|
9397
|
+
strict : bool, optional
|
|
9398
|
+
If True (default), raises ValueError on the first error found.
|
|
9399
|
+
If False, returns a list of validation error messages (or None if valid).
|
|
9400
|
+
"""
|
|
9401
|
+
...
|
|
9402
|
+
|
|
9403
|
+
@property
|
|
9404
|
+
def version(self) -> str:
|
|
9405
|
+
"""
|
|
9406
|
+
The message version.
|
|
9407
|
+
"""
|
|
9408
|
+
...
|
|
9409
|
+
|
|
9410
|
+
@version.setter
|
|
9411
|
+
def version(self, value: str) -> None: ...
|
|
9412
|
+
|
|
9022
9413
|
class OmmData:
|
|
9023
9414
|
"""
|
|
9024
9415
|
OMM Data section.
|
|
9025
9416
|
"""
|
|
9026
|
-
def __init__(mean_elements, comments) -> None: ...
|
|
9417
|
+
def __init__(mean_elements, comments=None) -> None: ...
|
|
9027
9418
|
def __getstate__(self, /):
|
|
9028
9419
|
"""
|
|
9029
9420
|
Helper for pickle.
|
|
@@ -9342,6 +9733,15 @@ class Opm:
|
|
|
9342
9733
|
@header.setter
|
|
9343
9734
|
def header(self, value: OdmHeader) -> None: ...
|
|
9344
9735
|
@property
|
|
9736
|
+
def id(self) -> Optional[str]:
|
|
9737
|
+
"""
|
|
9738
|
+
The message identifier.
|
|
9739
|
+
"""
|
|
9740
|
+
...
|
|
9741
|
+
|
|
9742
|
+
@id.setter
|
|
9743
|
+
def id(self, value: Optional[str]) -> None: ...
|
|
9744
|
+
@property
|
|
9345
9745
|
def segment(self) -> OpmSegment:
|
|
9346
9746
|
"""
|
|
9347
9747
|
The data segment.
|
|
@@ -9350,7 +9750,7 @@ class Opm:
|
|
|
9350
9750
|
|
|
9351
9751
|
@segment.setter
|
|
9352
9752
|
def segment(self, value: OpmSegment) -> None: ...
|
|
9353
|
-
def to_file(self, path, format):
|
|
9753
|
+
def to_file(self, path, format, validate=True):
|
|
9354
9754
|
"""
|
|
9355
9755
|
Write to file.
|
|
9356
9756
|
|
|
@@ -9360,10 +9760,12 @@ class Opm:
|
|
|
9360
9760
|
Output file path.
|
|
9361
9761
|
format : str
|
|
9362
9762
|
Output format ('kvn' or 'xml').
|
|
9763
|
+
validate : bool, optional
|
|
9764
|
+
Whether to validate the message before writing (default: True).
|
|
9363
9765
|
"""
|
|
9364
9766
|
...
|
|
9365
9767
|
|
|
9366
|
-
def to_str(self, format):
|
|
9768
|
+
def to_str(self, format, validate=True):
|
|
9367
9769
|
"""
|
|
9368
9770
|
Serialize to string.
|
|
9369
9771
|
|
|
@@ -9371,6 +9773,8 @@ class Opm:
|
|
|
9371
9773
|
----------
|
|
9372
9774
|
format : str
|
|
9373
9775
|
Output format ('kvn' or 'xml').
|
|
9776
|
+
validate : bool, optional
|
|
9777
|
+
Whether to validate the message before writing (default: True).
|
|
9374
9778
|
|
|
9375
9779
|
Returns
|
|
9376
9780
|
-------
|
|
@@ -9379,6 +9783,28 @@ class Opm:
|
|
|
9379
9783
|
"""
|
|
9380
9784
|
...
|
|
9381
9785
|
|
|
9786
|
+
def validate(self, strict=True):
|
|
9787
|
+
"""
|
|
9788
|
+
Validate the message against CCSDS rules.
|
|
9789
|
+
|
|
9790
|
+
Parameters
|
|
9791
|
+
----------
|
|
9792
|
+
strict : bool, optional
|
|
9793
|
+
If True (default), raises ValueError on the first error found.
|
|
9794
|
+
If False, returns a list of validation error messages (or None if valid).
|
|
9795
|
+
"""
|
|
9796
|
+
...
|
|
9797
|
+
|
|
9798
|
+
@property
|
|
9799
|
+
def version(self) -> str:
|
|
9800
|
+
"""
|
|
9801
|
+
The message version.
|
|
9802
|
+
"""
|
|
9803
|
+
...
|
|
9804
|
+
|
|
9805
|
+
@version.setter
|
|
9806
|
+
def version(self, value: str) -> None: ...
|
|
9807
|
+
|
|
9382
9808
|
class OpmCovarianceMatrix:
|
|
9383
9809
|
"""
|
|
9384
9810
|
Position/Velocity Covariance Matrix (6x6 Lower Triangular Form. None or all parameters of the
|
|
@@ -9440,29 +9866,29 @@ class OpmCovarianceMatrix:
|
|
|
9440
9866
|
... (see Parameters for full list of attributes with units)
|
|
9441
9867
|
"""
|
|
9442
9868
|
def __init__(
|
|
9443
|
-
cx_x,
|
|
9444
|
-
cy_x,
|
|
9445
|
-
cy_y,
|
|
9446
|
-
cz_x,
|
|
9447
|
-
cz_y,
|
|
9448
|
-
cz_z,
|
|
9449
|
-
cx_dot_x,
|
|
9450
|
-
cx_dot_y,
|
|
9451
|
-
cx_dot_z,
|
|
9452
|
-
cy_dot_x,
|
|
9453
|
-
cy_dot_y,
|
|
9454
|
-
cy_dot_z,
|
|
9455
|
-
cz_dot_x,
|
|
9456
|
-
cz_dot_y,
|
|
9457
|
-
cz_dot_z,
|
|
9458
|
-
cx_dot_x_dot,
|
|
9459
|
-
cy_dot_x_dot,
|
|
9460
|
-
cy_dot_y_dot,
|
|
9461
|
-
cz_dot_x_dot,
|
|
9462
|
-
cz_dot_y_dot,
|
|
9463
|
-
cz_dot_z_dot,
|
|
9464
|
-
cov_ref_frame,
|
|
9465
|
-
comments,
|
|
9869
|
+
cx_x=None,
|
|
9870
|
+
cy_x=None,
|
|
9871
|
+
cy_y=None,
|
|
9872
|
+
cz_x=None,
|
|
9873
|
+
cz_y=None,
|
|
9874
|
+
cz_z=None,
|
|
9875
|
+
cx_dot_x=None,
|
|
9876
|
+
cx_dot_y=None,
|
|
9877
|
+
cx_dot_z=None,
|
|
9878
|
+
cy_dot_x=None,
|
|
9879
|
+
cy_dot_y=None,
|
|
9880
|
+
cy_dot_z=None,
|
|
9881
|
+
cz_dot_x=None,
|
|
9882
|
+
cz_dot_y=None,
|
|
9883
|
+
cz_dot_z=None,
|
|
9884
|
+
cx_dot_x_dot=None,
|
|
9885
|
+
cy_dot_x_dot=None,
|
|
9886
|
+
cy_dot_y_dot=None,
|
|
9887
|
+
cz_dot_x_dot=None,
|
|
9888
|
+
cz_dot_y_dot=None,
|
|
9889
|
+
cz_dot_z_dot=None,
|
|
9890
|
+
cov_ref_frame=None,
|
|
9891
|
+
comments=None,
|
|
9466
9892
|
) -> None: ...
|
|
9467
9893
|
def __getstate__(self, /):
|
|
9468
9894
|
"""
|
|
@@ -9730,7 +10156,7 @@ class OpmData:
|
|
|
9730
10156
|
state_vector : StateVector
|
|
9731
10157
|
State vector.
|
|
9732
10158
|
"""
|
|
9733
|
-
def __init__(state_vector, comment) -> None: ...
|
|
10159
|
+
def __init__(state_vector, comment=None) -> None: ...
|
|
9734
10160
|
def __getstate__(self, /):
|
|
9735
10161
|
"""
|
|
9736
10162
|
Helper for pickle.
|
|
@@ -10166,6 +10592,15 @@ class Rdm:
|
|
|
10166
10592
|
@header.setter
|
|
10167
10593
|
def header(self, value: RdmHeader) -> None: ...
|
|
10168
10594
|
@property
|
|
10595
|
+
def id(self) -> Optional[str]:
|
|
10596
|
+
"""
|
|
10597
|
+
The message identifier.
|
|
10598
|
+
"""
|
|
10599
|
+
...
|
|
10600
|
+
|
|
10601
|
+
@id.setter
|
|
10602
|
+
def id(self, value: Optional[str]) -> None: ...
|
|
10603
|
+
@property
|
|
10169
10604
|
def segment(self) -> RdmSegment:
|
|
10170
10605
|
"""
|
|
10171
10606
|
The RDM Body consists of a single segment.
|
|
@@ -10174,7 +10609,7 @@ class Rdm:
|
|
|
10174
10609
|
|
|
10175
10610
|
@segment.setter
|
|
10176
10611
|
def segment(self, value: RdmSegment) -> None: ...
|
|
10177
|
-
def to_file(self, path, format):
|
|
10612
|
+
def to_file(self, path, format, validate=True):
|
|
10178
10613
|
"""
|
|
10179
10614
|
Write to a file.
|
|
10180
10615
|
|
|
@@ -10184,6 +10619,8 @@ class Rdm:
|
|
|
10184
10619
|
Output file path.
|
|
10185
10620
|
format : str
|
|
10186
10621
|
Format ('kvn' or 'xml').
|
|
10622
|
+
validate : bool, optional
|
|
10623
|
+
Whether to validate the message before writing (default: True).
|
|
10187
10624
|
"""
|
|
10188
10625
|
...
|
|
10189
10626
|
|
|
@@ -10198,7 +10635,7 @@ class Rdm:
|
|
|
10198
10635
|
"""
|
|
10199
10636
|
...
|
|
10200
10637
|
|
|
10201
|
-
def to_str(self, format):
|
|
10638
|
+
def to_str(self, format, validate=True):
|
|
10202
10639
|
"""
|
|
10203
10640
|
Serialize to string (generic).
|
|
10204
10641
|
|
|
@@ -10206,6 +10643,8 @@ class Rdm:
|
|
|
10206
10643
|
----------
|
|
10207
10644
|
format : str
|
|
10208
10645
|
Format ('kvn' or 'xml').
|
|
10646
|
+
validate : bool, optional
|
|
10647
|
+
Whether to validate the message before writing (default: True).
|
|
10209
10648
|
|
|
10210
10649
|
Returns
|
|
10211
10650
|
-------
|
|
@@ -10225,6 +10664,28 @@ class Rdm:
|
|
|
10225
10664
|
"""
|
|
10226
10665
|
...
|
|
10227
10666
|
|
|
10667
|
+
def validate(self, strict=True):
|
|
10668
|
+
"""
|
|
10669
|
+
Validate the message against CCSDS rules.
|
|
10670
|
+
|
|
10671
|
+
Parameters
|
|
10672
|
+
----------
|
|
10673
|
+
strict : bool, optional
|
|
10674
|
+
If True (default), raises ValueError on the first error found.
|
|
10675
|
+
If False, returns a list of validation error messages (or None if valid).
|
|
10676
|
+
"""
|
|
10677
|
+
...
|
|
10678
|
+
|
|
10679
|
+
@property
|
|
10680
|
+
def version(self) -> str:
|
|
10681
|
+
"""
|
|
10682
|
+
The message version.
|
|
10683
|
+
"""
|
|
10684
|
+
...
|
|
10685
|
+
|
|
10686
|
+
@version.setter
|
|
10687
|
+
def version(self, value: str) -> None: ...
|
|
10688
|
+
|
|
10228
10689
|
class RdmData:
|
|
10229
10690
|
"""
|
|
10230
10691
|
The RDM Data section.
|
|
@@ -11141,33 +11602,6 @@ class RelativeMetadataData:
|
|
|
11141
11602
|
@miss_distance.setter
|
|
11142
11603
|
def miss_distance(self, value: float) -> None: ...
|
|
11143
11604
|
@property
|
|
11144
|
-
def relative_position_n(self) -> Optional[float]:
|
|
11145
|
-
"""
|
|
11146
|
-
Relative position N component.
|
|
11147
|
-
"""
|
|
11148
|
-
...
|
|
11149
|
-
|
|
11150
|
-
@relative_position_n.setter
|
|
11151
|
-
def relative_position_n(self, value: Optional[float]) -> None: ...
|
|
11152
|
-
@property
|
|
11153
|
-
def relative_position_r(self) -> Optional[float]:
|
|
11154
|
-
"""
|
|
11155
|
-
Relative position R component.
|
|
11156
|
-
"""
|
|
11157
|
-
...
|
|
11158
|
-
|
|
11159
|
-
@relative_position_r.setter
|
|
11160
|
-
def relative_position_r(self, value: Optional[float]) -> None: ...
|
|
11161
|
-
@property
|
|
11162
|
-
def relative_position_t(self) -> Optional[float]:
|
|
11163
|
-
"""
|
|
11164
|
-
Relative position T component.
|
|
11165
|
-
"""
|
|
11166
|
-
...
|
|
11167
|
-
|
|
11168
|
-
@relative_position_t.setter
|
|
11169
|
-
def relative_position_t(self, value: Optional[float]) -> None: ...
|
|
11170
|
-
@property
|
|
11171
11605
|
def relative_speed(self) -> Optional[float]:
|
|
11172
11606
|
"""
|
|
11173
11607
|
The norm of the relative velocity vector. It indicates how fast the two objects are
|
|
@@ -11180,41 +11614,14 @@ class RelativeMetadataData:
|
|
|
11180
11614
|
@relative_speed.setter
|
|
11181
11615
|
def relative_speed(self, value: Optional[float]) -> None: ...
|
|
11182
11616
|
@property
|
|
11183
|
-
def relative_state_vector(self) -> Optional[
|
|
11617
|
+
def relative_state_vector(self) -> Optional[RelativeStateVector]:
|
|
11184
11618
|
"""
|
|
11185
11619
|
Relative state vector [R, T, N, VR, VT, VN] (combined position and velocity).
|
|
11186
11620
|
"""
|
|
11187
11621
|
...
|
|
11188
11622
|
|
|
11189
11623
|
@relative_state_vector.setter
|
|
11190
|
-
def relative_state_vector(self, value: Optional[
|
|
11191
|
-
@property
|
|
11192
|
-
def relative_velocity_n(self) -> Optional[float]:
|
|
11193
|
-
"""
|
|
11194
|
-
Relative velocity N component.
|
|
11195
|
-
"""
|
|
11196
|
-
...
|
|
11197
|
-
|
|
11198
|
-
@relative_velocity_n.setter
|
|
11199
|
-
def relative_velocity_n(self, value: Optional[float]) -> None: ...
|
|
11200
|
-
@property
|
|
11201
|
-
def relative_velocity_r(self) -> Optional[float]:
|
|
11202
|
-
"""
|
|
11203
|
-
Relative velocity R component.
|
|
11204
|
-
"""
|
|
11205
|
-
...
|
|
11206
|
-
|
|
11207
|
-
@relative_velocity_r.setter
|
|
11208
|
-
def relative_velocity_r(self, value: Optional[float]) -> None: ...
|
|
11209
|
-
@property
|
|
11210
|
-
def relative_velocity_t(self) -> Optional[float]:
|
|
11211
|
-
"""
|
|
11212
|
-
Relative velocity T component.
|
|
11213
|
-
"""
|
|
11214
|
-
...
|
|
11215
|
-
|
|
11216
|
-
@relative_velocity_t.setter
|
|
11217
|
-
def relative_velocity_t(self, value: Optional[float]) -> None: ...
|
|
11624
|
+
def relative_state_vector(self, value: Optional[RelativeStateVector]) -> None: ...
|
|
11218
11625
|
@property
|
|
11219
11626
|
def screen_entry_time(self) -> Optional[str]:
|
|
11220
11627
|
"""
|
|
@@ -11321,6 +11728,115 @@ class RelativeMetadataData:
|
|
|
11321
11728
|
@tca.setter
|
|
11322
11729
|
def tca(self, value: str) -> None: ...
|
|
11323
11730
|
|
|
11731
|
+
class RelativeStateVector:
|
|
11732
|
+
"""
|
|
11733
|
+
Relative State Vector containing relative position and velocity.
|
|
11734
|
+
|
|
11735
|
+
Parameters
|
|
11736
|
+
----------
|
|
11737
|
+
relative_position_r : float
|
|
11738
|
+
Relative position R component. Units: m.
|
|
11739
|
+
relative_position_t : float
|
|
11740
|
+
Relative position T component. Units: m.
|
|
11741
|
+
relative_position_n : float
|
|
11742
|
+
Relative position N component. Units: m.
|
|
11743
|
+
relative_velocity_r : float
|
|
11744
|
+
Relative velocity R component. Units: m/s.
|
|
11745
|
+
relative_velocity_t : float
|
|
11746
|
+
Relative velocity T component. Units: m/s.
|
|
11747
|
+
relative_velocity_n : float
|
|
11748
|
+
Relative velocity N component. Units: m/s.
|
|
11749
|
+
"""
|
|
11750
|
+
def __init__(
|
|
11751
|
+
relative_position_r,
|
|
11752
|
+
relative_position_t,
|
|
11753
|
+
relative_position_n,
|
|
11754
|
+
relative_velocity_r,
|
|
11755
|
+
relative_velocity_t,
|
|
11756
|
+
relative_velocity_n,
|
|
11757
|
+
) -> None: ...
|
|
11758
|
+
def __getstate__(self, /):
|
|
11759
|
+
"""
|
|
11760
|
+
Helper for pickle.
|
|
11761
|
+
"""
|
|
11762
|
+
...
|
|
11763
|
+
|
|
11764
|
+
@property
|
|
11765
|
+
def relative_position_n(self) -> float:
|
|
11766
|
+
"""
|
|
11767
|
+
Relative position N component.
|
|
11768
|
+
|
|
11769
|
+
Units: m
|
|
11770
|
+
"""
|
|
11771
|
+
...
|
|
11772
|
+
|
|
11773
|
+
@relative_position_n.setter
|
|
11774
|
+
def relative_position_n(self, value: float) -> None: ...
|
|
11775
|
+
@property
|
|
11776
|
+
def relative_position_r(self) -> float:
|
|
11777
|
+
"""
|
|
11778
|
+
Relative position R component.
|
|
11779
|
+
|
|
11780
|
+
Units: m
|
|
11781
|
+
"""
|
|
11782
|
+
...
|
|
11783
|
+
|
|
11784
|
+
@relative_position_r.setter
|
|
11785
|
+
def relative_position_r(self, value: float) -> None: ...
|
|
11786
|
+
@property
|
|
11787
|
+
def relative_position_t(self) -> float:
|
|
11788
|
+
"""
|
|
11789
|
+
Relative position T component.
|
|
11790
|
+
|
|
11791
|
+
Units: m
|
|
11792
|
+
"""
|
|
11793
|
+
...
|
|
11794
|
+
|
|
11795
|
+
@relative_position_t.setter
|
|
11796
|
+
def relative_position_t(self, value: float) -> None: ...
|
|
11797
|
+
@property
|
|
11798
|
+
def relative_velocity_n(self) -> float:
|
|
11799
|
+
"""
|
|
11800
|
+
Relative velocity N component.
|
|
11801
|
+
|
|
11802
|
+
Units: m/s
|
|
11803
|
+
"""
|
|
11804
|
+
...
|
|
11805
|
+
|
|
11806
|
+
@relative_velocity_n.setter
|
|
11807
|
+
def relative_velocity_n(self, value: float) -> None: ...
|
|
11808
|
+
@property
|
|
11809
|
+
def relative_velocity_r(self) -> float:
|
|
11810
|
+
"""
|
|
11811
|
+
Relative velocity R component.
|
|
11812
|
+
|
|
11813
|
+
Units: m/s
|
|
11814
|
+
"""
|
|
11815
|
+
...
|
|
11816
|
+
|
|
11817
|
+
@relative_velocity_r.setter
|
|
11818
|
+
def relative_velocity_r(self, value: float) -> None: ...
|
|
11819
|
+
@property
|
|
11820
|
+
def relative_velocity_t(self) -> float:
|
|
11821
|
+
"""
|
|
11822
|
+
Relative velocity T component.
|
|
11823
|
+
|
|
11824
|
+
Units: m/s
|
|
11825
|
+
"""
|
|
11826
|
+
...
|
|
11827
|
+
|
|
11828
|
+
@relative_velocity_t.setter
|
|
11829
|
+
def relative_velocity_t(self, value: float) -> None: ...
|
|
11830
|
+
def to_numpy(self) -> numpy.ndarray:
|
|
11831
|
+
"""
|
|
11832
|
+
Return the relative state vector as a NumPy array.
|
|
11833
|
+
|
|
11834
|
+
Returns:
|
|
11835
|
+
numpy.ndarray: 1D array of shape (6,) containing [R, T, N, VR, VT, VN].
|
|
11836
|
+
Units: [m, m, m, m/s, m/s, m/s]
|
|
11837
|
+
"""
|
|
11838
|
+
...
|
|
11839
|
+
|
|
11324
11840
|
class ScreenVolumeFrameType:
|
|
11325
11841
|
def __getstate__(self, /):
|
|
11326
11842
|
"""
|
|
@@ -11356,7 +11872,11 @@ class SpacecraftParameters:
|
|
|
11356
11872
|
Drag coefficient.
|
|
11357
11873
|
"""
|
|
11358
11874
|
def __init__(
|
|
11359
|
-
mass,
|
|
11875
|
+
mass=None,
|
|
11876
|
+
solar_rad_area=None,
|
|
11877
|
+
solar_rad_coeff=None,
|
|
11878
|
+
drag_area=None,
|
|
11879
|
+
drag_coeff=None,
|
|
11360
11880
|
) -> None: ...
|
|
11361
11881
|
def __getstate__(self, /):
|
|
11362
11882
|
"""
|
|
@@ -11628,7 +12148,7 @@ class StateVector:
|
|
|
11628
12148
|
z_dot : float
|
|
11629
12149
|
Velocity vector Z-component (km/s).
|
|
11630
12150
|
"""
|
|
11631
|
-
def __init__(epoch, x, y, z, x_dot, y_dot, z_dot, comments) -> None: ...
|
|
12151
|
+
def __init__(epoch, x, y, z, x_dot, y_dot, z_dot, comments=None) -> None: ...
|
|
11632
12152
|
def __getstate__(self, /):
|
|
11633
12153
|
"""
|
|
11634
12154
|
Helper for pickle.
|
|
@@ -11748,7 +12268,7 @@ class StateVectorAcc:
|
|
|
11748
12268
|
Acceleration vector Z-component (km/s²).
|
|
11749
12269
|
"""
|
|
11750
12270
|
def __init__(
|
|
11751
|
-
epoch, x, y, z, x_dot, y_dot, z_dot, x_ddot, y_ddot, z_ddot
|
|
12271
|
+
epoch, x, y, z, x_dot, y_dot, z_dot, x_ddot=None, y_ddot=None, z_ddot=None
|
|
11752
12272
|
) -> None: ...
|
|
11753
12273
|
def __getstate__(self, /):
|
|
11754
12274
|
"""
|
|
@@ -11970,6 +12490,15 @@ class Tdm:
|
|
|
11970
12490
|
@header.setter
|
|
11971
12491
|
def header(self, value: TdmHeader) -> None: ...
|
|
11972
12492
|
@property
|
|
12493
|
+
def id(self) -> Optional[str]:
|
|
12494
|
+
"""
|
|
12495
|
+
The message identifier.
|
|
12496
|
+
"""
|
|
12497
|
+
...
|
|
12498
|
+
|
|
12499
|
+
@id.setter
|
|
12500
|
+
def id(self, value: Optional[str]) -> None: ...
|
|
12501
|
+
@property
|
|
11973
12502
|
def segments(self) -> list[TdmSegment]:
|
|
11974
12503
|
"""
|
|
11975
12504
|
Shortcut to access segments directly from the body.
|
|
@@ -11978,7 +12507,7 @@ class Tdm:
|
|
|
11978
12507
|
|
|
11979
12508
|
@segments.setter
|
|
11980
12509
|
def segments(self, value: list[TdmSegment]) -> None: ...
|
|
11981
|
-
def to_file(self, path, format):
|
|
12510
|
+
def to_file(self, path, format, validate=True):
|
|
11982
12511
|
"""
|
|
11983
12512
|
Write to file.
|
|
11984
12513
|
|
|
@@ -11988,10 +12517,12 @@ class Tdm:
|
|
|
11988
12517
|
Output file path.
|
|
11989
12518
|
format : str
|
|
11990
12519
|
Output format ('kvn' or 'xml').
|
|
12520
|
+
validate : bool, optional
|
|
12521
|
+
Whether to validate the message before writing (default: True).
|
|
11991
12522
|
"""
|
|
11992
12523
|
...
|
|
11993
12524
|
|
|
11994
|
-
def to_str(self, format):
|
|
12525
|
+
def to_str(self, format, validate=True):
|
|
11995
12526
|
"""
|
|
11996
12527
|
Serialize to string.
|
|
11997
12528
|
|
|
@@ -11999,6 +12530,8 @@ class Tdm:
|
|
|
11999
12530
|
----------
|
|
12000
12531
|
format : str
|
|
12001
12532
|
Output format ('kvn' or 'xml').
|
|
12533
|
+
validate : bool, optional
|
|
12534
|
+
Whether to validate the message before writing (default: True).
|
|
12002
12535
|
|
|
12003
12536
|
Returns
|
|
12004
12537
|
-------
|
|
@@ -12007,6 +12540,28 @@ class Tdm:
|
|
|
12007
12540
|
"""
|
|
12008
12541
|
...
|
|
12009
12542
|
|
|
12543
|
+
def validate(self, strict=True):
|
|
12544
|
+
"""
|
|
12545
|
+
Validate the message against CCSDS rules.
|
|
12546
|
+
|
|
12547
|
+
Parameters
|
|
12548
|
+
----------
|
|
12549
|
+
strict : bool, optional
|
|
12550
|
+
If True (default), raises ValueError on the first error found.
|
|
12551
|
+
If False, returns a list of validation error messages (or None if valid).
|
|
12552
|
+
"""
|
|
12553
|
+
...
|
|
12554
|
+
|
|
12555
|
+
@property
|
|
12556
|
+
def version(self) -> str:
|
|
12557
|
+
"""
|
|
12558
|
+
The message version.
|
|
12559
|
+
"""
|
|
12560
|
+
...
|
|
12561
|
+
|
|
12562
|
+
@version.setter
|
|
12563
|
+
def version(self, value: str) -> None: ...
|
|
12564
|
+
|
|
12010
12565
|
class TdmBody:
|
|
12011
12566
|
"""
|
|
12012
12567
|
The TDM Body consists of one or more TDM Segments.
|
|
@@ -12048,7 +12603,7 @@ class TdmData:
|
|
|
12048
12603
|
Comments in the data section.
|
|
12049
12604
|
(Optional)
|
|
12050
12605
|
"""
|
|
12051
|
-
def __init__(
|
|
12606
|
+
def __init__(observations=None, comment=None) -> None: ...
|
|
12052
12607
|
def __getstate__(self, /):
|
|
12053
12608
|
"""
|
|
12054
12609
|
Helper for pickle.
|