protocol
tle_orbits_protocol
Protocol for parsing Two-Line Element sets and performing approximate portable orbit propagation with near-earth and deep-space variants plus ground-track sampling.
logtalk_load(tle_orbits(loader))staticPublic predicates
parse/2
Parses one or more TLE records from a source specification into canonical tle(...) terms. Supported source specifications are atom(Atom), chars(List), codes(List), stream(Stream), and file(Path).
staticparse(Source,TLEs)parse(++compound,--list(compound)) - one_or_errorparse_lines/4
Parses a single TLE record given an optional name atom or the atom none plus the two raw TLE lines.
staticparse_lines(Name,Line1,Line2,TLE)parse_lines(++nonvar,++atom,++atom,--compound) - one_or_errorpropagate/3
Propagates a parsed TLE using the default approximate model and returns a geographic(Latitude,Longitude,Height) coordinate. Supported time specifications are date_time(Year,Month,Day,Hours,Minutes,Seconds), julian_date(JulianDate), and offset_seconds(SecondsSinceEpoch).
staticpropagate(TLE,Time,Coordinate)propagate(++compound,++nonvar,--compound) - one_or_errorpropagate/4
Propagates a parsed TLE using the default approximate model and returns coordinates in the requested frame. Supported frames are eci returning eci(X,Y,Z), ecef returning ecef(X,Y,Z), and wgs84_3d returning geographic(Latitude,Longitude,Height).
staticpropagate(TLE,Time,Frame,Coordinate)propagate(++compound,++nonvar,++atom,--compound) - one_or_errorpropagate/5
Propagates a parsed TLE using the requested propagation model and returns coordinates in the requested frame. Supported models are approximate for automatic near-earth versus deep-space dispatch, approximate_near_earth for the low-period approximate branch with J2 secular and short-period corrections plus low-order B* drag handling, approximate_deep_space for the dedicated deep-space approximate branch with resonance-aware long-period corrections, and two_body for the legacy Keplerian approximation.
staticpropagate(TLE,Time,Frame,Model,Coordinate)propagate(++compound,++nonvar,++atom,++atom,--compound) - one_or_errorpropagate_state/4
Propagates a parsed TLE using the default approximate model and returns state(Position,Velocity) in the requested frame. Velocity is derived directly from the propagated orbital elements in ECI and analytically transformed to the requested frame. Supported frames are eci returning state(eci(X,Y,Z), eci(VX,VY,VZ)), ecef returning state(ecef(X,Y,Z), ecef(VX,VY,VZ)), and wgs84_3d returning state(geographic(Latitude,Longitude,Height), enu(East,North,Up)).
staticpropagate_state(TLE,Time,Frame,State)propagate_state(++compound,++nonvar,++atom,--compound) - one_or_errorpropagate_state/5
Propagates a parsed TLE using the requested propagation model and returns state(Position,Velocity) in the requested frame. Velocity is derived directly from the propagated orbital elements in ECI and analytically transformed to the requested frame. Supported models are approximate, approximate_near_earth, approximate_deep_space, and two_body.
staticpropagate_state(TLE,Time,Frame,Model,State)propagate_state(++compound,++nonvar,++atom,++atom,--compound) - one_or_errorground_track/5
Samples the propagated sub-satellite ground track between two UTC date_time/6 instants separated by a positive step size in seconds using the default approximate model, returning sample(DateTime, geographic(Latitude,Longitude,Height)) terms.
staticground_track(TLE,StartDateTime,EndDateTime,StepSeconds,Samples)ground_track(++compound,++compound,++compound,++number,--list(compound)) - one_or_errorground_track/6
Samples the propagated sub-satellite ground track between two UTC date_time/6 instants separated by a positive step size in seconds using the requested propagation model. Supported models are approximate, approximate_near_earth, approximate_deep_space, and two_body.
staticground_track(TLE,StartDateTime,EndDateTime,StepSeconds,Model,Samples)ground_track(++compound,++compound,++compound,++number,++atom,--list(compound)) - one_or_errorProtected predicates
(none)
Private predicates
(none)
Operators
(none)
See also