Class AbstractGridFormat
- Object
-
- AbstractGridFormat
-
- All Implemented Interfaces:
Format
- Direct Known Subclasses:
ArcGridFormat
,BaseGDALGridFormat
,GeoPackageFormat
,GeoTiffFormat
,GrassCoverageFormat
,ImageMosaicFormat
,ImagePyramidFormat
,JP2KFormat
,MBTilesFormat
,NetCDFFormat
,PGRasterFormat
,TPKFormat
,UnknownFormat
,WorldImageFormat
public abstract class AbstractGridFormat extends Object implements Format
AbstractGridFormat is a convenience class so subclasses only need to populate a Map class and set the read and write parameter fields.For example the ArcGridFormat has the following method which sets up all the required information:
private void setInfo(){ HashMap info=new HashMap(); info.put("name", "ArcGrid"); info.put("description", "Arc Grid Coverage Format"); info.put("vendor", "Geotools"); info.put("docURL", "http://gdal.velocet.ca/projects/aigrid/index.html"); info.put("version", "1.0"); mInfo=info; readParameters=new GeneralParameterDescriptor[2]; readParameters[0]=ArcGridOperationParameter.getGRASSReadParam(); readParameters[0]=ArcGridOperationParameter.getCompressReadParam(); writeParameters=new GeneralParameterDescriptor[2]; writeParameters[0]=ArcGridOperationParameter.getGRASSWriteParam(); writeParameters[0]=ArcGridOperationParameter.getCompressWriteParam(); }
- Author:
- jeichar, Simone Giannecchini, GeoSolutions
-
-
Field Summary
Fields Modifier and Type Field Description static ParameterDescriptor<Color>
BACKGROUND_COLOR
Control the background color to be used where the input was transparentstatic DefaultParameterDescriptor<int[]>
BANDS
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#read(GeneralParameterValue[])
method to specify the band indices of the input grid coverage that are going to be in the resulting coverage.static ParameterDescriptor<DecimationPolicy>
DECIMATION_POLICY
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#read(GeneralParameterValue[])
method in order to specify the policy a reader should adopt when setting read parameters when evaluating a needed resolution.static ParameterDescriptor<List>
ELEVATION
Optional Elevation value for this mosaic.static ParameterDescriptor<String>
FOOTPRINT_BEHAVIOR
Control the footprint management.static DefaultParameterDescriptor<GeoToolsWriteParams>
GEOTOOLS_WRITE_PARAMS
ThisGeneralParameterValue
can be provided to theGridCoverageWriter
s through theGridCoverageWriter#write(org.geotools.api.coverage.grid.GridCoverage, GeneralParameterValue[])
method in order to control the writing process in terms of compression, tiling, etc.GridGeometry2Dstatic ParameterDescriptor<Color>
INPUT_TRANSPARENT_COLOR
Control the transparency of the input coverages.static ParameterDescriptor<Interpolation>
INTERPOLATION
Control the interpolation to be used in the eventual image processing done while reading dataprotected Map<String,String>
mInfo
The Map object is used by the information methods(such as getName()) as a data source.static DefaultParameterDescriptor<OverviewPolicy>
OVERVIEW_POLICY
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#read(GeneralParameterValue[])
method in order to specify the policy a reader should adopt when choosing the right overview during a read operation.static DefaultParameterDescriptor<ProgressListener>
PROGRESS_LISTENER
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#write(GeneralParameterValue[])
method in order to monitor a writing processstatic DefaultParameterDescriptor<GridGeometry2D>
READ_GRIDGEOMETRY2D
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#read(GeneralParameterValue[])
method in order to pick up the best matching resolution level and (soon) the best matching area.protected ParameterValueGroup
readParameters
ParameterValueGroup
that controls the reading process for aGridCoverageReader
through theGridCoverageReader.read(org.geotools.api.parameter.GeneralParameterValue[])
method.static DefaultParameterDescriptor<Boolean>
RESCALE_PIXELS
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader.read(GeneralParameterValue[])
method in order to specify the whether eventual value rescaling should be performed, or the original pixel value preservedstatic DefaultParameterDescriptor<String>
SUGGESTED_TILE_SIZE
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#read(GeneralParameterValue[])
method in order to specify the suggested size of tiles to avoid long time reading occurring with JAI ImageRead on striped images.static String
TILE_SIZE_SEPARATOR
static ParameterDescriptor<List>
TIME
Optional Time value for this mosaic.static DefaultParameterDescriptor<Boolean>
USE_JAI_IMAGEREAD
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader.read(GeneralParameterValue[])
method in order to specify the type of image read operation requested: using a JAI ImageRead operation (leveraging on Deferred Execution Model, Tile Caching,...), or the directImageReader
's read methods.protected ParameterValueGroup
writeParameters
ParameterValueGroup
that controls the writing process for aGridCoverageWriter
through theGridCoverageWriter.write(org.geotools.api.coverage.grid.GridCoverage, org.geotools.api.parameter.GeneralParameterValue[])
method.
-
Constructor Summary
Constructors Constructor Description AbstractGridFormat()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
accepts(Object source)
Tells me if thisFormat
can read the providedinput
.abstract boolean
accepts(Object source, Hints hints)
Tells me if thisFormat
can read the providedinput
.boolean
equals(Format f)
static CoordinateReferenceSystem
getDefaultCRS()
getDefaultCRSabstract GeoToolsWriteParams
getDefaultImageIOWriteParameters()
Returns an instance ofImageWriteParam
that can be used to control a subsequentGridCoverageWriter.write(org.geotools.api.coverage.grid.GridCoverage, org.geotools.api.parameter.GeneralParameterValue[])
;String
getDescription()
Description of the file format.String
getDocURL()
Documentation URL for the format.String
getName()
Name of the file format.abstract AbstractGridCoverage2DReader
getReader(Object source)
Gets aGridCoverageReader
for this format able to create coverages out of thesource
object.abstract AbstractGridCoverage2DReader
getReader(Object source, Hints hints)
Gets aGridCoverageReader
for this format able to create coverages out of thesource
object using the providedhints
.ParameterValueGroup
getReadParameters()
Retrieve the parameter information for aread
operation.String
getVendor()
Vendor or agency for the format.String
getVersion()
Version number of the format.ParameterValueGroup
getWriteParameters()
Retrieve the parameter information for awrite
operation.abstract GridCoverageWriter
getWriter(Object destination)
Retrieves aGridCoverageWriter
suitable for writing to the provideddestination
with this format.abstract GridCoverageWriter
getWriter(Object destination, Hints hints)
Call the accepts() method before asking for a writer to determine if the current object is supported.
-
-
-
Field Detail
-
mInfo
protected Map<String,String> mInfo
The Map object is used by the information methods(such as getName()) as a data source. The keys in the Map object (for the associated method) are as follows: getName() key = "name" value type=String getDescription() key = "description" value type=String getVendor() key = "vendor" value type=String getDocURL() key = "docURL" value type=String getVersion() key = "version" value type=String Naturally, any methods that are overridden need not have an entry in the Map
-
readParameters
protected ParameterValueGroup readParameters
ParameterValueGroup
that controls the reading process for aGridCoverageReader
through theGridCoverageReader.read(org.geotools.api.parameter.GeneralParameterValue[])
method.
-
writeParameters
protected ParameterValueGroup writeParameters
ParameterValueGroup
that controls the writing process for aGridCoverageWriter
through theGridCoverageWriter.write(org.geotools.api.coverage.grid.GridCoverage, org.geotools.api.parameter.GeneralParameterValue[])
method.
-
READ_GRIDGEOMETRY2D
public static final DefaultParameterDescriptor<GridGeometry2D> READ_GRIDGEOMETRY2D
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#read(GeneralParameterValue[])
method in order to pick up the best matching resolution level and (soon) the best matching area.
-
PROGRESS_LISTENER
public static final DefaultParameterDescriptor<ProgressListener> PROGRESS_LISTENER
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#write(GeneralParameterValue[])
method in order to monitor a writing process
-
GEOTOOLS_WRITE_PARAMS
public static final DefaultParameterDescriptor<GeoToolsWriteParams> GEOTOOLS_WRITE_PARAMS
ThisGeneralParameterValue
can be provided to theGridCoverageWriter
s through theGridCoverageWriter#write(org.geotools.api.coverage.grid.GridCoverage, GeneralParameterValue[])
method in order to control the writing process in terms of compression, tiling, etc.GridGeometry2D
-
USE_JAI_IMAGEREAD
public static final DefaultParameterDescriptor<Boolean> USE_JAI_IMAGEREAD
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader.read(GeneralParameterValue[])
method in order to specify the type of image read operation requested: using a JAI ImageRead operation (leveraging on Deferred Execution Model, Tile Caching,...), or the directImageReader
's read methods.
-
OVERVIEW_POLICY
public static final DefaultParameterDescriptor<OverviewPolicy> OVERVIEW_POLICY
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#read(GeneralParameterValue[])
method in order to specify the policy a reader should adopt when choosing the right overview during a read operation.
-
DECIMATION_POLICY
public static final ParameterDescriptor<DecimationPolicy> DECIMATION_POLICY
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#read(GeneralParameterValue[])
method in order to specify the policy a reader should adopt when setting read parameters when evaluating a needed resolution.
-
SUGGESTED_TILE_SIZE
public static final DefaultParameterDescriptor<String> SUGGESTED_TILE_SIZE
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#read(GeneralParameterValue[])
method in order to specify the suggested size of tiles to avoid long time reading occurring with JAI ImageRead on striped images. (Images with tiles Nx1) Value should be a String in the form of "W,H" (without quotes) where W is a number representing the suggested tileWidth and H is a number representing the suggested tileHeight.
-
BANDS
public static final DefaultParameterDescriptor<int[]> BANDS
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader#read(GeneralParameterValue[])
method to specify the band indices of the input grid coverage that are going to be in the resulting coverage. The order of the bands on the output coverage is the order of the indices in the parameter. Value should be an integer array (int[]) containing the band indices in the desired order. Duplicate or multiple appearances of the same band index are allowed.
-
TILE_SIZE_SEPARATOR
public static final String TILE_SIZE_SEPARATOR
- See Also:
- Constant Field Values
-
INPUT_TRANSPARENT_COLOR
public static final ParameterDescriptor<Color> INPUT_TRANSPARENT_COLOR
Control the transparency of the input coverages.
-
BACKGROUND_COLOR
public static final ParameterDescriptor<Color> BACKGROUND_COLOR
Control the background color to be used where the input was transparent
-
TIME
public static final ParameterDescriptor<List> TIME
Optional Time value for this mosaic.
-
ELEVATION
public static final ParameterDescriptor<List> ELEVATION
Optional Elevation value for this mosaic.
-
INTERPOLATION
public static final ParameterDescriptor<Interpolation> INTERPOLATION
Control the interpolation to be used in the eventual image processing done while reading data
-
FOOTPRINT_BEHAVIOR
public static final ParameterDescriptor<String> FOOTPRINT_BEHAVIOR
Control the footprint management.
-
RESCALE_PIXELS
public static final DefaultParameterDescriptor<Boolean> RESCALE_PIXELS
ThisGeneralParameterValue
can be provided to theGridCoverageReader
s through theGridCoverageReader.read(GeneralParameterValue[])
method in order to specify the whether eventual value rescaling should be performed, or the original pixel value preserved
-
-
Method Detail
-
getName
public String getName()
Description copied from interface:Format
Name of the file format.- Specified by:
getName
in interfaceFormat
- See Also:
Format.getName()
-
getDescription
public String getDescription()
Description copied from interface:Format
Description of the file format. If no description, the value will benull
.- Specified by:
getDescription
in interfaceFormat
- See Also:
Format.getDescription()
-
getVendor
public String getVendor()
Description copied from interface:Format
Vendor or agency for the format.- Specified by:
getVendor
in interfaceFormat
- See Also:
Format.getVendor()
-
getDocURL
public String getDocURL()
Description copied from interface:Format
Documentation URL for the format.- Specified by:
getDocURL
in interfaceFormat
- See Also:
Format.getDocURL()
-
getVersion
public String getVersion()
Description copied from interface:Format
Version number of the format.- Specified by:
getVersion
in interfaceFormat
- See Also:
Format.getVersion()
-
getReader
public abstract AbstractGridCoverage2DReader getReader(Object source)
Gets aGridCoverageReader
for this format able to create coverages out of thesource
object.In case this
Format
cannot reader the providedsource
objectnull
is returned.- Parameters:
source
- The source object to parse.- Returns:
- A reader for this
Format
or null.
-
getReader
public abstract AbstractGridCoverage2DReader getReader(Object source, Hints hints)
Gets aGridCoverageReader
for this format able to create coverages out of thesource
object using the providedhints
.In case this
Format
cannot reader the providedsource
objectnull
is returned.
-
getWriter
public abstract GridCoverageWriter getWriter(Object destination)
Retrieves aGridCoverageWriter
suitable for writing to the provideddestination
with this format.In case no writers are available
null
is returned.- Parameters:
destination
- The destinatin where to write.- Returns:
- A
GridCoverageWriter
suitable for writing to the provideddestination
with this format.
-
accepts
public boolean accepts(Object source)
Tells me if thisFormat
can read the providedinput
.- Parameters:
source
- The input object to test for suitability.- Returns:
- True if this format can read this object, False otherwise.
-
accepts
public abstract boolean accepts(Object source, Hints hints)
Tells me if thisFormat
can read the providedinput
.- Parameters:
source
- The input object to test for suitability.hints
-Hints
to control the accepts internal machinery.- Returns:
- True if this format can read this object, False otherwise.
-
equals
public boolean equals(Format f)
- See Also:
org.geotools.data.coverage.grid.Format#equals(org.geotools.data.coverage.grid.Format)
-
getReadParameters
public ParameterValueGroup getReadParameters()
Description copied from interface:Format
Retrieve the parameter information for aread
operation.- Specified by:
getReadParameters
in interfaceFormat
-
getWriteParameters
public ParameterValueGroup getWriteParameters()
Description copied from interface:Format
Retrieve the parameter information for awrite
operation.- Specified by:
getWriteParameters
in interfaceFormat
-
getDefaultCRS
public static CoordinateReferenceSystem getDefaultCRS()
getDefaultCRSThis method provides the user with a default crs WGS84
-
getDefaultImageIOWriteParameters
public abstract GeoToolsWriteParams getDefaultImageIOWriteParameters()
Returns an instance ofImageWriteParam
that can be used to control a subsequentGridCoverageWriter.write(org.geotools.api.coverage.grid.GridCoverage, org.geotools.api.parameter.GeneralParameterValue[])
;Be careful with using the
ImageWriteParam
since their usage is still experimental.- Returns:
- an instance of
ImageWriteParam
.
-
getWriter
public abstract GridCoverageWriter getWriter(Object destination, Hints hints)
Call the accepts() method before asking for a writer to determine if the current object is supported.- Parameters:
destination
- the destination object to write a WorldImage tohints
-Hints
to control the internal machinery.- Returns:
- a new WorldImageWriter for the destination
-
-