opengnc.interfaces.ccsds package

Submodules

opengnc.interfaces.ccsds.cdm module

CCSDS Conjunction Data Message (CDM) implementation. Standard: CCSDS 508.0-B-1 (Blue Book).

class opengnc.interfaces.ccsds.cdm.CDM(data: dict[str, Any] | None = None)[source]

Bases: object

Conjunction Data Message (CDM) handler.

Supports reading, writing, and analytical collision probability calculation ($P_c$) per CCSDS 508.0-B-1 and Foster (1992) standards.

compute_collision_probability(hard_body_radius: float | None = None) → float[source]

Compute the 2D collision probability ($P_c$) in the encounter frame (Foster, 1992).

Parameters:

hard_body_radius (float, optional) – Combined spherical hard-body radius $R = R_1 + R_2$ (m). If omitted, uses the sum of object1 and object2 radii.

Returns:

Collision probability $P_c in [0, 1]$.

Return type:

float

classmethod from_file(filepath: str | Path) → CDM[source]

Parse a CDM from a KVN file.

set_data(data: dict[str, Any]) → None[source]

Update CDM fields from a dictionary.

to_file(filepath: str | Path) → None[source]

Save the CDM to a KVN file.

to_string() → str[source]

Format CDM in standard CCSDS Key-Value Notation (KVN).

write(filepath: str | Path) → None[source]

Alias for to_file.

opengnc.interfaces.ccsds.oem module

CCSDS Orbit Ephemeris Message (OEM) implementation.

class opengnc.interfaces.ccsds.oem.OEM[source]

Bases: object

Orbit Ephemeris Message (OEM) handler.

Supports reading and writing CCSDS OEM files.

classmethod from_file(filepath: str) → OEM[source]

Load an OEM from a file.

get_interpolated_state(epoch: str) → ndarray[source]

Placeholder for orbital interpolation logic.

Returns the exact stored state for now.

set_data(epochs: list[str], states: ndarray) → None[source]

Set ephemeris data.

write(filepath: str) → None[source]

Write the OEM to a file.

opengnc.interfaces.ccsds.omm module

CCSDS Orbit Mean-Elements Message (OMM) implementation. Standard: CCSDS 502.0-B-2 (Blue Book).

class opengnc.interfaces.ccsds.omm.OMM(data: dict[str, Any] | None = None)[source]

Bases: object

Orbit Mean-Elements Message (OMM) handler.

Supports reading, writing, and TLE cross-conversion of CCSDS OMM files (KVN format).

classmethod from_file(filepath: str | Path) → OMM[source]

Load an OMM from a KVN file.

classmethod from_tle(line1: str, line2: str, name: str = 'OBJECT') → OMM[source]

Create an OMM directly from a standard Two-Line Element (TLE) pair.

get_keplerian_elements() → dict[str, float][source]

Return mean Keplerian orbital elements.

set_data(data: dict[str, Any]) → None[source]

Update OMM fields from a dictionary.

to_file(filepath: str | Path) → None[source]

Save the OMM to a KVN file.

to_string() → str[source]

Render the OMM in standard Key-Value Notation (KVN).

write(filepath: str | Path) → None[source]

Alias for to_file.

opengnc.interfaces.ccsds.opm module

CCSDS Orbit Parameter Message (OPM) implementation.

class opengnc.interfaces.ccsds.opm.OPM(data: dict | None = None)[source]

Bases: object

Orbit Parameter Message (OPM) handler.

Supports reading and writing CCSDS OPM files (KVN format).

classmethod from_file(filepath: str) → OPM[source]

Load OPM from a KVN file.

get_state_vector() → ndarray[source]

Return state vector in SI units (m, m/s).

write(filepath: str) → None[source]

Write OPM to a KVN file.

Module contents

CCSDS standards implementation (OEM, OPM, OMM, CDM).

class opengnc.interfaces.ccsds.CDM(data: dict[str, Any] | None = None)[source]

Bases: object

Conjunction Data Message (CDM) handler.

Supports reading, writing, and analytical collision probability calculation ($P_c$) per CCSDS 508.0-B-1 and Foster (1992) standards.

compute_collision_probability(hard_body_radius: float | None = None) → float[source]

Compute the 2D collision probability ($P_c$) in the encounter frame (Foster, 1992).

Parameters:

hard_body_radius (float, optional) – Combined spherical hard-body radius $R = R_1 + R_2$ (m). If omitted, uses the sum of object1 and object2 radii.

Returns:

Collision probability $P_c in [0, 1]$.

Return type:

float

classmethod from_file(filepath: str | Path) → CDM[source]

Parse a CDM from a KVN file.

set_data(data: dict[str, Any]) → None[source]

Update CDM fields from a dictionary.

to_file(filepath: str | Path) → None[source]

Save the CDM to a KVN file.

to_string() → str[source]

Format CDM in standard CCSDS Key-Value Notation (KVN).

write(filepath: str | Path) → None[source]

Alias for to_file.

class opengnc.interfaces.ccsds.OEM[source]

Bases: object

Orbit Ephemeris Message (OEM) handler.

Supports reading and writing CCSDS OEM files.

classmethod from_file(filepath: str) → OEM[source]

Load an OEM from a file.

get_interpolated_state(epoch: str) → ndarray[source]

Placeholder for orbital interpolation logic.

Returns the exact stored state for now.

set_data(epochs: list[str], states: ndarray) → None[source]

Set ephemeris data.

write(filepath: str) → None[source]

Write the OEM to a file.

class opengnc.interfaces.ccsds.OMM(data: dict[str, Any] | None = None)[source]

Bases: object

Orbit Mean-Elements Message (OMM) handler.

Supports reading, writing, and TLE cross-conversion of CCSDS OMM files (KVN format).

classmethod from_file(filepath: str | Path) → OMM[source]

Load an OMM from a KVN file.

classmethod from_tle(line1: str, line2: str, name: str = 'OBJECT') → OMM[source]

Create an OMM directly from a standard Two-Line Element (TLE) pair.

get_keplerian_elements() → dict[str, float][source]

Return mean Keplerian orbital elements.

set_data(data: dict[str, Any]) → None[source]

Update OMM fields from a dictionary.

to_file(filepath: str | Path) → None[source]

Save the OMM to a KVN file.

to_string() → str[source]

Render the OMM in standard Key-Value Notation (KVN).

write(filepath: str | Path) → None[source]

Alias for to_file.

class opengnc.interfaces.ccsds.OPM(data: dict | None = None)[source]

Bases: object

Orbit Parameter Message (OPM) handler.

Supports reading and writing CCSDS OPM files (KVN format).

classmethod from_file(filepath: str) → OPM[source]

Load OPM from a KVN file.

get_state_vector() → ndarray[source]

Return state vector in SI units (m, m/s).

write(filepath: str) → None[source]

Write OPM to a KVN file.