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]));
}
adapteecanOffsetTiles, 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, tilingSetcontroller, 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, unsetTilingsetTilingpublic 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 GeoToolsWriteParamspublic 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.