Earth Satellites from Celestrak

Gravity Engine 7.1 adds support for adding satellite orbits using real-world data from the Celestrak database of objects currently in orbit. This can be done for individual satellites by using a new input mode in the OrbitUniversal component or by using the CelestrakSceneBuilder component and provided a reference to a text file with multiple entries. The Celestrak database provides information in a compact text format known as the Two-Line Element set (TLE). This encodes the orbital parameters and the time at which the data is specified.

<YT>

The GE support for two line elements requires that the GE units (in the Scaling foldout) be chosen as ORBITAL.

To define an OrbitUniversal with TLE data the three lines must be entered in the OrbitUniversal inspector:

Once the data has been entered the button “Update Orbit from TLE” can be used to update the orbital elements and the orbit can then be viewed in the scene view. A button is provided to open the Celestrak search page to allow orbit data to be found easily.

If there are multiple TLE defined orbits in a GE scene they will very likely differ in the time the data was defined. It is necessary to adjust all of these to some common time. This is handled by adding a field to the GE inspector that defines the starting time when using TLE orbits.

Note that the start time MUST be later than the most recent TLE data date in the scene. If it is not, GE will report an error.

The initialization of the TLE data requires that the satellite orbit be propagated forward in time to the start time specified in the GE inspector. GE makes use of an improved model for evolving orbits during this phase, the SGP4 evolver (technical description). This model includes the effects of Earth oblateness, Moon and atmosphere. In a subsequent release of GE it will be offered as an additional fixed evolution mode for OrbitUniversal.

Multiple Satellites

GE provides a new component CelestrakSceneBuilder. This allows a series of satellites to be added to a scene using TLE data in a text file.

The component requires a prefab that contains an OrbitUniversal. If the optional parent game object field is provided all the created satellites will be children of that object.