Library
Documentation for the public API of SatelliteToolboxOrbitDataMessages.jl.
SatelliteToolboxOrbitDataMessages.ODMSatelliteToolboxOrbitDataMessages.CelestrakOmmFetcherSatelliteToolboxOrbitDataMessages.OdmFetchErrorSatelliteToolboxOrbitDataMessages.OdmLoginErrorSatelliteToolboxOrbitDataMessages.OmmCovarianceMatrixSatelliteToolboxOrbitDataMessages.OrbitDataMessageSatelliteToolboxOrbitDataMessages.OrbitMeanElementsMessageSatelliteToolboxOrbitDataMessages.OrbitMeanElementsMessageSatelliteToolboxOrbitDataMessages.SpacetrackOmmFetcherSatelliteToolboxOrbitDataMessages.ODM.GMSatelliteToolboxOrbitDataMessages.ODM.agomSatelliteToolboxOrbitDataMessages.ODM.arg_of_pericenterSatelliteToolboxOrbitDataMessages.ODM.bstarSatelliteToolboxOrbitDataMessages.ODM.btermSatelliteToolboxOrbitDataMessages.ODM.center_nameSatelliteToolboxOrbitDataMessages.ODM.classificationSatelliteToolboxOrbitDataMessages.ODM.classification_typeSatelliteToolboxOrbitDataMessages.ODM.covariance_matrixSatelliteToolboxOrbitDataMessages.ODM.creation_dateSatelliteToolboxOrbitDataMessages.ODM.data_commentsSatelliteToolboxOrbitDataMessages.ODM.drag_areaSatelliteToolboxOrbitDataMessages.ODM.drag_coeffSatelliteToolboxOrbitDataMessages.ODM.eccentricitySatelliteToolboxOrbitDataMessages.ODM.element_set_numberSatelliteToolboxOrbitDataMessages.ODM.ephemeris_typeSatelliteToolboxOrbitDataMessages.ODM.epochSatelliteToolboxOrbitDataMessages.ODM.header_commentsSatelliteToolboxOrbitDataMessages.ODM.inclinationSatelliteToolboxOrbitDataMessages.ODM.massSatelliteToolboxOrbitDataMessages.ODM.mean_anomalySatelliteToolboxOrbitDataMessages.ODM.mean_element_theorySatelliteToolboxOrbitDataMessages.ODM.mean_elements_commentsSatelliteToolboxOrbitDataMessages.ODM.mean_motionSatelliteToolboxOrbitDataMessages.ODM.mean_motion_ddotSatelliteToolboxOrbitDataMessages.ODM.mean_motion_dotSatelliteToolboxOrbitDataMessages.ODM.message_idSatelliteToolboxOrbitDataMessages.ODM.metadata_commentsSatelliteToolboxOrbitDataMessages.ODM.norad_cat_idSatelliteToolboxOrbitDataMessages.ODM.object_idSatelliteToolboxOrbitDataMessages.ODM.object_nameSatelliteToolboxOrbitDataMessages.ODM.originatorSatelliteToolboxOrbitDataMessages.ODM.raanSatelliteToolboxOrbitDataMessages.ODM.ref_frameSatelliteToolboxOrbitDataMessages.ODM.ref_frame_epochSatelliteToolboxOrbitDataMessages.ODM.rev_at_epochSatelliteToolboxOrbitDataMessages.ODM.semi_major_axisSatelliteToolboxOrbitDataMessages.ODM.solar_rad_areaSatelliteToolboxOrbitDataMessages.ODM.solar_rad_coeffSatelliteToolboxOrbitDataMessages.ODM.spacecraft_parameters_commentsSatelliteToolboxOrbitDataMessages.ODM.time_systemSatelliteToolboxOrbitDataMessages.ODM.tle_parameters_commentsSatelliteToolboxOrbitDataMessages.ODM.user_defined_parametersSatelliteToolboxOrbitDataMessages._add_omm_tags!SatelliteToolboxOrbitDataMessages._empty_omm_spacecraft_parametersSatelliteToolboxOrbitDataMessages._empty_omm_tle_parametersSatelliteToolboxOrbitDataMessages._field_name_widthSatelliteToolboxOrbitDataMessages._format_valueSatelliteToolboxOrbitDataMessages._is_odm_tagSatelliteToolboxOrbitDataMessages._odm_to_xml_elementSatelliteToolboxOrbitDataMessages._omm_scalar_valueSatelliteToolboxOrbitDataMessages._omm_tagSatelliteToolboxOrbitDataMessages._omm_to_xmlSatelliteToolboxOrbitDataMessages._parse_messageSatelliteToolboxOrbitDataMessages._parse_ndmSatelliteToolboxOrbitDataMessages._parse_ndm_dateSatelliteToolboxOrbitDataMessages._parse_ommSatelliteToolboxOrbitDataMessages._parse_omm_bodySatelliteToolboxOrbitDataMessages._parse_omm_covariance_matrixSatelliteToolboxOrbitDataMessages._parse_omm_dataSatelliteToolboxOrbitDataMessages._parse_omm_headerSatelliteToolboxOrbitDataMessages._parse_omm_mean_elementsSatelliteToolboxOrbitDataMessages._parse_omm_metadataSatelliteToolboxOrbitDataMessages._parse_omm_numberSatelliteToolboxOrbitDataMessages._parse_omm_segmentSatelliteToolboxOrbitDataMessages._parse_omm_spacecraft_parametersSatelliteToolboxOrbitDataMessages._parse_omm_tle_parametersSatelliteToolboxOrbitDataMessages._parse_omm_user_defined_parametersSatelliteToolboxOrbitDataMessages._print_fieldsSatelliteToolboxOrbitDataMessages._print_nodeSatelliteToolboxOrbitDataMessages._push_output!SatelliteToolboxOrbitDataMessages._register_facesSatelliteToolboxOrbitDataMessages._render_fieldSatelliteToolboxOrbitDataMessages._spacetrack__cookie_expire_dateSatelliteToolboxOrbitDataMessages._spacetrack__is_cookie_validSatelliteToolboxOrbitDataMessages._spacetrack__load_cookiejarSatelliteToolboxOrbitDataMessages._spacetrack__loginSatelliteToolboxOrbitDataMessages._spacetrack__purge_cookiejarSatelliteToolboxOrbitDataMessages._spacetrack__save_cookiejarSatelliteToolboxOrbitDataMessages._validate_writable_omm_headerSatelliteToolboxOrbitDataMessages._xml_add_tag!SatelliteToolboxOrbitDataMessages._xml_renderSatelliteToolboxOrbitDataMessages.create_omm_fetcherSatelliteToolboxOrbitDataMessages.create_omm_fetcherSatelliteToolboxOrbitDataMessages.create_omm_fetcherSatelliteToolboxOrbitDataMessages.fetch_ommsSatelliteToolboxOrbitDataMessages.fetch_ommsSatelliteToolboxOrbitDataMessages.fetch_ommsSatelliteToolboxOrbitDataMessages.parse_odmSatelliteToolboxOrbitDataMessages.parse_ommSatelliteToolboxOrbitDataMessages.parse_ommsSatelliteToolboxOrbitDataMessages.read_odmSatelliteToolboxOrbitDataMessages.read_ommSatelliteToolboxOrbitDataMessages.write_odmSatelliteToolboxOrbitDataMessages.write_omm
SatelliteToolboxOrbitDataMessages.CelestrakOmmFetcher — Type
struct CelestrakOmmFetcher <: AbstractOmmFetcherFetcher that retrieves Orbit Mean-Elements Messages (OMM) from the Celestrak service.
Create an instance with create_omm_fetcher(CelestrakOmmFetcher) and query the service with fetch_omms. Celestrak provides publicly available data and does not require authentication.
Fields
url::String: Address of the Celestrak endpoint used to perform the queries.
SatelliteToolboxOrbitDataMessages.OdmFetchError — Type
struct OdmFetchError <: ExceptionException thrown when a request to an Orbit Data Message service fails.
Fields
msg::String: Description of the request failure.url::Union{String, Nothing}: URL of the failed request, if available. (Default:nothing)status::Union{Int, Nothing}: HTTP status code of the failed request, if available. (Default:nothing)
SatelliteToolboxOrbitDataMessages.OdmLoginError — Type
struct OdmLoginError <: ExceptionException thrown when the authentication with an Orbit Data Message service fails.
Fields
msg::String: Description of the login failure.
SatelliteToolboxOrbitDataMessages.OmmCovarianceMatrix — Type
struct OmmCovarianceMatrixCovariance matrix of an Orbit Mean-Elements Message (OMM) as defined by the CCSDS 502.0-B-3 standard.
The matrix is symmetric, so only the upper-triangular 21 elements are stored. The elements follow the CCSDS naming convention where CX_X is the (1,1) entry, CY_X is the (2,1) entry, etc.
Fields
comments::Vector{String}: Comments for the covariance matrix section.cov_ref_frame::Union{String, Nothing}: Reference frame of the covariance matrix.cx_x::Float64: (1,1) element [km²].cy_x::Float64: (2,1) element [km²].cy_y::Float64: (2,2) element [km²].cz_x::Float64: (3,1) element [km²].cz_y::Float64: (3,2) element [km²].cz_z::Float64: (3,3) element [km²].cx_dot_x::Float64: (4,1) element [km²/s].cx_dot_y::Float64: (4,2) element [km²/s].cx_dot_z::Float64: (4,3) element [km²/s].cx_dot_x_dot::Float64: (4,4) element [km²/s²].cy_dot_x::Float64: (5,1) element [km²/s].cy_dot_y::Float64: (5,2) element [km²/s].cy_dot_z::Float64: (5,3) element [km²/s].cy_dot_x_dot::Float64: (5,4) element [km²/s²].cy_dot_y_dot::Float64: (5,5) element [km²/s²].cz_dot_x::Float64: (6,1) element [km²/s].cz_dot_y::Float64: (6,2) element [km²/s].cz_dot_z::Float64: (6,3) element [km²/s].cz_dot_x_dot::Float64: (6,4) element [km²/s²].cz_dot_y_dot::Float64: (6,5) element [km²/s²].cz_dot_z_dot::Float64: (6,6) element [km²/s²].
SatelliteToolboxOrbitDataMessages.OrbitDataMessage — Type
abstract type OrbitDataMessageSupertype of all Orbit Data Messages (ODM) defined by the CCSDS 502.0-B-3 standard.
Every concrete message type supported by this package (for example, OrbitMeanElementsMessage) is a subtype of OrbitDataMessage. Functions that handle generic messages, such as parse_odm and write_odm, operate on this abstract type.
SatelliteToolboxOrbitDataMessages.OrbitMeanElementsMessage — Type
struct OrbitMeanElementsMessage <: OrbitDataMessageOrbit Mean-Elements Message (OMM) as defined by the CCSDS 502.0-B-3 standard.
The structure follows the nested hierarchy of the standard: a header, and a body that contains a segment with the metadata and data sections. The individual fields can be accessed through this hierarchy, for example omm.body.segment.metadata.object_name or omm.body.segment.data.epoch.
To create a message, use the keyword constructor OrbitMeanElementsMessage(; kwargs...), which assembles all the internal sections automatically.
Fields
version::VersionNumber: OMM format version (2.0 or 3.0).header::OmmHeader: Message header (creation date, originator, etc.).body::OmmBody: Message body containing the metadata and the mean elements data.
SatelliteToolboxOrbitDataMessages.OrbitMeanElementsMessage — Method
OrbitMeanElementsMessage(; kwargs...) -> OrbitMeanElementsMessageCreate an Orbit Mean-Elements Message (OMM) from the keyword arguments kwargs....
This constructor assembles the internal header, metadata, and data sections defined by the CCSDS 502.0-B-3 standard, returning a message compatible with version 3.0. The required keywords are the message originator, the object identification, the reference frame and time system, and the mean Keplerian elements. All angular quantities (inclination, raan, arg_of_pericenter, and mean_anomaly) are expressed in degrees.
The date keywords (creation_date, epoch, and ref_frame_epoch) must be provided as NanoDate objects so that the sub-second precision is preserved.
Keywords
header_comments::Vector{String}: Comments for the header section. (Default:String[])classification::Union{String, Nothing}: Message classification. (Default:nothing)creation_date::NanoDate: Message creation date (required).originator::String: Message originator (required).message_id::Union{String, Nothing}: Unique message identifier. (Default:nothing)metadata_comments::Vector{String}: Comments for the metadata section. (Default:String[])object_name::String: Spacecraft name (required).object_id::String: International designator, usually in the formatYYYY-NNNP(required).center_name::String: Origin of the reference frame (required).ref_frame::String: Reference frame of the mean elements (required).ref_frame_epoch::Union{NanoDate, Nothing}: Epoch of the reference frame, if it is not intrinsic to its definition. (Default:nothing)time_system::String: Time system used for the message (required).mean_element_theory::String: Theory describing the mean elements, e.g."SGP4"(required).data_comments::Vector{String}: Comments for the data section. (Default:String[])mean_elements_comments::Vector{String}: Comments for the mean elements section. (Default:String[])epoch::NanoDate: Epoch of the mean Keplerian elements (required).semi_major_axis::Union{Float64, Nothing}: Semi-major axis [km]. Either this keyword ormean_motionmust be provided. (Default:nothing)mean_motion::Union{Float64, Nothing}: Mean motion [rev/day]. Either this keyword orsemi_major_axismust be provided. (Default:nothing)eccentricity::Float64: Eccentricity (required).inclination::Float64: Inclination [deg] (required).raan::Float64: Right ascension of the ascending node [deg] (required).arg_of_pericenter::Float64: Argument of pericenter [deg] (required).mean_anomaly::Float64: Mean anomaly [deg] (required).GM::Union{Float64, Nothing}: Gravitational coefficient [km³/s²]. (Default:nothing)spacecraft_parameters_comments::Vector{String}: Comments for the spacecraft parameters section. (Default:String[])mass::Union{Float64, Nothing}: Spacecraft mass [kg]. (Default:nothing)solar_rad_area::Union{Float64, Nothing}: Effective area for solar radiation pressure [m²]. (Default:nothing)solar_rad_coeff::Union{Float64, Nothing}: Solar radiation pressure coefficient. (Default:nothing)drag_area::Union{Float64, Nothing}: Effective area for atmospheric drag [m²]. (Default:nothing)drag_coeff::Union{Float64, Nothing}: Atmospheric drag coefficient. (Default:nothing)tle_parameters_comments::Vector{String}: Comments for the TLE-related parameters section. (Default:String[])ephemeris_type::Union{Int, Nothing}: Default ephemeris type associated with the TLE. (Default:nothing)classification_type::Union{Char, Nothing}: Classification type, e.g.'U'for unclassified. (Default:nothing)norad_cat_id::Union{Int, Nothing}: NORAD catalog number. (Default:nothing)element_set_number::Union{Int, Nothing}: Element set number. (Default:nothing)rev_at_epoch::Union{Int, Nothing}: Revolution number at epoch. (Default:nothing)bstar::Union{Float64, Nothing}: SGP4 drag term (B*) [1/earth radii]. (Default:nothing)bterm::Union{Float64, Nothing}: Ballistic coefficient [m²/kg]. (Default:nothing)mean_motion_dot::Union{Float64, Nothing}: First time derivative of the mean motion [rev/day²]. (Default:nothing)mean_motion_ddot::Union{Float64, Nothing}: Second time derivative of the mean motion [rev/day³]. (Default:nothing)agom::Union{Float64, Nothing}: Solar radiation pressure coefficient [m²/kg]. (Default:nothing)user_defined_parameters::Union{Nothing, Vector{Pair{String, String}}}: User-defined parameters as a vector ofkey => valuepairs. (Default:nothing)OrbitMeanElementsMessage( omm::OrbitMeanElementsMessage; kwargs... ) -> OrbitMeanElementsMessage
Create a copy of omm, overriding the fields specified in kwargs.... Any keyword accepted by the main constructor can be used; the remaining fields are copied from omm.
SatelliteToolboxOrbitDataMessages.SpacetrackOmmFetcher — Type
struct SpacetrackOmmFetcher <: AbstractOmmFetcherFetcher that retrieves Orbit Mean-Elements Messages (OMM) from the Space-Track service.
Create an instance with create_omm_fetcher(SpacetrackOmmFetcher) and query the service with fetch_omms. Space-Track requires a (free) registered account; the login cookie is cached locally and reused until it expires.
Fields
username::String: Space-Track username used to authenticate the requests.cookiejar::HTTP.CookieJar: Cookie jar holding the authentication cookie for the session.
SatelliteToolboxOrbitDataMessages._add_omm_tags! — Method
_add_omm_tags!(parent::XML.Node, omm::OrbitMeanElementsMessage) -> NothingAdd the OMM tags from the given omm message to the parent XML node.
SatelliteToolboxOrbitDataMessages._empty_omm_spacecraft_parameters — Method
_empty_omm_spacecraft_parameters() -> NamedTupleReturn default values for an omitted OMM spacecraftParameters section.
SatelliteToolboxOrbitDataMessages._empty_omm_tle_parameters — Method
_empty_omm_tle_parameters() -> NamedTupleReturn default values for an omitted OMM tleParameters section.
SatelliteToolboxOrbitDataMessages._field_name_width — Method
_field_name_width(fields::AbstractVector{NTuple{3, String}}) -> IntCompute the maximum width of the field names in fields.
SatelliteToolboxOrbitDataMessages._format_value — Method
_format_value(value) -> StringConvert value to its display String. This function is the single formatting seam for field values, allowing consistent formatting across every message.
The default method uses string, which for AbstractFloat yields the shortest representation that round-trips exactly (e.g., 7134.084, 4.47e-6), avoiding any loss of precision in the orbital elements.
SatelliteToolboxOrbitDataMessages._is_odm_tag — Method
_is_odm_tag(tag::AbstractString) -> BoolReturn whether tag is an ODM message tag defined by the CCSDS 502.0-B-3 standard.
SatelliteToolboxOrbitDataMessages._odm_to_xml_element — Method
_odm_to_xml_element(odm::OrbitDataMessage) -> Union{Nothing, XML.Node}Convert odm to an XML element suitable for embedding in an NDM document. Message types that cannot be written yet emit a warning and return nothing.
To add support for a new message type, define a method for the corresponding concrete type.
SatelliteToolboxOrbitDataMessages._omm_scalar_value — Method
_omm_scalar_value(xml::Cursor) -> StringRead the text or CDATA value of the current OMM scalar element while advancing the cursor past that element. Non-value child nodes are ignored.
All text and CDATA chunks are concatenated and the surrounding whitespace is stripped, matching the whitespace-collapse behavior of the XML schema types used by the CCSDS 502.0-B-3 standard.
SatelliteToolboxOrbitDataMessages._omm_tag — Method
_omm_tag(node::Cursor, strict::Bool) -> Union{String, Nothing}Return the canonical OMM tag for node, matching case-insensitively unless strict is true.
SatelliteToolboxOrbitDataMessages._omm_to_xml — Method
_omm_to_xml(omm::OrbitMeanElementsMessage, stand_alone::Val{true}) -> XML.DocumentConvert the given omm to an XML Document assuming it is a stand-alone document. Hence, the XML declaration is included.
_omm_to_xml(omm::OrbitMeanElementsMessage, stand_alone::Val{false}) -> XML.ElementConvert the given omm to an XML Element assuming it is to be embedded within another XML document. Hence, the XML declaration is omitted.
The written version is always 3.0, regardless of the version stored in the omm. This matches the schema against which the output is validated.
SatelliteToolboxOrbitDataMessages._parse_message — Method
_parse_message(::Val{tag}, xml::Cursor, strict::Bool) -> Union{Nothing, OrbitDataMessage}Parse the ODM message with the root tag at the current position of the Cursor xml, dispatching on Val(tag). Message types that are not supported yet emit a warning and return nothing.
To add support for a new message type, define a method for the corresponding tag, e.g. _parse_message(::Val{:opm}, xml::XML.Cursor, strict::Bool).
SatelliteToolboxOrbitDataMessages._parse_ndm — Method
_parse_ndm(xml::Cursor, strict::Bool) -> Vector{OrbitDataMessage}Parse a Navigation Data Message (NDM) from a Cursor xml and return a vector of Orbit Data Messages (ODM).
SatelliteToolboxOrbitDataMessages._parse_ndm_date — Method
_parse_ndm_date(str::AbstractString) -> NanoDateParse an NDM date/time string into a NanoDate.
The CCSDS 502.0-B-3 standard allows two formats for absolute time tags and epochs:
YYYY-MM-DDThh:mm:ss[.d→d][Z](calendar date)YYYY-DDDThh:mm:ss[.d→d][Z](ordinal day-of-year)
NanoDate natively handles the calendar form (including the optional trailing Z), so this function only needs to convert the ordinal form before delegating to NanoDate.
SatelliteToolboxOrbitDataMessages._parse_omm — Method
_parse_omm(xml::Cursor, strict::Bool) -> OrbitMeanElementsMessageParse an Orbit Mean-Elements Message (OMM) from a Cursor xml representation.
SatelliteToolboxOrbitDataMessages._parse_omm_body — Method
_parse_omm_body(xml::Cursor, strict::Bool) -> OmmBodyParse the body of an Orbit Mean-Elements Message (OMM) from a Cursor xml representation.
SatelliteToolboxOrbitDataMessages._parse_omm_covariance_matrix — Method
_parse_omm_covariance_matrix(xml::Cursor, strict::Bool) -> OmmCovarianceMatrixParse an OMM covarianceMatrix section at the cursor's current position.
SatelliteToolboxOrbitDataMessages._parse_omm_data — Method
_parse_omm_data(xml::Cursor, strict::Bool) -> OmmDataParse the data of the segment body of an Orbit Mean-Elements Message (OMM) from a Cursor xml representation.
SatelliteToolboxOrbitDataMessages._parse_omm_header — Method
_parse_omm_header(xml::Cursor, strict::Bool) -> OmmHeaderParse the header of an Orbit Mean-Elements Message (OMM) from a Cursor xml representation.
SatelliteToolboxOrbitDataMessages._parse_omm_mean_elements — Method
_parse_omm_mean_elements(xml::Cursor, strict::Bool) -> NamedTupleParse an OMM meanElements section at the cursor's current position.
SatelliteToolboxOrbitDataMessages._parse_omm_metadata — Method
_parse_omm_metadata(xml::Cursor, strict::Bool) -> OmmMetadataParse the metadata of the segment body of an Orbit Mean-Elements Message (OMM) from a Cursor xml representation.
SatelliteToolboxOrbitDataMessages._parse_omm_number — Method
_parse_omm_number(::Type{T}, v::AbstractString, field::AbstractString) where T <: Number -> TParse the string v as a number of type T, throwing an ArgumentError that names the OMM field if the value is not a valid number.
SatelliteToolboxOrbitDataMessages._parse_omm_segment — Method
_parse_omm_segment(xml::Cursor, strict::Bool) -> OmmSegmentParse a segment of the body of an Orbit Mean-Elements Message (OMM) from a Cursor xml representation.
SatelliteToolboxOrbitDataMessages._parse_omm_spacecraft_parameters — Method
_parse_omm_spacecraft_parameters(xml::Cursor, strict::Bool) -> NamedTupleParse an OMM spacecraftParameters section at the cursor's current position.
SatelliteToolboxOrbitDataMessages._parse_omm_tle_parameters — Method
_parse_omm_tle_parameters(xml::Cursor, strict::Bool) -> NamedTupleParse an OMM tleParameters section at the cursor's current position.
SatelliteToolboxOrbitDataMessages._parse_omm_user_defined_parameters — Method
_parse_omm_user_defined_parameters(
xml::Cursor,
strict::Bool
) -> Vector{Pair{String,String}}Parse an OMM userDefinedParameters section at the cursor's current position.
SatelliteToolboxOrbitDataMessages._print_fields — Method
_print_fields(io::IO, fields::AbstractVector{NTuple{3, String}}, rail::String) -> NothingPrint to io the fields, each preceded by rail (the tree rails drawn before the field name). The field names are left-aligned to the widest name in fields.
SatelliteToolboxOrbitDataMessages._print_node — Method
_print_node(io::IO, name::String, rail::String, connector::String, face::Symbol) -> NothingPrint to io a tree node opening with the given name styled with face, preceded by rail (the ancestor tree rails) and connector (e.g., "├─ ", "└─ ", or "" for a top-level heading).
SatelliteToolboxOrbitDataMessages._push_output! — Method
_push_output!(vector::AbstractVector{NTuple{3, String}}, field::Tuple{String, Any, String}) -> NothingPush to vector the field if its value is not nothing. The field is a tuple of (name::String, value::Any, unit::String), where value is converted to a string using _format_value.
SatelliteToolboxOrbitDataMessages._register_faces — Method
_register_faces() -> NothingRegister the named StyledStrings faces used to render the orbit data messages. This function is idempotent: faces already registered are not overwritten.
The registered faces are:
:satellitetoolbox_odm_title: Structure name (e.g.,OrbitMeanElementsMessage:).:satellitetoolbox_odm_section: Top-level sections (HeaderandBody).:satellitetoolbox_odm_node: Tree nodes (Segment,Metadata,Data, and the data subsection titles).:satellitetoolbox_odm_tree: Tree rails and connectors.:satellitetoolbox_odm_field: Field names.:satellitetoolbox_odm_unit: Field units.
SatelliteToolboxOrbitDataMessages._render_field — Method
_render_field(field_name::String, field_value::String, unit::String, name_width::Int) -> StringRender a single field row <name> : <value> <unit>, left-aligning field_name to name_width. The unit is appended inline separated by a space, except for the degree unit "°", which hugs the value. The returned string has no trailing whitespace.
SatelliteToolboxOrbitDataMessages._spacetrack__cookie_expire_date — Method
_spacetrack__cookie_expire_date(cookiejar::HTTP.CookieJar) -> Union{DateTime, Nothing}Get the expiration date of the spacetrack cookie in the cookiejar. If the cookie is not found, it returns nothing.
SatelliteToolboxOrbitDataMessages._spacetrack__is_cookie_valid — Method
_spacetrack__is_cookie_valid(cookiejar::Union{HTTP.CookieJar, Nothing}) -> BoolCheck if the spacetrack cookie in the cookiejar is valid. To load the cookiejar, use the function _spacetrack__load_cookiejar.
SatelliteToolboxOrbitDataMessages._spacetrack__load_cookiejar — Method
_spacetrack__load_cookiejar(username::String) -> Union{HTTP.CookieJar, Nothing}Load the cookie jar for the given username from the scratch space. If the cookie file does not exist or could not be loaded, it returns nothing.
SatelliteToolboxOrbitDataMessages._spacetrack__login — Method
_spacetrack__login(username::String, password::Base.SecretBuffer) -> HTTP.CookieJarLogin to the Space-Track service using the provided username and password. The password is a Base.SecretBuffer; its plaintext is materialized only inside this function and shredded immediately after the request body is built. If the login is successful, it saves the cookies to the scratch space and returns the cookie jar. Otherwise, it throws an OdmLoginError.
SatelliteToolboxOrbitDataMessages._spacetrack__purge_cookiejar — Method
_spacetrack__purge_cookiejar(username::String) -> NothingPurge the cookiejar file for the given username from the scratch space.
SatelliteToolboxOrbitDataMessages._spacetrack__save_cookiejar — Method
_spacetrack__save_cookiejar(cookiejar::HTTP.CookieJar, username::String) -> NothingSave the cookiejar to the scratch space for the given username.
SatelliteToolboxOrbitDataMessages._validate_writable_omm_header — Method
_validate_writable_omm_header(omm::OrbitMeanElementsMessage) -> NothingValidate that the header of omm contains the fields required for OMM 3.0 output.
SatelliteToolboxOrbitDataMessages._xml_add_tag! — Method
_xml_add_tag!(parent::XML.Node, tag::String, value::Any) -> NothingAdd a child XML tag to parent with the given tag name and value.
SatelliteToolboxOrbitDataMessages._xml_render — Method
_xml_render(value::T) -> StringRender the given value of type T as a string suitable for XML.
NanoDate values are rendered with nanosecond precision (yyyy-mm-ddTHH:MM:SS.sssssssss).
SatelliteToolboxOrbitDataMessages.create_omm_fetcher — Method
create_omm_fetcher(::Type{CelestrakOmmFetcher}; kwargs...) -> CelestrakOmmFetcherCreate an Orbit Mean-Elements Message (OMM) fetcher from Celestrak service.
Keywords
url::String: Default URL of the Celestrak PHP query endpoint. (Default: "https://celestrak.org/NORAD/elements/gp.php")
SatelliteToolboxOrbitDataMessages.create_omm_fetcher — Method
create_omm_fetcher(::Type{SpacetrackOmmFetcher}; kwargs...) -> SpacetrackOmmFetcherCreate an Orbit Mean-Elements Message (OMM) fetcher from the Space-Track service.
The Space-Track service is only available to registered users. You can create an account for free here. By using this service, you agree to the Space-Track User Agreement.
The Space-Track service has limits on the number of requests that can be made in a given time period. This package does not handle these limits, so if you make too many requests in a short period of time, you may be temporarily blocked from accessing the service. Please refer to the Space-Track API documentation for more information.
Keywords
username::String: Space-Track username. If empty, the user will be prompted to input it. (Default: "")password::String: Space-Track password. If empty, the user will be prompted to input it if a valid cookie is not found. (Default: "")force_login::Bool: Iftrue, the user will be prompted to input the password even if a valid cookie is found. (Default:false)
Returns
SpacetrackOmmFetcher: The created fetcher. If the login fails, anOdmLoginErroris thrown.
SatelliteToolboxOrbitDataMessages.create_omm_fetcher — Method
create_omm_fetcher(::Type{T}, args...; kwargs...) where T <: AbstractOmmFetcher -> TCreate an Orbit Mean-Elements Message (OMM) fetcher of type T.
SatelliteToolboxOrbitDataMessages.fetch_omms — Method
fetch_omms(fetcher::CelestrakOmmFetcher; kwargs...) -> Vector{OrbitMeanElementsMessage}Fetch Orbit Mean-Elements Messages (OMM) from the Celestrak service using the query parameters in kwargs....
This function returns a Vector{OrbitMeanElementsMessage} with the fetched OMMs. If no matching OMM is found, an empty vector is returned. If an error prevents the request from succeeding, an OdmFetchError is thrown.
Keywords
international_designator::Union{Nothing, AbstractString}: International designator of the satellite in the formatYYYY-NNNorYYYY-NNNP. (Default:nothing)satellite_number::Union{Nothing, Integer}: NORAD catalog number of the satellite. (Default:nothing)satellite_name::Union{Nothing, AbstractString}: Name of the satellite. (Default:nothing)strict::Bool: Require schema-defined XML tag casing when parsing the fetched OMMs. For more information, seeparse_omms. Celestrak currently emits empty required OMM 2.0 header values, hence the relaxed default. (Default:false)
Exactly one of international_designator, satellite_number, and satellite_name must be provided.
SatelliteToolboxOrbitDataMessages.fetch_omms — Method
fetch_omms(fetcher::T; kwargs...) -> Vector{OrbitMeanElementsMessage}Fetch Orbit Mean-Elements Messages (OMM) using fetcher.
The keywords kwargs... are used to customize the search. It depends on the fetcher type T.
SatelliteToolboxOrbitDataMessages.fetch_omms — Method
fetch_omms(fetcher::SpacetrackOmmFetcher; kwargs...) -> Vector{OrbitMeanElementsMessage}Fetch Orbit Mean-Elements Messages (OMM) from the Space-Track service using the query parameters in kwargs....
This function returns a Vector{OrbitMeanElementsMessage} with the fetched OMMs. If the login cookie expired, an OdmLoginError is thrown. If the request to the service fails, an OdmFetchError is thrown.
The Space-Track service has limits on the number of requests that can be made in a given time period. This function does not handle these limits, so if you make too many requests in a short period of time, you may be temporarily blocked from accessing the service. Please refer to the Space-Track API documentation for more information.
Keywords
interval::Union{Nothing, Tuple{Union{Date, DateTime}, Union{Date, DateTime}}}: A tuple with the start and end date of the interval to fetch the OMMs. This interval is appended to the predicates using theEPOCHfield. Ifnothing, no interval is used. Notice that if the space data is:gpand an interval is specified, the space data is automatically changed to:gp_history; if the space data is already:gp_history, no change occurs. (Default:nothing)order_by::Union{Nothing, Vector{Pair{String, Symbol}}}: A vector ofPair{String, Symbol}with the fields to order the results by. The first element of eachPairis the field name whereas the second is the order direction, which can be either:ascendingor:descending. This field is appended to the predicates using theorderbyfield. Ifnothing, no ordering is used. (Default:nothing)predicates::Union{Nothing, Vector{Pair{String, Any}}}: A vector ofPair{String, Any}with the query predicates to filter the OMMs. The first element of eachPairis the field name whereas the second is the field value. See the extended help for more details. If the field value is of typeHTML{String}, it is used as is. Otherwise, it is converted to a string and URL-encoded. (Default:nothing)query_limits::Union{Nothing, Int, UnitRange{Int}}: The maximum number of OMMs to fetch. If anIntis provided, it is used as the limit. If aUnitRange{Int}is provided, it is used as the start and end indices of the fetched data. Ifnothing, no limit is used. This field is appended to the predicates using thelimitfield. (Default:nothing)satellite_name::Union{Nothing, AbstractString}: The name of the satellite to fetch the OMMs. This field is appended to the predicates using theOBJECT_NAMEfield. Ifnothing, no satellite name is used. If bothsatellite_nameandsatellite_numberare provided,satellite_numbertakes precedence. (Default:nothing)satellite_number::Union{Nothing, Number}: The NORAD catalog number of the satellite to fetch the OMMs. This field is appended to the predicates using theNORAD_CAT_IDfield. Ifnothing, no satellite number is used. If bothsatellite_nameandsatellite_numberare provided,satellite_numbertakes precedence. (Default:nothing)space_data::Symbol: The space data to fetch the OMMs from. It can be either:gpor:gp_history. If:gp, the latest OMM for each satellite is fetched. If:gp_history, all the OMMs that match the predicates are fetched. If an interval is specified and the space data is:gp, it is automatically changed to:gp_history. For more information, see the Space-Track API documentation. (Default::gp)strict::Bool: Require schema-defined XML tag casing when parsing the fetched OMMs. For more information, seeparse_omms. (Default:true)
Extended Help
Query Predicates
This section describes the query predicates that can be used to filter the OMMs. Those expressions can be passed using the predicates keyword argument. This description is a simplified version of the documentation that can be found at https://www.space-track.org/documentation#/api.
The following fields are available for querying the Space-Track database:
| Field | Type |
|---|---|
| CCSDS_OMM_VERS | varchar(3) |
| COMMENT | varchar(33) |
| CREATION_DATE | datetime |
| ORIGINATOR | varchar(7) |
| OBJECT_NAME | varchar(25) |
| OBJECT_ID | varchar(12) |
| CENTER_NAME | varchar(5) |
| REF_FRAME | varchar(4) |
| TIME_SYSTEM | varchar(3) |
| MEAN_ELEMENT_THEORY | varchar(4) |
| EPOCH | datetime(6) |
| MEAN_MOTION | decimal(13,8) |
| ECCENTRICITY | decimal(13,8) |
| INCLINATION | decimal(7,4) |
| RA_OF_ASC_NODE | decimal(7,4) |
| ARG_OF_PERICENTER | decimal(7,4) |
| MEAN_ANOMALY | decimal(7,4) |
| EPHEMERIS_TYPE | tinyint(4) |
| CLASSIFICATION_TYPE | char(1) |
| NORAD_CAT_ID | int(10) unsigned |
| ELEMENT_SET_NO | smallint(5) unsigned |
| REV_AT_EPOCH | mediumint(8) unsigned |
| BSTAR | decimal(19,14) |
| MEAN_MOTION_DOT | decimal(9,8) |
| MEAN_MOTION_DDOT | decimal(22,13) |
| SEMIMAJOR_AXIS | double(12,3) |
| PERIOD | double(12,3) |
| APOAPSIS | double(12,3) |
| PERIAPSIS | double(12,3) |
| OBJECT_TYPE | varchar(12) |
| RCS_SIZE | char(6) |
| COUNTRY_CODE | char(6) |
| LAUNCH_DATE | date |
| SITE | char(5) |
| DECAY_DATE | date |
| FILE | bigint(20) unsigned |
| GP_ID | int(10) unsigned |
| TLE_LINE0 | varchar(27) |
| TLE_LINE1 | varchar(71) |
| TLE_LINE2 | varchar(71) |
We can use the following REST operators to build the query predicates:
>: Greater Than (alternate is %3E).<: Less Than (alternate is %3C).<>: Not Equal (alternate is %3C%3E).,: Comma Delimited 'OR' (ex. 1,2,3).--: Inclusive Range (ex.1--100returns 1 and 100 and everything in between). Date ranges are expressed asYYYY-MM-DD%20HH:MM:SS--YYYY-MM-DD%20HH:MM:SSorYYYY-MM-DD--YYYY-MM-DD.null-val: Value for 'NULL', can only be used with Not Equal (<>) or by itself.~~: "Like" or Wildcard search. You may put the~~before or after the text; wildcard is evaluated regardless of location of~~in the URL. For example,~~OBwill return'OBJECT 1','GLOBALSTAR','PROBA 1', etc.^: Wildcard after value with a minimum of two characters (alternate is %5E). The wildcard is evaluated after the text regardless of location of^in the URL. For example,^OBwill return'OBJECT 1','OBJECT 2', etc. but not'GLOBALSTAR'.now: Variable that contains the current system date and time. Add or subtract days (or fractions thereof) after'now'to modify the date/time, e.g.now-7,now+14,now-6.5,now+2.3. Use<,>, and--to get a range of dates; e.g.>now-7,now-14--now.
Hence, we can build complex queries like:
- Return all OMMs where the satellite number is between 40,000 and 40,100 and the mean motion is lower than 14.9:
predicates = [
"NORAD_CAT_ID" => "40000--40100",
"MEAN_MOTION" => "<14.9",
]- Return all OMMs with epoch in the last 7 days where the right ascension of the ascending node (RAAN) is between 140 and 141 degrees:
predicates = [
"EPOCH" => "now-7--now",
"RA_OF_ASC_NODE" => "140--141",
]- Return the OMMs for the Starlink satellites that have decayed in the last 10 days:
predicates = [
"OBJECT_NAME" => "^STARLINK"
"EPOCH" => "now-10--now"
"DECAY_DATE" => "<>null-val"
]Examples
Create the OMM fetcher by logging in to Space-Track.
julia> f = create_omm_fetcher(SpacetrackOmmFetcher)
Space-Track username: username@email.com
Space-Track password:
[ Info: Successfully logged in to Space-Track.
SpacetrackOmmFetcher: username@email.com (Login expires in 5 hours)Fetch all the OMMs for the SCD 1 satellite between June 19 and June 20, 2024.
julia> omm = fetch_omms(f, satellite_name="SCD 1", interval = (Date(2024, 6, 19), Date(2024, 6, 20)))
3-element Vector{OrbitMeanElementsMessage}:
OMM: SCD 1 [1993-009B] (Epoch = 2024-06-19T07:28:48.714816)
OMM: SCD 1 [1993-009B] (Epoch = 2024-06-19T20:30:29.736576)
OMM: SCD 1 [1993-009B] (Epoch = 2024-06-19T22:16:28.479360)Fetch the latest OMM for the Amazonia 1 satellite.
julia> omm = fetch_omms(f, satellite_name="Amazonia 1")
1-element Vector{OrbitMeanElementsMessage}:
OMM: AMAZONIA 1 [2021-015A] (Epoch = 2025-09-09T04:34:22.789920)SatelliteToolboxOrbitDataMessages.parse_odm — Method
parse_odm(str::AbstractString; kwargs...) -> Vector{OrbitDataMessage}Parse an Orbit Data Message (ODM) from the string str, which must contain a complete XML document, and return the parsed message(s).
parse_odm(xml::Cursor; kwargs...) -> Vector{OrbitDataMessage}Parse an Orbit Data Message (ODM) from the Cursor xml and return the parsed message(s).
The return value is always a Vector{OrbitDataMessage}: a single-element vector for a stand-alone message, or a multi-element vector for a Navigation Data Message (NDM) wrapping multiple messages. Unsupported message types (OPM, OEM, OCM) are skipped with a warning, returning an empty vector. If the root tag is not recognized, an ArgumentError is thrown.
Keywords
strict::Bool: Require schema-defined XML tag casing. Iffalse, match tags and the OMMidattribute value case-insensitively. (Default:true)
SatelliteToolboxOrbitDataMessages.parse_omm — Method
parse_omm(str::AbstractString; kwargs...) -> Union{Nothing, OrbitMeanElementsMessage}Parse an Orbit Mean-Elements Message (OMM) in the string str and return the parsed message. The input format must be XML.
parse_omm(xml::Cursor; kwargs...) -> Union{Nothing, OrbitMeanElementsMessage}Parse an Orbit Mean-Elements Message (OMM) from a Cursor xml and return the parsed message.
If the XML is a Navigation Data Message (NDM), only the first OMM message is returned. If the file does not contain an OMM message, nothing is returned.
Keywords
strict::Bool: Require schema-defined XML tag casing. Iffalse, match tags and the OMMidattribute value case-insensitively. (Default:true)
SatelliteToolboxOrbitDataMessages.parse_omms — Method
parse_omms(str::AbstractString; kwargs...) -> Vector{OrbitMeanElementsMessage}Parse a set of Orbit Mean-Elements Messages (OMM) in the string str and return the parsed messages. The input format must be XML.
parse_omms(xml::Cursor; kwargs...) -> Vector{OrbitMeanElementsMessage}Parse a set of Orbit Mean-Elements Messages (OMM) from a Cursor xml and return the parsed messages.
If the XML is a Navigation Data Message (NDM), only the OMM messages are returned; other message types (OPM, OEM, OCM) are skipped with a warning. If the document does not contain an OMM message, an empty vector is returned. If the root tag is not recognized, an ArgumentError is thrown.
Keywords
strict::Bool: Require schema-defined XML tag casing. Iffalse, match tags and the OMMidattribute value case-insensitively. (Default:true)
SatelliteToolboxOrbitDataMessages.read_odm — Method
read_odm(file::AbstractString; kwargs...) -> Vector{OrbitDataMessage}Read an Orbit Data Message (ODM) from the provided file.
read_odm(io::IO; kwargs...) -> Vector{OrbitDataMessage}Read an Orbit Data Message (ODM) from the provided io stream.
Keywords
strict::Bool: Require schema-defined XML tag casing. (Default:true)
SatelliteToolboxOrbitDataMessages.read_omm — Method
read_omm(file::AbstractString; kwargs...) -> Union{Nothing, OrbitMeanElementsMessage}Read an Orbit Mean-Elements Message (OMM) from the provided file.
read_omm(io::IO; kwargs...) -> Union{Nothing, OrbitMeanElementsMessage}Read an Orbit Mean-Elements Message (OMM) from the provided io stream.
Keywords
strict::Bool: Require schema-defined XML tag casing. (Default:true)
SatelliteToolboxOrbitDataMessages.write_odm — Method
write_odm(io::IO, odm::OrbitDataMessage) -> NothingWrite the given odm to the provided io stream in XML format.
write_odm(io::IO, vodm::AbstractVector{T}) where T<:OrbitDataMessage -> NothingWrite the set of Orbit Data Messages in the vector vodm to the provided io stream in XML format.
write_odm(file::AbstractString, odm::OrbitDataMessage) -> NothingWrite the given odm to the file at file in XML format, overwriting its contents.
write_odm(file::AbstractString, vodm::AbstractVector{T}) where T<:OrbitDataMessage -> NothingWrite the set of Orbit Data Messages in the vector vodm to the file at file in XML format, overwriting its contents.
SatelliteToolboxOrbitDataMessages.write_omm — Method
write_omm(io::IO, omm::OrbitMeanElementsMessage) -> NothingWrite the given omm to the provided io stream in XML format.
write_omm(file::AbstractString, omm::OrbitMeanElementsMessage) -> NothingWrite the given omm to the file at file in XML format, overwriting its contents.
SatelliteToolboxOrbitDataMessages.ODM — Module
module ODMNamespace with accessor functions for the fields of Orbit Data Messages (ODM).
The accessors flatten the nested CCSDS hierarchy so that the most common fields can be obtained without navigating the message structure, e.g. ODM.epoch(omm) instead of omm.body.segment.data.epoch. The functions live in this module to avoid polluting the namespace with the field names; access them qualified, or opt in with using SatelliteToolboxOrbitDataMessages.ODM.
SatelliteToolboxOrbitDataMessages.ODM.GM — Method
ODM.GM(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the gravitational coefficient [km³/s²] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.agom — Method
ODM.agom(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the solar radiation pressure coefficient AGOM [m²/kg] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.arg_of_pericenter — Method
ODM.arg_of_pericenter(omm::OrbitMeanElementsMessage) -> Float64Return the argument of pericenter [deg] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.bstar — Method
ODM.bstar(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the SGP4 drag term B* [1/earth radii] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.bterm — Method
ODM.bterm(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the ballistic coefficient [m²/kg] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.center_name — Method
ODM.center_name(omm::OrbitMeanElementsMessage) -> StringReturn the origin of the reference frame of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.classification — Method
ODM.classification(omm::OrbitMeanElementsMessage) -> Union{String, Nothing}Return the classification of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.classification_type — Method
ODM.classification_type(omm::OrbitMeanElementsMessage) -> Union{Char, Nothing}Return the classification type of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.covariance_matrix — Method
ODM.covariance_matrix(omm::OrbitMeanElementsMessage) -> Union{OmmCovarianceMatrix, Nothing}Return the covariance matrix of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.creation_date — Method
ODM.creation_date(omm::OrbitMeanElementsMessage) -> Union{NanoDate, Nothing}Return the creation date of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.data_comments — Method
ODM.data_comments(omm::OrbitMeanElementsMessage) -> Vector{String}Return the comments of the data section of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.drag_area — Method
ODM.drag_area(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the effective area for atmospheric drag [m²] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.drag_coeff — Method
ODM.drag_coeff(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the atmospheric drag coefficient of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.eccentricity — Method
ODM.eccentricity(omm::OrbitMeanElementsMessage) -> Float64Return the eccentricity of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.element_set_number — Method
ODM.element_set_number(omm::OrbitMeanElementsMessage) -> Union{Int, Nothing}Return the element set number of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.ephemeris_type — Method
ODM.ephemeris_type(omm::OrbitMeanElementsMessage) -> Union{Int, Nothing}Return the default ephemeris type associated with the TLE of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.epoch — Method
ODM.epoch(omm::OrbitMeanElementsMessage) -> NanoDateReturn the epoch of the mean Keplerian elements of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.header_comments — Method
ODM.header_comments(omm::OrbitMeanElementsMessage) -> Vector{String}Return the comments of the header section of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.inclination — Method
ODM.inclination(omm::OrbitMeanElementsMessage) -> Float64Return the inclination [deg] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.mass — Method
ODM.mass(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the spacecraft mass [kg] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.mean_anomaly — Method
ODM.mean_anomaly(omm::OrbitMeanElementsMessage) -> Float64Return the mean anomaly [deg] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.mean_element_theory — Method
ODM.mean_element_theory(omm::OrbitMeanElementsMessage) -> StringReturn the theory describing the mean elements of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.mean_elements_comments — Method
ODM.mean_elements_comments(omm::OrbitMeanElementsMessage) -> Vector{String}Return the comments of the mean elements section of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.mean_motion — Method
ODM.mean_motion(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the mean motion [rev/day] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.mean_motion_ddot — Method
ODM.mean_motion_ddot(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the second time derivative of the mean motion [rev/day³] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.mean_motion_dot — Method
ODM.mean_motion_dot(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the first time derivative of the mean motion [rev/day²] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.message_id — Method
ODM.message_id(omm::OrbitMeanElementsMessage) -> Union{String, Nothing}Return the message identifier of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.metadata_comments — Method
ODM.metadata_comments(omm::OrbitMeanElementsMessage) -> Vector{String}Return the comments of the metadata section of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.norad_cat_id — Method
ODM.norad_cat_id(omm::OrbitMeanElementsMessage) -> Union{Int, Nothing}Return the NORAD catalog number of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.object_id — Method
ODM.object_id(omm::OrbitMeanElementsMessage) -> StringReturn the international designator of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.object_name — Method
ODM.object_name(omm::OrbitMeanElementsMessage) -> StringReturn the spacecraft name of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.originator — Method
ODM.originator(omm::OrbitMeanElementsMessage) -> StringReturn the originator of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.raan — Method
ODM.raan(omm::OrbitMeanElementsMessage) -> Float64Return the right ascension of the ascending node [deg] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.ref_frame — Method
ODM.ref_frame(omm::OrbitMeanElementsMessage) -> StringReturn the reference frame of the mean elements of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.ref_frame_epoch — Method
ODM.ref_frame_epoch(omm::OrbitMeanElementsMessage) -> Union{NanoDate, Nothing}Return the epoch of the reference frame of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.rev_at_epoch — Method
ODM.rev_at_epoch(omm::OrbitMeanElementsMessage) -> Union{Int, Nothing}Return the revolution number at epoch of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.semi_major_axis — Method
ODM.semi_major_axis(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the semi-major axis [km] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.solar_rad_area — Method
ODM.solar_rad_area(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the effective area for solar radiation pressure [m²] of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.solar_rad_coeff — Method
ODM.solar_rad_coeff(omm::OrbitMeanElementsMessage) -> Union{Float64, Nothing}Return the solar radiation pressure coefficient of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.spacecraft_parameters_comments — Method
ODM.spacecraft_parameters_comments(omm::OrbitMeanElementsMessage) -> Vector{String}Return the comments of the spacecraft parameters section of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.time_system — Method
ODM.time_system(omm::OrbitMeanElementsMessage) -> StringReturn the time system of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.tle_parameters_comments — Method
ODM.tle_parameters_comments(omm::OrbitMeanElementsMessage) -> Vector{String}Return the comments of the TLE-related parameters section of the Orbit Mean-Elements Message omm.
SatelliteToolboxOrbitDataMessages.ODM.user_defined_parameters — Method
ODM.user_defined_parameters(omm::OrbitMeanElementsMessage) -> Union{Nothing, Vector{Pair{String, String}}}Return the user-defined parameters of the Orbit Mean-Elements Message omm.