public final class GridDescriptiveStatistics extends Object
Modifier and Type  Method and Description 

static double 
averageFigureOfMerit(Iterable<? extends CoverageGridPointWithResults> gridPoints,
FigureOfMerit<Double> function)
Computes the average of a given figure of merit over the grid (ignoring grid weighting).

static double 
averageWeightedFigureOfMerit(Iterable<? extends CoverageGridPointWithResults> gridPoints,
FigureOfMerit<Double> function)

static JulianDate 
completeSatisfactionTime(Iterable<? extends CoverageGridPointWithResults> gridPoints)
Gets the earliest time at which satisfaction has been achieved (not necessarily concurrently) for all of
the grid points, or
null if one or more grid points are never satisfied. 
static GridTimeSampledValues 
computeFigureOfMeritData(CoverageResults grid,
IFigureOfMeritDefinition figureOfMerit,
TimeInterval interval,
Duration stepsize)
Compute the given figure of merit over the coverage grid.

static List<GridTimeSampledValues> 
computeFigureOfMeritData(CoverageResults grid,
List<IFigureOfMeritDefinition> figuresOfMerit,
TimeInterval interval,
Duration stepsize)
Compute the given figure of merit over the coverage grid.

static double 
instantaneousPercentCovered(Iterable<? extends CoverageGridPointWithResults> gridPoints,
JulianDate time)
Computes the percentage of the grid that is covered at the given time
based on whether each individual grid point representing a given area is covered.

static double 
instantaneousWeightCovered(Iterable<? extends CoverageGridPointWithResults> gridPoints,
JulianDate time)
Computes the total weight of the points on the grid that are covered at a given time.

static <T extends Comparable<T>> 
maximumFigureOfMerit(Iterable<? extends CoverageGridPointWithResults> gridPoints,
FigureOfMerit<T> function)
Computes the maximum of a given figure of merit over the grid, based on the grid
point weights (usually area).

static <T extends Comparable<T>> 
minimumFigureOfMerit(Iterable<? extends CoverageGridPointWithResults> gridPoints,
FigureOfMerit<T> function)
Computes the minimum of a given figure of merit over the grid.

static double[] 
percentAccumulated(Iterable<? extends CoverageGridPointWithResults> gridPoints,
JulianDate start,
JulianDate stop,
Duration step)
Given a time after a start time, computes the highest percentage of the grid
which has been covered at any one time after the start and before the time of interest.

static double 
percentCovered(Iterable<? extends CoverageGridPointWithResults> gridPoints)
Computes the percentage of the grid that is covered based on whether each
individual grid point representing a given area is covered at any time.

static TimeIntervalCollection 
satisfactionIntervals(Iterable<? extends CoverageGridPointWithResults> gridPoints)
Returns the set of intervals where the entire set of grid points is satisfied.

static TimeIntervalCollection 
unknownIntervals(Iterable<? extends CoverageGridPointWithResults> gridPoints)
Returns the set of intervals where coverage is unknown on any of the grid points.

static double 
weightOfCoveredPoints(Iterable<? extends CoverageGridPointWithResults> gridPoints)
Computes the total weight of the points on the grid which have been covered.

@Nonnull public static TimeIntervalCollection satisfactionIntervals(@Nonnull Iterable<? extends CoverageGridPointWithResults> gridPoints)
gridPoints
 The set of grid points to analyze.@Nonnull public static TimeIntervalCollection unknownIntervals(@Nonnull Iterable<? extends CoverageGridPointWithResults> gridPoints)
gridPoints
 The set of grid points to analyze.public static double percentCovered(@Nonnull Iterable<? extends CoverageGridPointWithResults> gridPoints)
This method only works with static grids.
gridPoints
 The data on the coverage intervals to analyze.IllegalStateException
 Thrown if any of the weight scalars for the input grid points varies in time.public static double instantaneousPercentCovered(@Nonnull Iterable<? extends CoverageGridPointWithResults> gridPoints, @Nonnull JulianDate time)
gridPoints
 The data on the coverage intervals to analyze.time
 The time of interest.@Nonnull public static double[] percentAccumulated(@Nonnull Iterable<? extends CoverageGridPointWithResults> gridPoints, @Nonnull JulianDate start, @Nonnull JulianDate stop, @Nonnull Duration step)
gridPoints
 The coverage grid which must contain the coverage intervals
on each of the grid points.start
 The start of the coverage accumulation.stop
 The time of interest at which to report the accumulated percent coverage.step
 The time step at which to sample the coverage intervals.public static double weightOfCoveredPoints(@Nonnull Iterable<? extends CoverageGridPointWithResults> gridPoints)
This method only works with static grids. For grids that use geometric values for the statistical weight this value could be area or volume covered, for example.
gridPoints
 The coverage grid points. These points must contain results.IllegalStateException
 Thrown if any of the weight scalars for the input grid points varies in time.public static double instantaneousWeightCovered(@Nonnull Iterable<? extends CoverageGridPointWithResults> gridPoints, @Nonnull JulianDate time)
For grids that use geometric values for the statistical weight this value could be area or volume covered, for example.
gridPoints
 The coverage grid points. These points must contain results.time
 The time of interest at which to compute the coverage area.public static double averageFigureOfMerit(Iterable<? extends CoverageGridPointWithResults> gridPoints, FigureOfMerit<Double> function)
gridPoints
 The coverage grid points. These points must contain results.function
 The figure of merit to average.public static double averageWeightedFigureOfMerit(@Nonnull Iterable<? extends CoverageGridPointWithResults> gridPoints, FigureOfMerit<Double> function)
Weight
(get
/ set
).
This method only works with static grids.
gridPoints
 The coverage grid points. These points must contain results.function
 The figure of merit to average.IllegalStateException
 Thrown if any of the weight scalars for the input grid points varies in time.public static <T extends Comparable<T>> T minimumFigureOfMerit(@Nonnull Iterable<? extends CoverageGridPointWithResults> gridPoints, FigureOfMerit<T> function)
T
 The type of value produced by the figure of merit.gridPoints
 The coverage grid points. These points must contain results.function
 The figure of merit.public static <T extends Comparable<T>> T maximumFigureOfMerit(@Nonnull Iterable<? extends CoverageGridPointWithResults> gridPoints, FigureOfMerit<T> function)
T
 The type of value produced by the figure of merit.gridPoints
 The coverage grid points. These points must contain results.function
 The figure of merit.public static GridTimeSampledValues computeFigureOfMeritData(CoverageResults grid, IFigureOfMeritDefinition figureOfMerit, TimeInterval interval, @Nonnull Duration stepsize)
Calls GridTimeSampledValues.computeData(CoverageResults,IFigureOfMeritDefinition,TimeInterval,Duration)
on GridTimeSampledValues
.
grid
 The coverage grid results.figureOfMerit
 The figure of merit to compute.interval
 The time interval over which to compute.stepsize
 The step size at which to compute.public static List<GridTimeSampledValues> computeFigureOfMeritData(CoverageResults grid, List<IFigureOfMeritDefinition> figuresOfMerit, TimeInterval interval, @Nonnull Duration stepsize)
Calls GridTimeSampledValues.computeData(CoverageResults,List,TimeInterval,Duration)
on GridTimeSampledValues
.
grid
 The coverage grid results.figuresOfMerit
 The list of figures of merit to compute.interval
 The time interval over which to compute.stepsize
 The step size at which to compute.figuresOfMerit
containing the
data for each grid point sampled over time.@Nullable public static JulianDate completeSatisfactionTime(@Nonnull Iterable<? extends CoverageGridPointWithResults> gridPoints)
null
if one or more grid points are never satisfied.gridPoints
 The grid points and their coverage results.