Package noaa.coastwatch.util
Provides utility classes for holding data, map projection, coordinate transform, resampling, statistics, and others.
The DataVariable
class and its subclasses function
as generic data containers. They allow the data values, name, units,
scaling factors, and other attributes to be associated together in a
single structure. The dimensions of a data variable depend on the
specific subclass. Specifically, the Line
class handles 1D data such as ship track,
while the Grid
class handles 2D gridded
data such as satellite imagery with navigational corrections. The
DataLocation
class specifies coordinates
that may be used to set and retrieve values within a data variable.
The EarthDataInfo
class binds a
number of common DataVariable
objects by providing the
originating satellite, sensor, date, time, geolocation, and other
common attributes.
The EarthTransform
and subclasses DataProjection
, MapProjection
, and SwathProjection
provide coordinate
transformations between data coordinates such as (row, column)
represented by the DataLocation
class and
geographic latitude and longitude coordinates represented by the
EarthLocation
class. The
MapProjection
class uses GCTP
to provide cartographic transformations for
some of the most commonly used map projections such as mercator, polar
stereographic, and so on. Generic coordinate transforms are a
required component of any data registration or resampling procedure.
An EarthTransform
object is typically used in conjunction
with a number of DataVariable
objects to translate
between data and geographic coordinates. The EarthArea
class may be used in conjunction with
an EarthTransform
to represent irregularly shaped areas
on the Earth.
In some cases it may be necessary to approximate the value of a smooth
function between a number of known function data values. The UnivariateEstimator
, BivariateEstimator
, and VariableEstimator
provide polynomial estimation
methods for this purpose. The VariableEstimator
in
particular is useful for approximating the value of a smoothly
changing DataVariable
such as latitude, longitude,
satellite zenith, and other angle data. To aid in approximating
smooth data fields with an appropriate number of known data points,
the EarthPartition
can be used to divide
earth locatable data variables into subsections of a specified
physical size.
-
ClassDescriptionDeprecated.Deprecated.As of 3.3.1, use
MixedGridResampler
with a location filter ofVIIRSBowtieFilter
to get the same results.An array reduction is an operator that reduces an array to a single value.TheAtmosphericCorrection
class performs a simplified atmospheric correction algorithm to transform MODIS top-of-atmosphere reflectance data to corrected reflectance data.A bivariate estimator approximates the value of a function of two variables using a set of known function values.TheBoxSurvey
class holds survey information for a rectangle of data values.TheBucketResamplingMapFactory
class creates a resampling map by placing the source transform earth locations into buckets and searching the bucket contents for the closest data location to each earth location in the destination transform.TheConstrainedStrideLocationIterator
class iterates over data locations using a constant step stride vector, but uses ajava.awt.Shape
object to determine if each location is contained within a shape boundary.TheDataIterator
class is intended to be used by classes that need to iterate over a set of data values.A data location represents a set of coordinates that uniquely identify a data value position within some N-dimensional space.TheDataLocationConstraints
class holds a set of values used to specify the bounds and sparseness of a continguous area of data locations.TheDataLocationIterator
class adds an extra interface method to return the next data location.TheDataLocationIteratorFactory
class creates aDataLocationIterator
instance based on a set of parameters that specify the desired iterator behaviour.A data variable is a container class to hold data values and a specific set of metadata.TheDataVariableIterator
class iterates over the locations of a data variable and returns the data values found.TheDateFormatter
class contains a number of static methods to format dates easily based on timezone and Earth location.TheDirectGridResampler
class performs generic data resampling between 2D Earth transforms using a direct location lookup method.TheDirectResamplingMapFactory
class creates a resampling map by directly querying the source transform for the data location of each earth location in the destination transform.TheDoubleIterator
class adds an extra interface method to return the next double value.TheEarthArea
class represents irregularly shaped areas on a sphere.TheEarthDataInfo
class is a container for global metadata pertaining to a number ofDataVariable
objects.TheEarthDataSurvey
class is used to perform surveys onDataVariable
objects, and is the abstract parent of all surveys.An earth location represents a point using latitude and longitude in degrees.AnEarthLocationSet
holds a number of earth locations and allows for fast retrieval of the nearest location in the set to a given point and an associated data object.TheEarthPartition
class sets up a partitioning of earth data such that no individual partition has physical size exceeding a user-specified tolerance.An encodable object is one whose representation can be encoded in a data structure or array, for example as a number of integers or floating point values.TheExpressionFilter
class detects locations whose data variable values satisfy a mathematical expression.The filter interface provides a method for performing processing on an array of data values.A function takes a number of variables as input and produces an output value.The static routines in the General Cartographic Transformations Package (GCTP) class handle the transformation of data coordinates between common earth projection systems.The GCTP requirements class helps determine the various parameters required for each projection.TheGeoMeanReduction
reduces an array to a single geometric mean value.The 2D grid class is a special form of data variable with two dimensions -- rows and columns.TheGridDataResamplingMapFactory
class creates a resampling map by directly querying grid variables for the source and column mapping.TheGridResampler
class performs generic data resampling between 2D earth transforms.TheHTMLReportFormatter
class formats report data to HTML 3.2.TheInverseGridResampler
class performs generic data resampling between 2D earth transforms using an inverse location lookup method.A Lagrange interpolator uses a set of known function data to interpolate function values between data points.TheLandMask
class may be used to retrieve a true or false value for the presence of land at a certain earth location.TheLastReduction
reduces an array to a single last value.The 1D line class is a special form of data variable with one dimension.TheLineIterator
class may be used to get the set of (x,y) points required for drawing a line between start and end points.TheLineLocationIterator
class iterates over data locations along a line between start and end locations.TheLineSurvey
class holds survey information for a line of data values from one point to another.TheLocationEstimator
class uses a reference and target earth transform to estimate the data location of a target point given a reference point.TheLocationFilter
class allows for computations and other classes to check if a specific location's data should be used in a computation.The longitude filter is a filter with special considerations for longitude values.TheMaxReduction
reduces an array to a single maximum value.TheMeanReduction
reduces an array to a single mean value.TheMedianReduction
reduces an array to a single median value.TheMetadataContainer
class is designed to be extended by other classes that need to hold user metadata in the form of a mapping from attribute name to attribute value.TheMetadataServices
class defines various static methods relating to metadata manipulation.TheMinReduction
reduces an array to a single minimum value.TheMixedGridResampler
class performs generic data resampling between 2D earth transforms using a mix of forward and inverse resampling methods.TheNavigationOffsetEstimator
class uses image and land mask data to estimate the navigation error in a small tile of coastal image data.ThePointSurvey
class holds survey information for a single data location.ThePolygonSurvey
class holds survey information for a polygon of data values.TheReportFormatter
class is an interface for formatting reports of text data.AResamplingDiagnostic
generates statistics on the difference between a resampling map and the ideal resampling between a source and destination transform.Holds an individual diagnostic information value.AResamplingMap
object holds coordinate mapping data between two 2D coordinate systems: the source and destination.AResamplingMapFactory
is an interfaace for objects that createResamplingMap
objects on-demand, based on the coordinates that need to be remapped.TheResamplingSourceImp
class provides an extra set of query methods about the source transform in a resampling operation.TheResettableIterator
class has an interface to make iterators go back to the first element again.TheSatelliteDataInfo
class is a specialEarthDataInfo
class for satellite data.A satellite pass info object holds information about one pass of a satellite over the Earth.The solar zenith class may be used to calculate solar zenith angles for any earth location at a given date and time.The statistics class is a container for various data variable statistics such as minimum, maximum, mean, standard deviation, histogram counts, and so on.TheStrideLocationIterator
class iterates over data locations using a constant step stride vector.TheSubsetGrid
class uses an existingGrid
object to provide a subset view of its data.TheTextReportFormatter
class formats report data to raw text.TheTimePeriod
class is a container for a date and length of time.TheTopology
class contains a number of convenience methods for working with coordinates in a topology.TheUnitFactory
class creates Unidata UDUNITS styleUnit
objects from unit specification strings.A univariate estimator approximates the value of a function of one variable using a set of known function values.TheValueSource
interface may be implemented by any class that provides data values for a set ofDataLocation
objects.TheVariableEstimator
class provides an approximation of smoothly changing variable data using quadratic polynomials.TheVariableStatisticsGenerator
class creates aStatistics
object using a data variable and set of constraints.TheVIIRSBowtieFilter
class detects locations in a level 2 swath file from the VIIRS sensor in which certain pixels are deleted because of a bow-tie overlap effect of the successive scan head sweeps.
InverseGridResampler
which now performs the exact same operation as this class.