CCSDS NDM
A library for parsing and generating CCSDS Navigation Data Messages (NDM) in both KVN (Key-Value Notation) and XML formats.
Supported Message Types
- OPM - Orbit Parameter Message
- OMM - Orbit Mean-Elements Message
- OEM - Orbit Ephemeris Message
- OCM - Orbit Comprehensive Message
- CDM - Conjunction Data Message
- TDM - Tracking Data Message
- RDM - Reentry Data Message
Quick Start
Parse any NDM file (auto-detection)
use ccsds_ndm::{from_file, MessageType};
let ndm = from_file("example.opm").unwrap();
match ndm {
MessageType::Opm(opm) => {
println!("Object: {}", opm.body.segment.metadata.object_name);
}
_ => {}
}
Parse a specific message type
use ccsds_ndm::messages::opm::Opm;
use ccsds_ndm::traits::Ndm;
let opm = Opm::from_kvn("CCSDS_OPM_VERS = 3.0\n...").unwrap();
Serialize to KVN or XML
use ccsds_ndm::{from_file, MessageType};
let ndm = from_file("example.opm").unwrap();
let kvn_string = ndm.to_kvn().unwrap();
let xml_string = ndm.to_xml().unwrap();