Click or drag to resize

AGI.Foundation.Coverage Namespace

Contains types for computing complex access calculations between many different objects simultaneously.
Classes
  ClassDescription
Public classAssetDataUnavailableException
Exception thrown when data is unavailable for a given asset in a coverage computation.
Public classAssetDefinition
Defines the 'asset' which can provide coverage and the AccessQuery which can determine whether or not it provides coverage at a particular time.
Public classBaseCoverageDefinition
The abstract base class for coverage definitions.
Public classContinuousCoverageDefinition

A type of coverage definition that provides a convenient way to organize and initialize a coverage calculation, which computes access calculations over a set of grid points. Each access calculation represents a logical operation determining whether a set of constraints are satisfied for geometry involving one grid point and any number of other assets. For more information, see the Coverage section of the documentation.

In contrast to the coverage definitions derived from DiscreteCoverageDefinition, definitions that derive from this class partition the collection of grid points and split these groups amongst available computational cores for calculation.

Public classCoverageData
Contains all the information generated by a coverage calculation for a single point. Coverage data for a given point represents the set of assets which have access to the point at any given time.
Public classCoverageDefinitionOnCentralBody Obsolete.

Provides a convenient way to organize and initialize a coverage calculation, which computes access calculations over a set of grid point. Each access calculation represents a logical operation determining whether a set of constraints are satisfied for geometry involving one grid point and any number of other assets.

This class uses different threads to loop over a set of grid points. So, after configuring the grid and assets, the grid generation and coverage calculations will automatically divide the grid point calculations between threads unless MultithreadCoverage is set to false or the ThreadingPolicy is configured to use only one thread.

As an alternative, consider using DiscreteCoverageDefinitionOnCentralBody, which loops over time instead of looping over the grid and can in some cases provide better performance.

Public classCoverageDefinitionOnSingleObject
This coverage definition provides a convenient way to organize and compute a coverage calculation between an object of interest and an associated group of assets.
Public classCoverageFilter
Filters coverage results based on the number of available assets.
Public classCoverageGridPoint Obsolete.
This class represents a grid point to be used in a coverage calculation. It holds the position and weighting information and stores the CoverageQueryResult which represents the results of a coverage calculation for this grid point.
Public classCoverageGridPointWithResults
Represents a coverage grid point that holds the geometrical/statistical CoverageGridPoint (the position, reference frame, weighting, optional central body, and optional grid cell), and stores the CoverageQueryResult which contains the results of a coverage calculation for this grid point.
Public classCoverageGridResult Obsolete.
This class represents the overall results of a coverage calculation over a grid.
Public classCoverageQueryResult
Contains all the information generated by a coverage calculation for a single grid point.
Public classCoverageResults
This represents the overall results of a coverage calculation over a grid.
Public classDiscreteCoverageDefinition

This coverage definition provides a convenient way to organize and initialize a coverage calculation, which computes access calculations over a set of grid points. Each access calculation represents a logical operation determining whether a set of constraints are satisfied for geometry involving one grid point and any number of other assets. For more information, see the Coverage section of the documentation.

In contrast to the coverage definitions that inherit from ContinuousCoverageDefinition, which partition the calculation into groups of grid points, this coverage calculation will configure the grid to be evaluated in lock-step in time slices to take advantage of caching redundant calculations common among all grid points. The advantage of this approach is that it can significantly reduce the overall computation time in cases where Earth fixed-to-inertial frame calculations, communications network analysis, or other calculations largely independent of any particular grid point are needed. The calculation can also be configured with a larger or smaller timestep to trade off between overall run time and the resolution of the access calculations. If the step size is too small, coverage definitions derived from ContinuousCoverageDefinition may perform better by doing dynamic sampling over time rather than performing a large number of nearly-identical calculations. However, if the step size is too large, the discrete calculation may miss short intervals that are smaller than the stepsize.

Public classDiscreteCoverageDefinitionOnCentralBody Obsolete.

Similar to CoverageDefinitionOnCentralBody, this class provides a convenient way to organize and initialize a coverage calculation, which computes access calculations over a set of grid point. Each access calculation represents a logical operation determining whether a set of constraints are satisfied for geometry involving one grid point and any number of other assets. For more information, see the Programmer's Guide-Overview-Analysis section of the documentation.

Instead of threading the calculation to loop over grid points, this coverage calculation will configure the grid to be evaluated in lock-step to take advantage of caching redundant calculations common among all grid points. The threads are then configured to loop over intervals of time at a given step size. The advantage of this approach is that it can significantly reduce the overall computation time in cases where Earth fixed-to-inertial frame calculations, communications network analysis, or other calculations largely independent of any particular grid point. The calculation can also be configured with a larger or smaller time step to trade off between overall run time and the resolution of the access calculations. If the step size is too small, CoverageDefinitionOnCentralBody may perform better by doing dynamic sampling over time rather than performing a large number of nearly-identical calculations. However, if the step size is too large, the discrete calculation may miss short intervals that are smaller than the step size.

Public classMaterializedSpatiallyPartitionedCoverageDefinition
A coverage definition that uses a delegate to define properties for the grid points. The delegate will be used at runtime to define the properties of the GridPoints. Once given properties via the delegate these properties persist for the duration of the calculation. This type of coverage definition splits the coverage calculation up spatially, creating threads to process a group of grid points based upon logical division of available cores or user specified thread count.
Public classMaterializedTemporallyPartitionedCoverageDefinition
A coverage definition that uses a delegate to define properties for the grid points. The delegate will be used at runtime to define the properties of the GridPoints. Once given properties via the delegate these properties persist for the duration of the calculation. This coverage definition splits up the coverage calculation into chunks of time. These chunks of time are specified via the step size parameter in the ComputeCoverageOverTheGrid(JulianDate, JulianDate, Duration) methods.
Public classParameterizedSpatiallyPartitionedCoverageDefinition
A coverage definition that specifies grid point properties via an archetypical object that provides, at a minimum, an ILocationPointService. This archetypical object is applied to each grid point at runtime by swapping the object's location with the realized GridPoint defined by the Grid. This type of coverage definition splits the coverage calculation up spatially, creating threads to process a group of grid points based upon logical division of available cores or user specified thread count.
Public classParameterizedTemporallyPartitionedCoverageDefinition
A coverage definition that specifies grid point properties via an archetypical object that provides, at a minimum, an ILocationPointService. This archetypical object is applied to each grid point at runtime by swapping the object's location with the realized GridPoint defined by the Grid. This coverage definition splits up the coverage calculation into chunks of time. These chunks of time are specified via the step size parameter in the ComputeCoverageOverTheGrid(JulianDate, JulianDate, Duration) methods.
Delegates
  DelegateDescription
Public delegateCoverageGridPointCreationCallback
A delegate which defines a method for creating a service provider for use in access based on a given coverage grid point position.
Public delegateCreateCoverageGridPointForAccess Obsolete.
A delegate which defines a method for creating a service provider for use in access based on a given coverage grid point position.
Enumerations
  EnumerationDescription
Public enumerationCoverageFilterType
Indicates whether an interval of coverage is valid based on the number of assets available.