Package org.geotools.gce.geotiff
Class GeoTiffWriteParams
- Object
-
- IIOParam
-
- ImageWriteParam
-
- GeoToolsWriteParams
-
- GeoTiffWriteParams
-
public class GeoTiffWriteParams extends GeoToolsWriteParams
Subclass ofGeoToolsWriteParamsthe allows the user to specify parameters to control the process of writing out a GeoTiff file through standardsImageWriteParam(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])); }- Since:
- 2.3.x
- Author:
- Simone Giannecchini
-
-
Field Summary
-
Fields inherited from class GeoToolsWriteParams
adaptee
-
Fields inherited from class ImageWriteParam
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
-
Fields inherited from class IIOParam
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
-
-
Constructor Summary
Constructors Constructor Description GeoTiffWriteParams()Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TIFFColorConvertergetColorConverter()Returns the currentTIFFColorConverterobject that will be used to perform color conversion when writing the image, ornullif none is set.intgetPhotometricInterpretation()Returns the current value that will be written to thePhotometricinterpretationtag.TIFFCompressorgetTIFFCompressor()Returns theTIFFCompressorthat is currently set to be used by theImageWriterto encode each image strip or tile, ornullif none has been set.booleanisCompressionLossless()booleanisForceToBigTIFF()voidsetColorConverter(TIFFColorConverter colorConverter, int photometricInterpretation)Sets theTIFFColorConverterobject describing the color space to which the input data should be converted for storage in the input stream.voidsetForceToBigTIFF(boolean forceToBigTIFF)voidsetTIFFCompressor(TIFFCompressor compressor)Sets theTIFFCompressorobject to be used by theImageWriterto encode each image strip or tile.voidunsetColorConverter()Removes any currently setColorConverterobject andPhotometricInterpretationtag value.-
Methods inherited from class GeoToolsWriteParams
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
-
Methods inherited from class ImageWriteParam
setTiling
-
-
-
-
Method Detail
-
setForceToBigTIFF
public void setForceToBigTIFF(boolean forceToBigTIFF)
-
isForceToBigTIFF
public boolean isForceToBigTIFF()
-
getColorConverter
public TIFFColorConverter getColorConverter()
Returns the currentTIFFColorConverterobject that will be used to perform color conversion when writing the image, ornullif none is set.- Returns:
- a
TIFFColorConverterobject, ornull. - See Also:
setColorConverter(TIFFColorConverter, int)
-
getPhotometricInterpretation
public int getPhotometricInterpretation()
Returns the current value that will be written to thePhotometricinterpretationtag. This method should only be called if a value has been set using thesetColorConvertermethod.- Returns:
- an
intto be used as the value of thePhotometricInterpretationtag. - Throws:
IllegalStateException- if no value is set.- See Also:
setColorConverter(TIFFColorConverter, int)
-
getTIFFCompressor
public TIFFCompressor getTIFFCompressor()
Returns theTIFFCompressorthat is currently set to be used by theImageWriterto encode each image strip or tile, ornullif none has been set.- Returns:
- compressor the
TIFFCompressorto be used for encoding, ornullif none has been set (allowing the writer to choose its own). - Throws:
IllegalStateException- if the compression mode is notMODE_EXPLICIT.- See Also:
setTIFFCompressor(TIFFCompressor)
-
isCompressionLossless
public boolean isCompressionLossless()
- Overrides:
isCompressionLosslessin classGeoToolsWriteParams
-
setColorConverter
public void setColorConverter(TIFFColorConverter colorConverter, int photometricInterpretation)Sets theTIFFColorConverterobject 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 thePhotometricInterpretationtag is supplied.- Parameters:
colorConverter- aTIFFColorConverterobject, ornull.photometricInterpretation- the value to be written to thePhotometricInterpretationtag in the root IFD.- See Also:
getColorConverter(),getPhotometricInterpretation()
-
setTIFFCompressor
public void setTIFFCompressor(TIFFCompressor compressor)
Sets theTIFFCompressorobject to be used by theImageWriterto encode each image strip or tile. A value ofnullallows 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());
IfcompressionTypeis set to a value different from that supported by theTIFFCompressorthen the compressor object will not be used.If the compression type supported by the supplied
TIFFCompressoris not among those in, then it will be appended to this array after removing any previously appended compression type. IfcompressionTypescompressorisnullthis will also cause any previously appended type to be removed from the array.- Parameters:
compressor- theTIFFCompressorto be used for encoding, ornullto allow the writer to choose its own.- Throws:
IllegalStateException- if the compression mode is notMODE_EXPLICIT.- See Also:
getTIFFCompressor()
-
unsetColorConverter
public void unsetColorConverter()
Removes any currently setColorConverterobject andPhotometricInterpretationtag value.
-
-