Function Repository Resource:

SatelliteGroundTrackPlot

Source Notebook

Plot the ground track and position of artificial satellites

Contributed by: Jeff Bryant

ResourceFunction["SatelliteGroundTrackPlot"][entity]

plots the current ground track and position of the satellite specified by entity.

ResourceFunction["SatelliteGroundTrackPlot"][entity,date]

plots the ground track and position on the specified date.

Details and Options

For single, active satellite queries, the plot is centered on the position of the satellite.
For satellites with decayed orbits, ResourceFunction["SatelliteGroundTrackPlot"] will only display a typical ground track.
ResourceFunction["SatelliteGroundTrackPlot"] has the same options as GeoGraphics, with the following additions and modifications:
GeoRangeAllgeographic area range to include
"GroundTrackStyle"Automaticdirective used to style the ground track of satellites
"IncludeLegend"Automaticwhether to include a legend for the displayed satellites
"SatelliteStyle"Automaticdirective used to style the position of satellites
"VisibleRegion"Truewhether to display regions from which the satellite is visible

Examples

Basic Examples (3) 

Plot the current ground track of the International Space Station:

In[1]:=
ResourceFunction["SatelliteGroundTrackPlot"][
 Entity["Satellite", "25544"]]
Out[1]=

Plot the ground track of a satellite at a specified date and time:

In[2]:=
ResourceFunction["SatelliteGroundTrackPlot"][
 Entity["Satellite", "27424"], DateObject[{2022, 7, 1, 15}]]
Out[2]=

Plot the current ground track of multiple satellites:

In[3]:=
ResourceFunction[
 "SatelliteGroundTrackPlot"][{Entity["Satellite", "25544"], Entity["Satellite", "25260"], Entity["Satellite", "25994"]}]
Out[3]=

Scope (3) 

Plot the ground track of a satellite at a specific date and time:

In[4]:=
ResourceFunction["SatelliteGroundTrackPlot"][
 Entity["Satellite", "00674"], DateObject[{2022, 3, 5, 3}]]
Out[4]=

Plot the ground track of a decayed satellite:

In[5]:=
ResourceFunction["SatelliteGroundTrackPlot"][
 Entity["Satellite", "00002"]]
Out[5]=

Plot the ground tracks of entity classes of satellites:

In[6]:=
ResourceFunction["SatelliteGroundTrackPlot"][
 EntityClass["Satellite", "LandSat"]]
Out[6]=

Options (3) 

Change the color of the ground track and satellite position indicator:

In[7]:=
ResourceFunction["SatelliteGroundTrackPlot"][
 Entity["Satellite", "25544"], "GroundTrackStyle" -> Black, "SatelliteStyle" -> Directive[Opacity[1], Red, PointSize[.015]]]
Out[7]=

For a large number of satellites, the legend and visible regions can be distracting so they can be turned off:

In[8]:=
ResourceFunction["SatelliteGroundTrackPlot"][
 EntityClass["Satellite", "GPS"], "IncludeLegend" -> False, "VisibleRegion" -> False]
Out[8]=

Combine options from GeoGraphics with options specific to SatelliteGroundTrackPlot:

In[9]:=
ResourceFunction["SatelliteGroundTrackPlot"][
 Entity["Satellite", "35491"], GeoProjection -> "Orthographic", GeoZoomLevel -> 2, GeoBackground -> "Satellite", "SatelliteStyle" -> Directive[Red, Opacity[1], PointSize[.015]], "GroundTrackStyle" -> Opacity[0]]
Out[9]=

Neat Examples (1) 

Create highly stylized ground track plots:

In[10]:=
ResourceFunction["SatelliteGroundTrackPlot"][
 Entity["Satellite", "25544"], DateObject[{2018, 12, 18, 12, 55}, "Minute", "Gregorian", -6.`],
 "SatelliteStyle" -> Directive[Opacity[1], Red, PointSize[.05]],
 "GroundTrackStyle" -> Directive[GrayLevel[1], Dashed, Thickness[.02], CapForm["Butt"]],
 "VisibleRegionStyle" -> GeoStyling[
   Directive[Opacity[.4], RGBColor[1, 0.5, 0], StrokeForm[RGBColor[1, 0, 0]]]],
 GeoRange -> {{-70, 40}, {-150, -65}}, GeoProjection -> {"VerticalPerspective", "Centering" -> {64.5, -74, 1.725}}, GeoGridLines -> Quantity[5, "AngularDegrees"], GeoGridLinesStyle -> Directive[Opacity[0.5], GrayLevel[1]], GeoRangePadding -> Full, GeoBackground -> GeoStyling["ReliefMap"], Background -> Hue[0.6, 1, 0.2], PlotRangePadding -> {{0.03, 0}, {0.05, 0}}]
Out[10]=

Version History

  • 1.0.0 – 26 July 2022

Related Resources

License Information