Package noaa.coastwatch.util


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.

  • Class
    Description
    Deprecated.
    As of 3.3.1, use InverseGridResampler which now performs the exact same operation as this class.
    Deprecated.
    As of 3.3.1, use MixedGridResampler with a location filter of VIIRSBowtieFilter to get the same results.
    An array reduction is an operator that reduces an array to a single value.
    The AtmosphericCorrection 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.
    The BoxSurvey class holds survey information for a rectangle of data values.
    The BucketResamplingMapFactory 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.
    The ConstrainedStrideLocationIterator class iterates over data locations using a constant step stride vector, but uses a java.awt.Shape object to determine if each location is contained within a shape boundary.
    The DataIterator 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.
    The DataLocationConstraints class holds a set of values used to specify the bounds and sparseness of a continguous area of data locations.
    The DataLocationIterator class adds an extra interface method to return the next data location.
    The DataLocationIteratorFactory class creates a DataLocationIterator 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.
    The DataVariableIterator class iterates over the locations of a data variable and returns the data values found.
    The DateFormatter class contains a number of static methods to format dates easily based on timezone and Earth location.
    The DirectGridResampler class performs generic data resampling between 2D Earth transforms using a direct location lookup method.
    The DirectResamplingMapFactory class creates a resampling map by directly querying the source transform for the data location of each earth location in the destination transform.
    The DoubleIterator class adds an extra interface method to return the next double value.
    The EarthArea class represents irregularly shaped areas on a sphere.
    The EarthDataInfo class is a container for global metadata pertaining to a number of DataVariable objects.
    The EarthDataSurvey class is used to perform surveys on DataVariable objects, and is the abstract parent of all surveys.
    An earth location represents a point using latitude and longitude in degrees.
    An EarthLocationSet 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.
    The EarthPartition 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.
    The ExpressionFilter 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.
    The GeoMeanReduction 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.
    The GridDataResamplingMapFactory class creates a resampling map by directly querying grid variables for the source and column mapping.
    The GridResampler class performs generic data resampling between 2D earth transforms.
    The HTMLReportFormatter class formats report data to HTML 3.2.
    The InverseGridResampler 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.
    The LandMask class may be used to retrieve a true or false value for the presence of land at a certain earth location.
    The LastReduction reduces an array to a single last value.
    The 1D line class is a special form of data variable with one dimension.
    The LineIterator class may be used to get the set of (x,y) points required for drawing a line between start and end points.
    The LineLocationIterator class iterates over data locations along a line between start and end locations.
    The LineSurvey class holds survey information for a line of data values from one point to another.
    The LocationEstimator class uses a reference and target earth transform to estimate the data location of a target point given a reference point.
    The LocationFilter 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.
    The MaxReduction reduces an array to a single maximum value.
    The MeanReduction reduces an array to a single mean value.
    The MedianReduction reduces an array to a single median value.
    The MetadataContainer 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.
    The MetadataServices class defines various static methods relating to metadata manipulation.
    The MinReduction reduces an array to a single minimum value.
    The MixedGridResampler class performs generic data resampling between 2D earth transforms using a mix of forward and inverse resampling methods.
    The NavigationOffsetEstimator class uses image and land mask data to estimate the navigation error in a small tile of coastal image data.
    The PointSurvey class holds survey information for a single data location.
    The PolygonSurvey class holds survey information for a polygon of data values.
    The ReportFormatter class is an interface for formatting reports of text data.
    A ResamplingDiagnostic 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.
    A ResamplingMap object holds coordinate mapping data between two 2D coordinate systems: the source and destination.
    A ResamplingMapFactory is an interfaace for objects that create ResamplingMap objects on-demand, based on the coordinates that need to be remapped.
    The ResamplingSourceImp class provides an extra set of query methods about the source transform in a resampling operation.
    The ResettableIterator class has an interface to make iterators go back to the first element again.
    The SatelliteDataInfo class is a special EarthDataInfo 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.
    The StrideLocationIterator class iterates over data locations using a constant step stride vector.
    The SubsetGrid class uses an existing Grid object to provide a subset view of its data.
    The TextReportFormatter class formats report data to raw text.
    The TimePeriod class is a container for a date and length of time.
    The Topology class contains a number of convenience methods for working with coordinates in a topology.
    The UnitFactory class creates Unidata UDUNITS style Unit objects from unit specification strings.
    A univariate estimator approximates the value of a function of one variable using a set of known function values.
    The ValueSource interface may be implemented by any class that provides data values for a set of DataLocation objects.
    The VariableEstimator class provides an approximation of smoothly changing variable data using quadratic polynomials.
    The VariableStatisticsGenerator class creates a Statistics object using a data variable and set of constraints.
    The VIIRSBowtieFilter 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.