ccsds-ndm 0.0.1

Parse and generate CCSDS Navigation Data Messages (NDM) in KVN and XML formats
Documentation

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();