Main Content

groundTrack

Add ground track object to satellite in scenario

Description

groundTrack(sat) adds ground track visualization for each satellite in sat based on their current positions. The ground track begins at the scenario StartTime, and ends at the StopTime. The spacing between samples that make up the ground track visualization is determined by the scenario SampleTime. If no viewer is open, a new viewer is launched, and the ground track is displayed. If a viewer is already open, the ground track is added to that viewer. By default, ground tracks will be displayed in 2-D.

example

groundTrack(___,Name,Value) adds a groundTrack object by using one or more name-value pairs. Enclose each property name in quotes.

Examples

collapse all

Create a satellite scenario object.

startTime = datetime(2020,5,10);
stopTime = startTime + days(5);
sampleTime = 60;                                       % seconds
sc = satelliteScenario(startTime,stopTime,sampleTime);

Calculate the semimajor axis of the geosynchronous satellite.

earthAngularVelocity = 0.0000729211585530;                                             % rad/s
orbitalPeriod = 2*pi/earthAngularVelocity;                                             % seconds
earthStandardGravitationalParameter = 398600.4418e9;                                   % m^3/s^2
semiMajorAxis = (earthStandardGravitationalParameter*((orbitalPeriod/(2*pi))^2))^(1/3);

Define the remaining orbital elements of the geosynchronous satellite.

eccentricity = 0;
inclination = 60;                  % degrees
rightAscensionOfAscendingNode = 0; % degrees
argumentOfPeriapsis = 0;           % degrees
trueAnomaly = 0;                   % degrees

Add the geosynchronous satellite to the scenario.

sat = satellite(sc,semiMajorAxis,eccentricity,inclination,rightAscensionOfAscendingNode,...
        argumentOfPeriapsis,trueAnomaly,"OrbitPropagator","two-body-keplerian","Name","GEO Sat");

Visualize the scenario using the Satellite Scenario Viewer.

v = satelliteScenarioViewer(sc);

Add a ground track of the satellite to the visualization and adjust how much of the future and history of the ground track to display.

leadTime = 2*24*3600;                                          % seconds
trailTime = leadTime;
gt = groundTrack(sat,"LeadTime",leadTime,"TrailTime",trailTime)
gt = 
  GroundTrack with properties:

          LeadTime: 172800
         TrailTime: 172800
         LineWidth: 1
     LeadLineColor: [1 0 1]
    TrailLineColor: [1 0.5000 0]
    VisibilityMode: 'inherit'

Visualize the satellite movement and its trace on the ground. The satellite covers the area around Japan during one half of the day and Australia during the other half.

play(sc);

Input Arguments

collapse all

Satellite, specified as a row vector of Satellite objects.

Name-Value Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: 'LeadTime',3600 sets the lead time of the ground track to 3600 seconds upon creation.

Satellite scenario viewer, specified as a scalar, row vector, or array of satelliteScenarioViewer objects.

Period of future ground track to be visualized in Viewer, specified as a comma-separated pair consisting of 'LeadTime' and a real positive scalar in seconds.

Period of ground track history to be visualized in Viewer, specified as a comma-separated pair consisting of 'TrailTime' and a real positive scalar in seconds.

Visual width of ground track in pixels, specified as a comma-separated pair consisting of 'LineWidth' and a scalar in the range (0,10).

The line width cannot be thinner than the width of a pixel. If you set the line width to a value that is less than the width of a pixel on your system, the line displays as one pixel wide.

Period of the ground track to be visualized in the satellite scenario viewer, specified as a comma-separated pair consisting of 'LeadTime' and a real positive scalar in seconds.

Period of the ground track history to be visualized in Viewer, specified as a comma-separated pair consisting of 'TrailTime' and a real positive scalar in seconds.

Visual width of the ground track in pixels, specified as a comma-separated pair consisting of 'LineWidth' and a scalar in the range (0 10].

The line width cannot be thinner than the width of a pixel. If you set the line width to a value that is less than the width of a pixel on your system, the line displays as one pixel wide.

Color of the future ground track line, specified as a comma-separated pair consisting of 'LeadLineColor' and an RGB triplet, a hexadecimal color code, a color name, or a short name.

For a custom color, specify an RGB triplet or a hexadecimal color code.

  • An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range [0,1]; for example, [0.4 0.6 0.7].

  • A hexadecimal color code is a character vector or a string scalar that starts with a hash symbol (#) followed by three or six hexadecimal digits, which can range from 0 to F. The values are not case sensitive. Thus, the color codes '#FF8800', '#ff8800', '#F80', and '#f80' are equivalent.

Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and hexadecimal color codes.

Color NameShort NameRGB TripletHexadecimal Color CodeAppearance
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

'none'Not applicableNot applicableNot applicableNo color

Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB® uses in many types of plots.

RGB TripletHexadecimal Color CodeAppearance
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Example: 'blue'

Example: [0 0 1]

Example: '#0000FF'

Color of the ground track line history, specified as a comma-separated pair consisting of 'TrailLineColor' and an RGB triplet, a hexadecimal color code, a color name, or a short name.

For a custom color, specify an RGB triplet or a hexadecimal color code.

  • An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range [0,1]; for example, [0.4 0.6 0.7].

  • A hexadecimal color code is a character vector or a string scalar that starts with a hash symbol (#) followed by three or six hexadecimal digits, which can range from 0 to F. The values are not case sensitive. Thus, the color codes '#FF8800', '#ff8800', '#F80', and '#f80' are equivalent.

Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and hexadecimal color codes.

Color NameShort NameRGB TripletHexadecimal Color CodeAppearance
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

'none'Not applicableNot applicableNot applicableNo color

Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.

RGB TripletHexadecimal Color CodeAppearance
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Example: 'blue'

Example: [0 0 1]

Example: '#0000FF'

Introduced in R2021a