Top  Previous  Next

A GroundStation object simulates a tracking station on any celestial object used for determining contact with a Spacecraft or GroundVehicle. The GroundStation is used to identify contact duration, antenna pointing, acquisition of signal (AOS), and loss of signal (LOS) information.


The following Sample Mission Plans (included with your FreeFlyer installation) demonstrate the use of the GroundStation object:




Defining the GroundStation Object

A GroundStation object can be defined by using the GroundStation object editor or through FreeFlyer script. You can define a GroundStation using the Station Geodetics File, or create a "custom station" by specifying its geodetic latitude, east longitude, geodetic height, and mask. The mask can be defined as a cone, as a series of azimuth and elevation angles, or you can select not to use a mask, in which case the GroundStation can "see" to the horizon.


GroundStation Object Editor.

GroundStation Object Editor.


To define a GroundStation object in FreeFlyer script, specify its geodetic latitude, east longitude, geodetic height, and mask, as in the example below.


GroundStation GroundStation1;

GroundStation1.Latitude = 30;

GroundStation1.Longitude = 120;

GroundStation1.Height = 0.65;

GroundStation1.MaskShape = "Cone";


A GroundStation object can be selected from the Station Geodetics File using the GroundStation.LoadFromStationGeodeticsFile() method, or using the Get command.


GroundStation GroundStation1;



Define a GroundStation on a non-Earth Celestial Object

You can place a GroundStation on any celestial object by setting the Ground Station's central body. The central body can be set using the Ground Station Object editor or FreeFlyer script. Using the object editor, select the desired celestial object to serve as the central body using the drop-down list, as done in the image below. The Ground Station's Central Body can be set to a user defined Celestial Object, or any built-in FreeFlyer Celestial Object.


Creating custom Ground Station object on the Moon.

Creating custom Ground Station object on the Moon.


In FreeFlyer script, the GroundStation.SetCentralBody() method is used to set the Ground Station's central body, as shown in the script example below.


GroundStation GroundStation1;


// Create custom groundstation

GroundStation1.Latitude = 30;

GroundStation1.Longitude = 279;

GroundStation1.Height = 0;


// Set Ground Station Central Body to the Moon




Example: Determining Visibility from a GroundStation

The VisibilitySegment.Visibility method returns a flag that indicates whether there is visibility from an observer to a target. The VisibilitySegment object allows Spacecraft, Sensors, or GroundStations to be the observer, and Spacecraft, GroundStations, CelestialObjects, or Stars can be the target. The VisibilitySegment also allows the user to report the azimuth and elevation of the target in the reference frame of the observer. See VisibilityCalculators for more information. For a summary of the coverage and contact output methods in FreeFlyer organized by observer and target object type, see the Contact Method Summary.


VisibilitySegment Segment;





While (Spacecraft1.ElapsedTime < TIMESPAN(1 days));


      If (Segment.Visibility(Spacecraft1.Epoch));

            Report Spacecraft1.EpochText, Segment.Azimuth(Spacecraft1.Epoch), Segment.Elevation(Spacecraft1.Epoch);



      Step Spacecraft1;




Note: As of FreeFlyer 7.3, the default timing precision mode is nanosecond precision mode. For older Mission Plans that have not yet been converted from millisecond precision mode, the syntax for working with times is different. See the timing precision mode page for more information.



See Also

GroundStation Properties and Methods


Contact Method Summary