The OrbitTools Libraries
NORAD SGP4/SDP4 Implementations in C++ and C#
by
Michael F. Henry

The OrbitTools Track Library

The OrbitTools Track Library is a companion library to the main OrbitTools SGP4/SDP4 libraries.  It builds on the features of the SGP4/SDP4 libraries and provides implementations of common satellite tracking software tasks.  By using the Track Library, companies or individuals developing 3-D and/or 2-D satellite tracking software will save hundreds of hours of software development time.

Feature Description
Pass Predictions

Determines satellite rise/set times (and azimuth/elevation data) for any location on the earth.  Optionally calculates satellite maximum elevation information.  A proprietary, parallel algorithm that utilizes the .NET Task Parallel Library takes full advantage of multi-core CPUs to provide fast, accurate pass prediction data.

Inter-Satellite Link

The Inter-Satellite Link (ISL) feature calculates satellite-centric azimuth and elevation data from a primary satellite, to a second, target satellite.  It includes the ability to detect when two satellites are obscured by the (oblate) earth or its atmosphere.  Use the ISL feature to build the foundation of satellite-to-satellite communication software.

Ground Track Coordinates

Calculates the set of points on the surface of the earth where a satellite will be directly overhead as it progresses in its orbit.  Information is provided in geodetic or ECF coordinates.

Orbit Track Coordinates

Calculates the set of points that indicate the position of the satellite in ECI coordinate space over a given time period.

Iso-Elevation Coordinates

Satellite-centric: Calculates the (circular) set of points on the surface of the earth which all have an equal viewing angle to the satellite.  When specifying a viewing angle of zero degrees, the algorithm returns the satellite's "circle of visibility" (the region of the earth visible from the spacecraft). 

Site-centric: Calculates the (circular) set of points centered on an earth site which all have an equal viewing angle to a target position located at an arbitrary distance above the earth site. 

The returned points do not always represent a perfect circle, since the algorithms account for the oblateness of the earth.  Information is provided in geodetic, ECI, or ECF coordinates.

Satellite Orientation

Given an arbitrary set of satellites, determines the time periods when a maximum (or minimum) number of satellites are above a local horizon.

Satellite Nadir

Calculates satellite subpoint information, in geodetic or ECF coordinates.

Solar Features

Calculates the position of the sun in ECI coordinate space.
Calculates subpoint information for the sun, in geodetic, ECF or ECI coordinates.
Calculates solar terminator (earth's daytime/nighttime boundary) information, in geodetic, ECF or ECI coordinates.
Determines the viewing angle to the sun from any location on the earth.
Determines if a satellite or earth location is illuminated by the sun.

The Track Library is only available to customers who obtain a licensed copy of either the Standard or Professional Edition of the OrbitTools SGP4/SDP4 libraries.  It is not available for use with the Public Edition.

Note: The Track Library is currently only available in C#.
 

 

Track Library Resources

Explore the resources below to learn more about how the Track Library can be used to simplify the job of developing high-quality, feature-rich, satellite tracking software.

C# Source Code Example #1 - Satellite Pass Predictions
Pass predictions tell you when a satellite will be above a particular location on the earth, and generating accurate predictions is expected of all modern tracking software.  However, writing your own pass prediction code can be a big challenge.  By using the Track Library, pass predictions become a trivial task.  Click here to see the example code.

C# Source Code Example #2 - Satellite Ground Track
Another common task of satellite tracking software is determining the ground track.  A ground track is the set of points on the surface of the earth where a satellite will be directly over head as it progresses in its orbit.  Click here to see the example code.

Compiled HTML Help File
orbitTools.Track.chm (375 KB, Dec 18, 2012) - This help file was created from the XML documentation comments in the Track Library C# source code.  It describes all the major classes, methods, and types the library provides.  Download this file and view it using the standard Windows help file viewer. 
Note: For security reasons, you cannot download a .chm file from the web and then view the file locally without first "unblocking" it.  To unblock the downloaded file, right-click on the file in Windows File Explorer and select Properties.  Then click Unblock.
 

Copyright © 2012 Michael F. Henry.
The author may be reached at mfh@zeptomoby.com