Editor: CelesTrak API Integration
Description
This guide provides an overview of how the CelesTrak can be integrated to initialize orbits from the CelesTrak database. CelesTrak is an online resource of orbit data for objects in the Low Earth Orbit (LEO). Several Blueprint functions have been provided to cover generic and specific API calls. The Demo_CelesTrak_API_RealTime_Simulation
demo in Nominal Editor is referenced in this guide and is a provided example of using one of the CelesTrak functions to initialize an orbit from the database.
Kelso, T.S. (2023). CelesTrak: A website for satellite orbit data and resources accessible via HTTP requests. Retrieved from https://celestrak.org/
Warning
The functionality for CelesTrak depends on a valid Internet connection. As such, the functionality of this feature may depend on the environment in which Nominal Editor is being run. Cloud deployments, for example, may not run CelesTrak functions.
CelesTrak Functions
To enable CelesTrak functions, a CelesTrak object must be created from the CelesTrak
class. This will enable calling either the GP Query
or Sup GP Query
, which are the base level of API calls that can be made, as users will need to configure all aspects of either Query. The GP Query
provides a General Perturbations orbital data response in one of the following formats:
- TLE or 3LE: Two or Three-line element sets.
- 2LE: Two-line element sets (no satellite name on Line 0).
- XML: OMM XML format, including all mandatory elements.
- KVN: OMM KVN format, including all mandatory elements.
- JSON: OMM keywords for all GP elements in JSON format.
- JSON-PRETTY: OMM keywords for all GP elements in JSON pretty-print format.
- CSV: OMM keywords for all GP elements in CSV format.
The Sup GP Query
also supports the above data formats for its response, with Sup GP Queries using CelesTrak’s Supplemental General Perturbations data set.
Note
A Timeout
parameter is included in all CelesTrak Queries, as Unreal is a single-threaded application and CelesTrak Queries may take several seconds. If an Internet connection is lost, then the timeout will force a cancellation of the query.
The next tier of CelesTrak functions is preconfigured to return the data in the two-line element (TLE) format whilst allowing for any CelesTrak query.
If users want a specific CelesTrak object, preconfigured functions exist to return the TLE data for tracked objects based on their NORAD Catalog Number
or International Designator
. CelesTrak provides a searchable Satellite Catalog (SATCAT)
that can be used to relate NORAD Catalog Numbers
, International Designators
and Satellite Names
. These can be found in the CelesTrak: Search Satellite Catalog.
The final tier of CelesTrak Functions are custom functions that are entirely preconfigured apart from their timeouts. Aside from the Internal Space Station (ISS) function, these functions can return a significant number of TLEs that may hinder simulation performance. As the CelesTrak ISS TLE Function will only ever return a single TLE, the function returns the Three Line Element in each of its lines and as an array.
Configuring the Simulation
As the simulation breaks from the usual structure of Nominal Editor simulations, the first step is to get the TLE data to be used. In the case of the referenced demo, the TLE data for the Hubble Space Telescope is used by searching for its International Designator
with the base CelesTrak GP Query
function.
Note
In this example, the Timeout
parameter is set to -1
. This disables the timeout but can result in the simulation taking longer to open and appear due to the delay in making the CelesTrak API call.
The TLE data is retrieved first in this simulation demo, as the epoch information of the TLE is used to configure the universe via the DateTime from TLE
function. The retrieved TLE data is then used as per the spacecraft orbit configuration tutorial to initialize the spacecraft’s orbit.
Simulation Result
The following screenshots are the results of the configured simulation provided in the Nominal Editor demo, CelesTrak API RealTime Simulation
. This demo makes use of the Editor: Bounds Analysis document to draw cylindrical bounds around the ISS, showing the dimensions of the object.