Part 8: Compute Coverage Over Regions

STK Pro, STK Premium (Air), STK Premium (Space), or STK Enterprise
You can obtain the necessary licenses for this tutorial by contacting AGI Support at support@agi.com or 1-800-924-7244.

The results of the tutorial may vary depending on the user settings and data enabled (online operations, terrain server, dynamic Earth data, etc.). It is acceptable to have different results.

This lesson requires STK 12.9 or newer to complete.

Capabilities covered

This lesson covers the following STK Capabilities:

  • STK Pro
  • Coverage

Problem statement

Engineers and operators need to analyze global or regional coverage from one asset or from a collection of assets. They might need to account for constraints such as sunlight and terrain. They may need to simply analyze if a sensor footprint passes over a specific ground location, or they may need to analyze a large area of ground or space and determine communication bit error rates in terms of area of interest, age of data, dilution of precision, etc. In this lesson, you will analyze three satellites and their sensor footprints on the Earth's surface. You need to determine what percentage of the Earth's surface is seen by all three sensors during a 24-hour period while taking into consideration sunlight, umbra, and how many times points on the ground are accessed. Then, you need to determine how long one satellite sensor covers Canada and the continental United States during the same 24-hour period.

Solution

Use STK to model Earth-observing payloads attached to sensors located in three different orbits. Use STK's Coverage capability to model and analyze the quality and quantity of coverage provided by the three payloads to determine the following:

  • The percentage of the Earth's surface the satellite payloads survey during a 24-hour period and daylight hours only
  • How many times the satellite payloads survey points on the ground during a 24-hour period and daylight hours only
  • How long points on the ground are seen in Canada and the continental United States

What you will learn

Upon completion of this tutorial, you will be able to:

  • Compute global coverage
  • Compute coverage in designated areas
  • Understand a coverage grid
  • Use constraints in a coverage grid
  • Determine coverage assets
  • Choose which data providers supply answers to your questions
  • Create color contours pertaining to the coverage analysis in the 2D and 3D Graphics windows

Video guidance

Watch the following video. Then follow the steps below, which incorporate the systems and missions you work on (sample inputs provided).

Create a new scenario

Create a new scenario.

  1. Launch STK ().
  2. Click Create a Scenario () in the Welcome to STK window.
  3. Enter the following in the STK: New Scenario Wizard:
  4. Option Value
    Name STK_Coverage
    Location Default
    Start 15 Mar 2024 16:00:00.000 UTCG
    Stop 16 Mar 2024 16:00:00.000 UTCG
  5. Click OK when you finish.
  6. Click Save () when the scenario loads. A folder with the same name as your scenario is created for you in the location specified above.
  7. Verify the scenario name and location in the Save As dialog box.
  8. Click Save.

Save () often!

Viewing both the 2D and 3D Graphics windows

You can view coverage in both the 2D and 3D Graphics windows. Placing them side by side makes this simple to do.

  1. Close () the Timeline View at the bottom of STK.
  2. Extend the Window menu.
  3. Select Tile Vertically to evenly space the windows side-by-side in the integrated workspace.

Turning off Terrain Server

Analytical and visual terrain is not required in this analysis. Turn off the Terrain Server.

  1. Right-click STK_Coverage () in the Object Browser.
  2. Select Properties ().
  3. Select the Basic - Terrain page when the Properties Browser opens.
  4. Clear the Use terrain server for analysis check box.
  5. Click OK to accept your changes and to close the Properties Browser.

Creating a satellite in a circular orbit

Insert the first Satellite () and place it in a circular orbit. Circular orbits have a constant radius.

  1. Select Satellite () in the Insert STK Objects tool.
  2. Select the Orbit Wizard () method.
  3. Click Insert... .
  4. Set the following in the Orbit Wizard:
  5. Option Value
    Type Circular
    Satellite Name Circ_Sat
    Inclination 55 deg
    Altitude 700 km
    RAAN: -105 deg
  6. Click OK to propagate the Satellite () object using the default J4Perturbation propagator and to close the Orbit Wizard.

Creating a satellite in a repeating ground trace orbit

Insert the second Satellite () and place it in a repeating ground trace orbit. Orbits with repeating ground traces are useful when you want identical viewing conditions at different times to detect changes. You can have the ground trace repeat every day or interweave from day to day before repeating.

  1. Insert a Satellite () object using the Orbit Wizard () method.
  2. Set the following in the Orbit Wizard:
  3. Option Value
    Type Repeating Ground Trace
    Satellite Name Repeat_Sat
  4. Click OK.

Creating a satellite in a sun-synchronous orbit

Insert the third Satellite () and place it in a sun-synchronous orbit. These orbits are designed to utilize the effect of the Earth's oblateness, causing the orbit plane to precess at a rate equal to the mean orbital rate of the Earth around the Sun. Sun synchronous orbits have the property that their nodes maintain constant local mean solar times.

  1. Insert a Satellite () object using the Orbit Wizard () method.
  2. Set the following in the Orbit Wizard:
  3. Option Value
    Type Sun Synchronous
    Satellite Name Sun_Sat
  4. Click OK.

Adding payloads

All three satellites use the same sensor type and size. STK enables you to copy and paste objects from one object to another. You will set up the first sensor and then copy and paste it to the other two. All you'll have to do is rename them or STK will use the same name with a one-up number.

Inserting a Sensor object

Attach a Sensor () object to Circ_Sat (). Define a rectangular sensor with a 20-degree vertical half-angle and 10-degree horizontal half-angle.

  1. Insert a Sensor () object using the Define Properties () method.
  2. Select Circ_Sat () in the Select Object dialog box.
  3. Click OK.
  4. Select the Basic - Definition page when the Properties Browser opens.
  5. Set the following:
  6. Option Value
    Sensor Type Rectangular
    Vertical Half Angle 20 deg
    Horizontal Half Angle 10 deg
  7. Click OK to accept your changes and to close the Properties Browser.

Reusing the Sensor object

Copy and paste the rectangular sensor onto the other two satellites.

  1. Select Sensor1 () in the Object Browser .
  2. Click Copy () in the Object Browser toolbar.
  3. Select Repeat_Sat () in the Object Browser.
  4. Click Paste () in the Object Browser toolbar.
  5. Select Sun_Sat () in the Object Browser.
  6. Click Paste () in the Object Browser toolbar.

Renaming the Sensor Objects

Rename the three sensors.

  1. Right-click on Sensor1 () in the Object Browser.
  2. Select Rename in the shortcut menu.
  3. Rename Sensor1 () to Circ_Sens.
  4. Press Enter on your keyboard.
  5. Repeat the steps above to rename Sensor2 () to Repeat_Sens and Sensor3 () to Sun_Sens.

Adding a Coverage Definition object

The Coverage Definition object defines a coverage area for analysis.

Inserting a Coverage Definition object

Insert a Coverage Definition () object into your scenario.

  1. Insert a Coverage Definition () object using the Insert Default () method.
  2. Rename CoverageDefinition1 () to World_Cov.
  3. 2D Graphics Window Default Coverage Grid

    The grid area of interest default setting is latitude bounds and covers 60 degrees south latitude to 70 degrees north latitude. The point granularity defaults to every 6 degrees and sits on the surface of the WGS84. You can determine the spacing between grid points using grid definition options. These options help you define the fineness or coarseness of the grid. The use of finer grid resolutions typically produce more accurate results, but requires additional computational time and resources.

Defining the coverage grid

Define the coverage grid to be global, with a 4-degree point granularity.

  1. Open World_Cov's () Properties ().
  2. Select the Basic - Grid page when the Properties Browser opens.
  3. Open the Type: shortcut menu in the Grid Area of Interest frame.
  4. Select Global.
  5. Enter 4 deg in the Lat/Lon field located in the Point Granularity frame.
  6. Click Apply to accept your changes and to keep the Properties Browser open.
  7. Select the 3D Graphics window to bring it to the front. Notice the grid covers the entire globe and the grid spacing is 4 degrees.

3D Graphics Window Global Coverage Grid

Assigning coverage assets

Assets properties allow you to specify the STK objects used to provide coverage. Define the three sensors as the Coverage Assets.

  1. Return to World_Cov's () properties ().
  2. Select the Basic - Assets page.
  3. Expand () Circ_Sat (), Repeat_Sat () and Sun_Sat () in the Assets list.
  4. Select Circ_Sens (), Repeat_Sens () and Sun_Sens ().
  5. Click Assign .
  6. Click Apply to accept your changes and to keep the Properties Browser open.

Turning off automatic recomputation of accesses

STK automatically recomputes accesses every time you update an object on which the coverage definition depends (such as an asset). If you want control as to when STK computes coverage, you need to turn this off.

  1. Select the Basic - Advanced page.
  2. Clear the Automatically Recompute Accesses check box.
  3. Click OK to accept your changes and to close the Properties Browser.

Using the Compute Accesses tool

The ultimate goal of coverage is to analyze accesses to an area by using assigned assets and applying necessary limitations upon those accesses. Compute coverage with the Compute Accesses tool.

  1. Select World_Cov () in the Object Browser.
  2. Extend the CoverageDefinition menu.
  3. Select Compute Accesses.
  4. You can view the progress bar in the lower-right corner of STK.

Generating a coverage by latitude graph

A coverage by latitude graph uses the Coverage by Latitude data provider. This analyzes coverage for each latitude in the selected range at intervals depending on the selected resolution. It uses the Latitude and Percent Time Covered elements.

  1. Right-click on World_Cov () in the Object Browser.
  2. Select Report & Graph Manager... () in the shortcut menu.
  3. Select the Coverage By Latitude graph () in the Installed Styles list.
  4. Click Generate....
  5. Coverage By Latitude Graph

    The Coverage By Latitude graph is a quick way to see the percentage of time covered by latitude.

  6. Close () the graph.
  7. Click Close to close the Report & Graph Manager.

Figure of Merit

STK enables you to specify the method by which the quality of coverage is measured using a Figure Of Merit () object.

Inserting a Figure of Merit

Insert a Figure of Merit object.

  1. Insert a Figure Of Merit () object using the Insert Default () method.
  2. Select World_Cov () in the Select Object dialog box.
  3. Click OK .
  4. Rename FigureOfMerit1 () to Simple_Cov.

Measuring Simple Coverage

Simple Coverage measures whether or not a point is accessible by any of the assigned assets during the analysis period. Areas on the map that are shaded mean that the surface point is seen by at least one sensor footprint during the 24-hour analysis period.

  1. Open Simple_Cov's () Properties ().
  2. Select the Basic - Definition page when the Properties Browser opens.
  3. Look at the Definition - Type. It defaults to Simple Coverage.
  4. Click Cancel to close the Properties Browser without making any changes.
  5. Bring the 2D Graphics window to the front.
  6. Simple Coverage Graphics

    Your 2D Graphics window may display different colors than the image above. You can change the color in Simple_Cov's () 2D Graphics - Static properties page.

Reporting Percent Satisfied

Generate a Percent Satisfied report. This presents the percentage of the total grid area where the static value of the Figure Of Merit meets the specified satisfaction criterion. In this scenario, the report shows the percentage of the globe that is accessible by any of the three sensors during the analysis period.

  1. Right-click Simple_Cov () in the Object Browser.
  2. Select Report & Graph Manager... () in the shortcut menu.
  3. Select the Percent Satisfied report () in the Installed Styles list.
  4. Click Generate....
  5. Note the % Satisfied value at the bottom of the report (e.g., ~77%).
  6. Approximately 77% of the globe is covered by at least one of the three sensors during the analysis time period.

  7. Close the report and the Report & Graph Manager when finished.

Creating a constraint

Once you have defined the grid area, you can specify an object class or a specific object for the points within the grid. You are interested in the percentage of coverage during periods of direct sun.

Creating a Target object

Insert a Target () object and define a direct sun lighting constraint.

  1. Insert a Target () object using the Define Properties () method.
  2. Select the Constraints - Active page when the Properties Browser opens.
  3. Click Add new constraints () in the Active Constraints toolbar.
  4. Type Lighting in the Search: field when the Select Constraints to Add dialog box opens.
  5. Select Lighting in the Constraint Name list.
  6. Click Add.
  7. Click Close to close the Select Constraints to Add dialog box.
  8. Look at the Lighting Constraint Name. DirectSun is the default Value.
  9. Click OK to accept your changes and to close the Properties Browser.
  10. Rename Target1 () to Constraint_Template.
  11. Clear the check box next to Constraint_Template () in the Object Browser. There is no need to see Constraint_Template () on the 2D or 3D Graphics windows.

Applying the grid constraint

Set the Constraint_Template () as the grid constraint.

  1. Open World_Cov's () Properties ().
  2. Select the Basic - Grid page when the Properties Browser opens.
  3. Click Grid Constraint Options... in the Grid Definition frame.
  4. You can see that the Reference Constraint Class defaults to Target in the Grid Constraint Options dialog box.
  5. For all object classes, the Basic properties of the object, excluding positional information, are applied to the grid points.

  6. Select the Use Object Instance check box.
  7. Select Constraint_Template in the list.
  8. Click OK to close the Grid Constraints Options dialog box.
  9. Click OK to accept your changes and to close the Properties Browser.

Recomputing accesses

Since a change was made to the coverage grid, you need to recompute accesses.

  1. Select World_Cov () in the Object Browser.
  2. Extend the CoverageDefinition menu.
  3. Select Compute Accesses.
  4. Bring the 2D Graphics window to the front when finished.

Determining Coverage Loss

It's obvious from the view in the 2D Graphics window that you have less coverage using a Direct Sun constraint. Due to the analysis time period, there is more sunlight in the northern hemisphere that you can see on the map. Generate a Percent Satisfied report to determine the percent coverage loss.

Simple Coverage with Direct Sun Constraint

  1. Right-click Simple_Cov () in the Object Browser.
  2. Select Report & Graph Manager... () in the shortcut menu.
  3. Select the Percent Satisfied report () in My Favorites
  4. Click Generate....
  5. Note the % Satisfied value at the bottom of the report (e.g., ~51 %).
  6. Since coverage is now being analyzed during periods of direct sun and not being analyzed during periods of umbra, there's a significant loss of coverage.

  7. Close report and the Report & Graph Manager when finished.

Measuring Number of Accesses

Insert a new Figure of Merit to measure Number of Accesses. This will measure the number of independent accesses of points.

  1. Clear the check box next to Simple_Cov ( ) in the Object Browser.
  2. Insert a Figure Of Merit () object using the Define Properties () method.
  3. Select World_Cov () in the Select Object dialog box.
  4. Click OK .
  5. Select the Basic - Definition page when the Properties Browser opens.
  6. Open the Type: shortcut menu in the Definition frame.
  7. Select Number Of Accesses.
  8. Keep Compute set to the default Total.
  9. Total computes the total number of accesses over the coverage interval without considering overlapping accesses.

  10. Click OK to accept your changes and to close the Properties Browser.
  11. Rename FigureOfMerit2 () to Num_Access.

Generating a Grid Stats report

Generate a Grid Stats report to see the smallest to largest number of accesses to any point in the grid.

  1. Right-click Num_Access () in the Object Browser.
  2. Select Report & Graph Manager... () in the shortcut menu.
  3. Select the Grid Stats report () in the Installed Styles list.
  4. Click Generate....
  5. Note the Maximum value (e.g., 6).
  6. That means at least one point in the grid was accessed on six (6) different occasions during the analysis period.

  7. Note the Minimum value (e.g., 0).
  8. That means at least one point in the grid was never accessed by any of the three sensors during the analysis period.

  9. Close the report and the Report & Graph Manager when finished.
  10. Clear the check box next to World_Cov () in the Object Browser.

Creating an Area Target object for coverage

You can focus the coverage grid in a confined location using Area Target () objects. For this part of the analysis, you will focus on the continental United States and mainland Canada. You will ignore islands and territories.

Insert an Area Target () to model Canada and the Continental United States.

  1. Insert an Area Target () object using the Select Countries and US States () method.
  2. Clear the US States check box in the List Selections frame when the Select Countries And US States dialog box opens.
  3. Use the Ctrl key to select Canada and United_States_of_America in the countries list on the left. You can insert them individually if desired.
  4. Click Insert.
  5. Click Close to close the Select Countries And US States dialog box.

Defining a new Coverage Definition

You want to determine coverage time inside the boundaries of the Area Target () objects. You will use Repeat_Sens () as the asset. No constraints are necessary.

Inserting a Coverage Definition

Insert a new Coverage Definition ().

  1. Insert a Coverage Definition () object using the Insert Default () method.
  2. Rename CoverageDefinition2 () to Country_Cov.

Define Coverage Grid

Define the coverage area of interest to be Canada and the continental United States using the Area Targets ().

  1. Open Country_Cov's () properties ().
  2. Select the Basic - Grid page when the Properties Browser opens.
  3. Open the Type: shortcut menu in the Grid Area of Interest frame.
  4. Select Custom Regions.
  5. Open the next shortcut menu below Type:.
  6. Select Area Targets.
  7. Use the Ctrl key to select Canda and United_States_of_America in the Area Targets list on the left.
  8. Move () Canada () and United_States_of_America () from the Area Targets list to the Selected Regions list.
  9. Enter 1 deg in the Lat/Lon field located in the Point Granularity field.
  10. Click Apply to accept your changes and to keep the Properties Browser open.
  11. Bring the 2D Graphics window to the front.
  12. Zoom In () so that you only see Canada and United States.
  13. Coverage Grid Confined to Area Targets

    Your 2D Graphics window may display different colors than the image above. The grid point colors can be changed by changing Country_Cov's () color in the Object Browser or on Country_Cov's () 2D Graphics - Attribute properties page.

  14. If desired, you can Zoom In () and center the 3D Graphics window to the same view as the 2D Graphics window.

Assigning a coverage asset

Define Repeat_Sens () as the Coverage Asset.

  1. Return to Country_Cov's () properties ().
  2. Select the Basic - Assets page.
  3. Expand () Repeat_Sat () in the Assets list.
  4. Select Repeat_Sens () in the Assets list.
  5. Click Assign .
  6. Click Apply to accept your changes and to keep the Properties Browser open.

Turning off grid display

You will display Figure Of Merit graphics, so turn off the grid point display.

  1. Select the 2D Graphics - Attributes page.
  2. Clear the Show Points check box in the Grid frame.
  3. This turns off the visual grid inside the Area Target () object. Analytically, they're still there.

  4. Click OK to accept your changes and to close the Properties Browser.

Computing accesses

You can compute accesses from the Object Browser vice the CoverageDefinition menu.

  1. Right-click Country_Cov () in the Object Browser.
  2. Select CoverageDefinition in the shortcut menu.
  3. Select Compute Accesses in the next shortcut menu.

Defining a Figure Of Merit object

Use a Figure Of Merit () object to determine the amount of time during which the grid points are covered by Repeat_Sens ().

Inserting a Figure of Merit

Insert a Figure Of Merit () to measure the quality of coverage of Country_Cov ().

  1. Insert a Figure Of Merit () object using the Insert Default () method.
  2. Select Country_Cov () in the Select Object dialog box.
  3. Click OK .
  4. Rename the FigureOfMerit3 () to Cov_Time.

Measuring Coverage Time

Set the Figure Of Merit to Coverage Time. It will measure the amount of time during which grid points are covered.

  1. Open Cov_Time's () properties ().
  2. Select the Basic - Definition page when the Properties Browser opens.
  3. Open the Type: shortcut menu in the Definition frame.
  4. Select Coverage Time.
  5. Open the Compute: shortcut menu.
  6. Select Total.
  7. Click Apply to accept your changes and to keep the Properties Browser open.

Generating a Grid Stats report

Generate a report to determine the minimum and maximum amount of time any of the grid points are covered by Repeat_Sens ().

  1. Right-click Cov_Time () in the Object Browser.
  2. Select Report & Graph Manager... () in the shortcut menu.
  3. Select Grid Stats report () in the My Favorites list.
  4. Click Generate....
  5. Note the Maximum (sec) (e.g., ~49 seconds).
  6. That means at least one point in the grid was accessed for a total of 49 seconds during the analysis period.

  7. Return to Cov_Time's () properties ().

Defining static graphics for the Figure Of Merit

Define static graphics for the Figure Of Merit on the 2D Graphics - Static page.

  1. Select the 2D Graphics - Static page.
  2. Enter 30 in the % Translucency: field in the Show Points As frame.
  3. Select the Show Contours option in the Display Metric frame.
  4. Click Remove All in the Level Attributes frame.
  5. Set the following in the Level Adding frame:
  6. Option Value
    Start 0 sec
    Stop round down to the nearest integer from the Maximum (sec) value in the Grid Stats report (e.g. 49 sec)
    Step 5 sec
  7. Click Add Levels .
  8. Open the Start Color: shortcut menu in the Level Attributes frame.
  9. Select red.
  10. Open the End Color: shortcut menu
  11. Select blue.
  12. Points with no coverage will be red and any points at or above your highest Level Attribute value will be blue.

  13. Select the Natural Neighbor option in the Contour Interpolation (points must be filled) frame.
  14. Color is applied smoothly over all points in the grid to differentiate contour levels.

  15. Click Apply to accept your changes and to keep the Properties Browser open.

Set 2D and 3D Graphics windows legends

Once you have set the contours for coverage, you can set the display of the contour key, or legend.

  1. Click Legend... in the Level Attributes frame.
  2. Click OK to close Cov_Time's () properties ().
  3. Click Layout... in the Static Legend for Cov_Time dialog box.
  4. Set the following on the Figure of Merit Legend Layout dialog box:
  5. Option Value
    2D Graphics Window - Show at Pixel Location on
    3D Graphics Window - Show at Pixel Location on
    Text Options - Title: Coverage Time (seconds)
    Text Options - Number Of Decimal Digits: 0
    Range Color Options - Color Square Width (pixels): 50
  6. Click OK to close the Figure of Merit Legend Layout dialog box.
  7. Close () the Static Legend for Cov_Time dialog box.
  8. Bring the 2D and 3D Graphics windows to the front.
  9. Note Snap Frame () in both the 2D and 3D Graphics windows. You could use Snap Frame to take a picture of the map to place in a PowerPoint slide or in a document.

2D Graphics Window with Coverage Contours

3D Graphics Window with Coverage Contours

Save your work

  1. Close any open reports, properties and the Report & Graph Manager.
  2. Save () your work.

Summary

You placed three Satellite () objects into the scenario using circular, repeating ground trace and sun-synchronous orbits. All three satellites had similar Sensor () objects. You built a Coverage Definition () object and set the grid definition to global. Using all three Sensor () objects, you computed access. Using a Figure Of Merit () object, you learned about Simple Coverage and how to analyze the percentage of the Earth accessed during a twenty four hour period. Next, you loaded a Target () object at the Prime Meridian (default location), and set a direct sun constraint. Returning to the Coverage Definition () object, you applied the constraint across the coverage grid and recalculated coverage to see how the direct sun constraint affected the percentage of coverage. The next step was to add a second Figure Of Merit () object and determine the number of accesses against each point in the coverage grid. Switching gears, you loaded two Area Target () objects which outlined the continental United States and Canada. With a new Coverage Definition () object, you focused coverage inside of the Area Target () objects using only the Sensor () object attached to the satellite in the repeating ground trace orbit. This time, you configured a new Figure Of Merit () object to focus on how long each point in the coverage grid was covered by the Sensor () object. Finally, you learned how to apply static contours to both the 2D and 3D Graphics windows.

On your own

Throughout the tutorial, hyperlinks are available that point o in-depth information of various subjects. Now's a good time to go back through this tutorial and view that information.

The following tutorials are recommended for further training: