Main Content

GroundTrack

Ground track object belonging to satellite or platform in scenario

Since R2021a

    Description

    GroundTrack defines a ground track object belonging to a satellite or a platform in a scenario.

    Creation

    You can create a GroundTrack object using the groundTrack object function of the Satellite or Platform (Satellite Communications Toolbox) object.

    Properties

    expand all

    Period of the ground track to be visualized in the satellite scenario viewer, specified as 'LeadTime' and a positive scalar in seconds.

    The default value is:

    • Satellite scenario StartTime to StopTime when OrbitPropagator is set to 'ephemeris'

    • Satellite scenario StartTime to StopTime when the orbit is parabolic or hyperbolic and OrbitPropagator is set to 'numerical'

    • One orbital period, in all other cases.

    Period of the ground track history to be visualized in Viewer, specified as 'TrailTime' and a positive scalar in seconds.

    The default value is:

    • Satellite scenario StartTime to StopTime when OrbitPropagator is set to 'ephemeris'

    • Satellite scenario StartTime to StopTime when the orbit is parabolic or hyperbolic and OrbitPropagator is set to 'numerical'

    • One orbital period, in all other cases.

    Visual width of the ground track in pixels, specified as '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 '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 string scalar or character vector 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. Therefore, 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

    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 '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 string scalar or character vector 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. Therefore, 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

    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'

    Visibility mode of the ground track, specified as either one of these values:

    • 'inherit' — Inherit visibility from the parent graphic. The visibility of the ground tack graphic matches that of the parent satellite or platform.

    • 'manual' — Do not inherit visibility from the parent graphic. Visibility of the ground tack graphic is independent of that of the parent satellite or platform.

    • 'auto' — Hidden by default in 3D viewers and visible by default in 2D viewers.

    Object Functions

    showShow object in satellite scenario viewer
    hideHide satellite scenario entity from viewer

    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 1 0.0670]
        TrailLineColor: [1 1 0.0670]
        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);

    Version History

    Introduced in R2021a