public GeoTiffWriterHelper(GridCoverage2D coverage) throws IOException { this.coverage = coverage; // did we get lucky and all we need to do is to copy the original file file over? if (isUnprocessed(coverage)) { this.sourceFile = getSourceFile(coverage); } // setup default writing params, respect by default the original tiling structure // for optimal extraction performance this.imageIoWriteParams = buildWriteParams(coverage); this.geotoolsWriteParams = buildGeoToolsWriteParams(imageIoWriteParams); }
public void encode( GridCoverage2D sourceCoverage, String outputFormat, Map<String, String> econdingParameters, OutputStream output) throws IOException { Utilities.ensureNonNull("sourceCoverage", sourceCoverage); Utilities.ensureNonNull("econdingParameters", econdingParameters); GeoTiffWriterHelper writerHelper = new GeoTiffWriterHelper(sourceCoverage); // compression handleCompression(econdingParameters, writerHelper); // tiling handleTiling(econdingParameters, sourceCoverage, writerHelper); // interleaving handleInterleaving(econdingParameters, sourceCoverage, writerHelper); if (geoserver.getService(WCSInfo.class).isLatLon()) { final ParameterValueGroup gp = writerHelper.getGeotoolsWriteParams(); gp.parameter(GeoTiffFormat.RETAIN_AXES_ORDER.getName().toString()).setValue(true); } try { writerHelper.write(output); } finally { sourceCoverage.dispose(false); } }
GeoTiffWriteParams wp = helper.getImageIoWriteParams(); helper.disableSourceCopyOptimization(); wp.setTilingMode(GeoToolsWriteParams.MODE_EXPLICIT); wp.setTiling(tileDimensions.width, tileDimensions.height);
@Override public void encode(Object value, Map<String, Object> encodingParameters, OutputStream os) throws Exception { GridCoverage2D coverage = (GridCoverage2D) value; GeoTiffWriterHelper helper = new GeoTiffWriterHelper(coverage); setEncodingParams(helper, encodingParameters); try { helper.write(os); } catch (IOException e) { throw new ProcessException(e); } }
GeoTiffWriteParams writeParams = helper.getImageIoWriteParams(); if (writeParams != null) { ParameterValueGroup geotoolsWriteParams = helper.getGeotoolsWriteParams(); if (geotoolsWriteParams != null && encodingParameters.containsKey(WRITENODATA_KEY)) { geotoolsWriteParams
GeoTiffWriteParams wp = helper.getImageIoWriteParams(); helper.disableSourceCopyOptimization();