public class GeoTiffWriteParams extends GeoToolsWriteParams
GeoToolsWriteParams
the allows the user to specify parameters to control the
process of writing out a GeoTiff file through standards ImageWriteParam
(with possible
extensions).
This class allows the user to control the output tile size for the GeoTiff file we are going to create as well as the possible compression.
An example of usage of this parameters is as follows:
//getting a format
final GeoTiffFormat format = new GeoTiffFormat();
//getting the write parameters
final GeoTiffWriteParams wp = new GeoTiffWriteParams();
//setting compression to LZW
wp.setCompressionMode(GeoTiffWriteParams.MODE_EXPLICIT);
wp.setCompressionType("LZW");
wp.setCompressionQuality(0.75F);
//setting the tile size to 256X256
wp.setTilingMode(GeoToolsWriteParams.MODE_EXPLICIT);
wp.setTiling(256, 256);
//setting the write parameters for this geotiff
final ParameterValueGroup params = format.getWriteParameters();
params.parameter(
AbstractGridFormat.GEOTOOLS_WRITE_PARAMS.getName().toString())
.setValue(wp);
//get a reader to the input File
GridCoverageReader reader = new GeoTiffReader(inFile, null);
GridCoverageWriter writer = null;
GridCoverage2D gc = null;
if (reader != null) {
// reading the coverage
gc = (GridCoverage2D) reader.read(null);
if (gc != null) {
final File writeFile = new File(new StringBuffer(writedir
.getAbsolutePath()).append(File.separatorChar)
.append(gc.getName().toString()).append(".tiff")
.toString());
writer = format.getWriter(writeFile);
writer.write(gc, (GeneralParameterValue[]) params.values()
.toArray(new GeneralParameterValue[1]));
}
adaptee
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, compressionMode, compressionQuality, compressionType, compressionTypes, locale, MODE_COPY_FROM_METADATA, MODE_DEFAULT, MODE_DISABLED, MODE_EXPLICIT, preferredTileSizes, progressiveMode, tileGridXOffset, tileGridYOffset, tileHeight, tileWidth, tilingMode, tilingSet
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
Constructor and Description |
---|
GeoTiffWriteParams()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
TIFFColorConverter |
getColorConverter()
Returns the current
TIFFColorConverter object that will be used to perform color
conversion when writing the image, or null if none is set. |
int |
getPhotometricInterpretation()
Returns the current value that will be written to the
Photometricinterpretation
tag. |
TIFFCompressor |
getTIFFCompressor()
Returns the
TIFFCompressor that is currently set to be used by the
ImageWriter to encode each image strip or tile, or null if none has been
set. |
boolean |
isCompressionLossless() |
boolean |
isForceToBigTIFF() |
void |
setColorConverter(TIFFColorConverter colorConverter,
int photometricInterpretation)
Sets the
TIFFColorConverter object describing the color space to which the input
data should be converted for storage in the input stream. |
void |
setForceToBigTIFF(boolean forceToBigTIFF) |
void |
setTIFFCompressor(TIFFCompressor compressor)
Sets the
TIFFCompressor object to be used by the ImageWriter to
encode each image strip or tile. |
void |
unsetColorConverter()
Removes any currently set
ColorConverter object and
PhotometricInterpretation tag value. |
activateController, canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, getAdaptee, getBitRate, getCompressionMode, getCompressionQuality, getCompressionQualityDescriptions, getCompressionQualityValues, getCompressionType, getCompressionTypes, getController, getDefaultController, getDestinationOffset, getDestinationType, getLocale, getLocalizedCompressionTypeName, getPreferredTileSizes, getProgressiveMode, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getTilingMode, hasController, setCompressionMode, setCompressionQuality, setCompressionType, setController, setDestinationOffset, setDestinationType, setProgressiveMode, setSourceBands, setSourceRegion, setSourceSubsampling, setTiling, setTilingMode, unsetCompression, unsetTiling
setTiling
public void setForceToBigTIFF(boolean forceToBigTIFF)
public boolean isForceToBigTIFF()
public TIFFColorConverter getColorConverter()
TIFFColorConverter
object that will be used to perform color
conversion when writing the image, or null
if none is set.TIFFColorConverter
object, or null
.setColorConverter(TIFFColorConverter, int)
public int getPhotometricInterpretation()
Photometricinterpretation
tag. This method should only be called if a value has been set using the
setColorConverter
method.int
to be used as the value of the PhotometricInterpretation
tag.IllegalStateException
- if no value is set.setColorConverter(TIFFColorConverter, int)
public TIFFCompressor getTIFFCompressor()
TIFFCompressor
that is currently set to be used by the
ImageWriter
to encode each image strip or tile, or null
if none has been
set.TIFFCompressor
to be used for encoding, or null
if none has been set (allowing the writer to choose its own).IllegalStateException
- if the compression mode is not MODE_EXPLICIT
.setTIFFCompressor(TIFFCompressor)
public boolean isCompressionLossless()
isCompressionLossless
in class GeoToolsWriteParams
public void setColorConverter(TIFFColorConverter colorConverter, int photometricInterpretation)
TIFFColorConverter
object describing the color space to which the input
data should be converted for storage in the input stream. In addition, the value to be
written to the PhotometricInterpretation
tag is supplied.colorConverter
- a TIFFColorConverter
object, or null
.photometricInterpretation
- the value to be written to the
PhotometricInterpretation
tag in the root IFD.getColorConverter()
,
getPhotometricInterpretation()
public void setTIFFCompressor(TIFFCompressor compressor)
TIFFCompressor
object to be used by the ImageWriter
to
encode each image strip or tile. A value of null
allows the writer to choose its
own TIFFCompressor.
Note that invoking this method is not sufficient to set the compression type:
must be invoked
explicitly for this purpose. The following code illustrates the correct procedure:
setCompressionType()
TIFFImageWriteParam writeParam; TIFFCompressor compressor; writeParam.setCompressionMode(writeParam.MODE_EXPLICIT); writeParam.setTIFFCompressor(compressor); writeParam.setCompressionType(compressor.getCompressionType());If
compressionType
is set to a value different from that supported by the
TIFFCompressor
then the compressor object will not be used.
If the compression type supported by the supplied TIFFCompressor
is not among
those in
, then it will
be appended to this array after removing any previously appended compression type. If compressionTypes
compressor
is null
this will also cause any previously appended type to
be removed from the array.
compressor
- the TIFFCompressor
to be used for encoding, or null
to allow the writer to choose its own.IllegalStateException
- if the compression mode is not MODE_EXPLICIT
.getTIFFCompressor()
public void unsetColorConverter()
ColorConverter
object and
PhotometricInterpretation
tag value.Copyright © 1996–2019 Geotools. All rights reserved.