perturb 1.0.0
A modern C++11 wrapper for the SGP4 orbit propagator
|
Represents a pre-parsed TLE record. More...
#include <tle.hpp>
Public Member Functions | |
TLEParseError | parse (const char *line_1, const char *line_2) |
Parse a TLE record string. More... | |
TLEParseError | parse (const std::string &line_1, const std::string &line_2) |
Wrapper for TwoLineElement::parse that accepts C++ style strings. More... | |
Public Attributes | |
char | catalog_number [6] |
Satellite catalog number. | |
char | classification |
Classification {U: Unclassified, C: Classified, S: Secret}. | |
unsigned int | launch_year |
International Designator - Launch year (last two digits) | |
unsigned int | launch_number |
International Designator - Launch number of the year. | |
char | launch_piece [4] |
International Designator - Piece of launch. | |
unsigned int | epoch_year |
Epoch year (last two digits) | |
double | epoch_day_of_year |
Epoch fractional day of year. | |
double | n_dot |
First derivative of mean motion (ballistic coefficient) [rev/day^2]. | |
double | n_ddot |
Second derivative of mean motion [rev/day^3]. | |
double | b_star |
B* radiation pressure coefficient [1 / (earth radii)]. | |
unsigned char | ephemeris_type |
Orbital model used to generate data (usually 0) | |
unsigned int | element_set_number |
Element set number. | |
unsigned char | line_1_checksum |
Line 1 check-sum. | |
double | inclination |
Inclination, 0 ≤ [deg] ≤ 180. | |
double | raan |
Right ascension of the ascending node, 0 ≤ [deg] ≤ 360. | |
double | eccentricity |
Eccentricity (0 ≤ [] ≤ 1) | |
double | arg_of_perigee |
Argument of perigee, 0 ≤ [deg] ≤ 360. | |
double | mean_anomaly |
Mean anomaly, 0 ≤ [deg] ≤ 360. | |
double | mean_motion |
Mean motion, 0 < [rev/day]. | |
unsigned long | revolution_number |
Revolution number at epoch, 0 ≤ [rev] ≤ 99999. | |
unsigned char | line_2_checksum |
Line 2 check-sum. | |
Represents a pre-parsed TLE record.
Can be generated via TwoLineElement::parse
, but not particularly useful unless you care about the specific TLE values. If you want to parse a TLE from a string and use it for SGP4 in one go, then better to use the Satellite::from_tle
methods.
The primary purpose of this type is when the PERTURB_DISABLE_IO
flag is set, as then there's no way to construct a Satellite
from a TLE. In such a case where all I/O and string processing is removed, this type still allows you to construct and initialize a Satellite
manually. However, you must handle your own method of creating the TwoLineElement
s.
TLEParseError perturb::TwoLineElement::parse | ( | const char * | line_1, |
const char * | line_2 | ||
) |
Parse a TLE record string.
You probably don't need this method. As I explain in the TwoLineElement
and and Satellite()
constructor docs, you should probably just use the Satellite::from_tle
method directly. This method must be called on an existing TwoLineElement
variable, so it can return the error code.
This currently uses my own implementation of a parser that doesn't support every case that Vallado's impl does, so there may be the occasional false error.
perturb::TLEParseError
docs for the guaranteed error ordering.line_1 | First line of TLE as C-string of length perturb::TLE_LINE_LEN |
line_2 | Second line of TLE as C-string of length perturb::TLE_LINE_LEN |
TLEParseError::NONE
. The parsed values are written into the TwoLineElement
instance. TLEParseError perturb::TwoLineElement::parse | ( | const std::string & | line_1, |
const std::string & | line_2 | ||
) |
Wrapper for TwoLineElement::parse
that accepts C++ style strings.
line_1 | First line of TLE |
line_2 | Second line of TLE |
TLEParseError::NONE