Interface GridCoverage2DReader

    • Field Detail

      • TIME_DOMAIN

        static final String TIME_DOMAIN
        The time domain (comma separated list of values)
        See Also:
        Constant Field Values
      • TIME_DOMAIN_RESOLUTION

        static final String TIME_DOMAIN_RESOLUTION
        Time domain resolution (when using min/max/resolution)
        See Also:
        Constant Field Values
      • HAS_TIME_DOMAIN

        static final String HAS_TIME_DOMAIN
        If the time domain is available (or if a min/max/resolution approach has been chosen)
        See Also:
        Constant Field Values
      • TIME_DOMAIN_MAXIMUM

        static final String TIME_DOMAIN_MAXIMUM
        The time domain max value
        See Also:
        Constant Field Values
      • TIME_DOMAIN_MINIMUM

        static final String TIME_DOMAIN_MINIMUM
        The time domain min value
        See Also:
        Constant Field Values
      • HAS_ELEVATION_DOMAIN

        static final String HAS_ELEVATION_DOMAIN
        Whether the elevation is expressed as a full domain or min/max/resolution (true if domain list available)
        See Also:
        Constant Field Values
      • ELEVATION_DOMAIN

        static final String ELEVATION_DOMAIN
        Elevation domain (comma separated list of values)
        See Also:
        Constant Field Values
      • ELEVATION_DOMAIN_MAXIMUM

        static final String ELEVATION_DOMAIN_MAXIMUM
        Elevation domain maximum value
        See Also:
        Constant Field Values
      • ELEVATION_DOMAIN_MINIMUM

        static final String ELEVATION_DOMAIN_MINIMUM
        Elevation domain minimum value
        See Also:
        Constant Field Values
      • ELEVATION_DOMAIN_RESOLUTION

        static final String ELEVATION_DOMAIN_RESOLUTION
        Elevation domain resolution
        See Also:
        Constant Field Values
      • FILE_SOURCE_PROPERTY

        static final String FILE_SOURCE_PROPERTY
        If a coverage has this property is means it been read straight out of a file without any sub-setting, it means the coverage represents the full contents of the file. This can be used for different types of optimizations, such as avoiding reading and re-encoding the original file when the original file would do.
        See Also:
        Constant Field Values
      • SOURCE_URL_PROPERTY

        static final String SOURCE_URL_PROPERTY
        Name of a GridCoverage2D property that is a URL for the original source of the coverage. This URL might be used to obtain further information on the coverage that is not otherwise available through the GridCoverage2D API.
        See Also:
        Constant Field Values
      • REPROJECTING_READER

        static final String REPROJECTING_READER
        This property is present, and evaluates to "true", if the reader can do reprojection on its own (that is, it is not backed by actual data, but by a remote service that can perform reprojection for us).
        See Also:
        Constant Field Values
      • MULTICRS_READER

        static final String MULTICRS_READER
        This property is present, and evaluates to "true", if the reader internally has multiple CRS elements, even if it advertises a single CRS in output (e.g., it won't perform a general reprojection for us, but generate and output in its declared CRS)
        See Also:
        Constant Field Values
      • MULTICRS_EPSGCODES

        static final String MULTICRS_EPSGCODES
        When the above MULTICRS_READER property is present and evaluates to "true", this property may contain the list of internal EPSG Codes of the multiple CRS, if the reader implements it.
        See Also:
        Constant Field Values
      • PAM_DATASET

        static final String PAM_DATASET
        The name of the property containing the eventual GDAL PAMDataset for the coverage at hand.
        See Also:
        Constant Field Values
    • Method Detail

      • getOriginalEnvelope

        GeneralBounds getOriginalEnvelope()
        Return the original GeneralBounds for the default coverage served by the underlying store.
        Returns:
        the original GeneralBounds for the default coverage served by the underlying store.
      • getOriginalEnvelope

        GeneralBounds getOriginalEnvelope​(String coverageName)
        Return the original GeneralBounds for the specified coverageName.
        Parameters:
        coverageName - the name of the coverage to work on.
        Returns:
        the original GeneralBounds for the specified coverageName.
        Throws:
        NullPointerException - if the specified coverageName is null
        IllegalArgumentException - if the specified coverageName does not exist
      • getOriginalGridRange

        GridEnvelope getOriginalGridRange​(String coverageName)
        Retrieves the GridEnvelope associated to the specified coverageName for this GridCoverage2DReader.

        The GridEnvelope describes the raster area (in pixels) covered by the coverage.

        Parameters:
        coverageName - the name of the coverage to work with
        Returns:
        the GridEnvelope mapped to the specified coverageName
        Throws:
        NullPointerException - if the specified coverageName is null
        IllegalArgumentException - if the specified coverageName does not exist
      • getOriginalGridToWorld

        MathTransform getOriginalGridToWorld​(String coverageName,
                                             PixelInCell pixInCell)
        Retrieves the MathTransform associated to the requested coverageName for this GridCoverage2DReader.
        Parameters:
        coverageName - the name of the coverage to work with
        Returns:
        the MathTransform mapped to the specified coverageName
        Throws:
        NullPointerException - if the specified coverageName is null
        IllegalArgumentException - if the specified coverageName does not exist
      • read

        GridCoverage2D read​(String coverageName,
                            GeneralParameterValue[] parameters)
                     throws IOException
        Retrieves the GridEnvelope associated to the specified coverageName for this GridCoverage2DReader.
        Specified by:
        read in interface GridCoverageReader
        Parameters:
        coverageName - the name of the coverage to work with
        parameters - an array of GeneralParameterValue that uses a subset of the available read params for this GridCoverage2DReader as specified by the Format
        Returns:
        a GridCoverage2D for the underlying default coverage for this GridCoverage2DReader or null in case no GridCoverage2D can be read for the provided parameters.
        Throws:
        NullPointerException - if the specified coverageName is null
        IllegalArgumentException - if the specified coverageName does not exist
        IOException - if a read operation failed for some other input/output reason, including FileNotFoundException if no file with the given name can be found, or IIOException if an error was thrown by the underlying image library.
      • getDynamicParameters

        Set<ParameterDescriptor<List>> getDynamicParameters()
                                                     throws IOException
        Return the Set of dynamic read parameters supported by this GridCoverage2DReader for the default coverage.
        Returns:
        the Set of dynamic read parameters supported by this GridCoverage2DReader.
        Throws:
        IOException - in case an error occurs while creating the Set of dynamic parameters.
      • getDynamicParameters

        Set<ParameterDescriptor<List>> getDynamicParameters​(String coverageName)
                                                     throws IOException
        Return the Set of dynamic read parameters supported by this GridCoverage2DReader for the specified coverage.
        Parameters:
        coverageName - the name of the coverage to work with
        Returns:
        the Set of dynamic read parameters supported by this GridCoverage2DReader.
        Throws:
        IOException - in case an error occurs while creating the Set of dynamic parameters.
        NullPointerException - if the specified coverageName is null
        IllegalArgumentException - if the specified coverageName does not exist
      • getReadingResolutions

        double[] getReadingResolutions​(OverviewPolicy policy,
                                       double[] requestedResolution)
                                throws IOException
        Return the resolution of the overview which would be picked out for the provided requested resolution using the provided OverviewPolicy. This method works on the default coverage for this GridCoverage2DReader.
        Parameters:
        policy - the OverviewPolicy to use during evaluation.
        requestedResolution - the requested resolution
        Returns:
        an array of 2 double with the resolution of the selected overview.
        Throws:
        IOException - in case an error occurs.
      • getReadingResolutions

        double[] getReadingResolutions​(String coverageName,
                                       OverviewPolicy policy,
                                       double[] requestedResolution)
                                throws IOException
        Return the resolution of the overview which would be picked out for the provided requested resolution using the provided OverviewPolicy. This method works on the specified coverage for this GridCoverage2DReader.
        Parameters:
        coverageName - the name of the coverage to work on.
        policy - the OverviewPolicy to use during evaluation.
        requestedResolution - the requested resolution
        Returns:
        an array of 2 double with the resolution of the selected overview.
        Throws:
        IOException - in case an error occurs.
        NullPointerException - if the specified coverageName is null
        IllegalArgumentException - if the specified coverageName does not exist
      • getDatasetLayout

        DatasetLayout getDatasetLayout()
        Returns the DatasetLayout for the coverage.
        Returns:
        a DatasetLayout object containing info about Overview number and Image masks.
      • getDatasetLayout

        DatasetLayout getDatasetLayout​(String coverageName)
        Returns the DatasetLayout for the specified coverage.
        Parameters:
        coverageName - the name of the coverage for which we do want to get the DatasetLayout
        Returns:
        a DatasetLayout object containing info about Overview number and Image masks.
      • getImageLayout

        ImageLayout getImageLayout()
                            throws IOException
        Retrieve the ImageLayout for the default coverage.

        Throw an IllegalArgumentException in case the name is wrong and/or no such a coverage exists.

        Returns:
        an ImageLayout that is useful for actually knowing the ColorModel, the SampleModel as well as the tile grid for the default coverage.
        Throws:
        IOException
      • getImageLayout

        ImageLayout getImageLayout​(String coverageName)
                            throws IOException
        Retrieve the ImageLayout for the specified coverage.

        Throw an IllegalArgumentException in case the name is wrong and/or no such a coverage exists.

        Parameters:
        coverageName - the name of the coverage for which we want to know the GridEnvelope.
        Returns:
        an ImageLayout that is useful for actually knowing the ColorModel, the SampleModel as well as the tile grid for a certain coverage.
        Throws:
        NullPointerException - if the specified coverageName is null
        IllegalArgumentException - if the specified coverageName does not exist
        IOException
      • getResolutionLevels

        double[][] getResolutionLevels()
                                throws IOException
        Retrieve the resolution levels for the default coverage.

        Throw an IllegalArgumentException in case the name is wrong and/or no such a coverage exists.

        Returns:
        the resolution levels for the default coverage.
        Throws:
        NullPointerException - if the specified coverageName is null
        IllegalArgumentException - if the specified coverageName does not exist
        IOException
      • getResolutionLevels

        double[][] getResolutionLevels​(String coverageName)
                                throws IOException
        Retrieve the resolution levels for the specified coverage.

        Throw an IllegalArgumentException in case the name is wrong and/or no such a coverage exists.

        Parameters:
        coverageName - the name of the coverage for which we want to know the resolution levels.
        Returns:
        the resolution levels for the specified coverage.
        Throws:
        NullPointerException - if the specified coverageName is null
        IllegalArgumentException - if the specified coverageName does not exist
        IOException
      • getInfo

        ServiceInfo getInfo()
        Information about the store.
        Returns:
        ServiceInfo describing the whole store.
      • getInfo

        ResourceInfo getInfo​(String coverageName)
        Information about a specific resource.
        Returns:
        ResourceInfo describing a specific coverage.