public static GridCoverage2D wrapCoverage( GridCoverage2D coverage, GridCoverage2D sourceCoverage, GridSampleDimension[] wrappedDimensions, Map properties, boolean forceWrapping) { if (coverage instanceof GridCoverageWrapper || forceWrapping) { return new GridCoverageWrapper( coverage.getName().toString(), coverage, wrappedDimensions == null ? coverage.getSampleDimensions() : wrappedDimensions, properties == null ? sourceCoverage.getProperties() : properties); } return coverage; }
sampleDimensions = gc.getSampleDimensions();
/** * Test GridCoverage unwrapping * * @throws IOException */ @Test public void testGridCoverageUnwrapping() throws IOException { GridCoverageFactory gcFactory = new GridCoverageFactory(); RenderedImage image = new BufferedImage(1, 1, BufferedImage.TYPE_BYTE_GRAY); GridCoverage2D original = gcFactory.create( "original", image, new GeneralEnvelope(new Rectangle2D.Double(0, 0, 64, 64))); GridSampleDimension[] gsd = new GridSampleDimension[] {new GridSampleDimension("wrappedSampleDimension")}; GridCoverageWrapper wrapper = new GridCoverageWrapper("wrapped", original, gsd, null); assertNotSame(original.getSampleDimensions(), wrapper.getSampleDimensions()); assertNotSame(wrapper, original); assertSame(original, wrapper.unwrap(original.getClass())); } }
Arrays.fill(sds, returnValues.get(0).getSampleDimensions()[0]); return new GridCoverageFactory() .create(
final SampleDimension[] dims = coverage.getSampleDimensions();
final GridSampleDimension[] sd = gc.getSampleDimensions(); for (int i = 0; i < sd.length; i++) { writer.write("<CoverageDimension>\n");
/** * The BandMerge operation takes indexed images and expands them, however in the context of * coverage view band merging we don't normally want that, e.g., raster mask bands are * represented as indexed but we really want to keep them in their binary, single band form. To * do so, the IndexColorModel is replaced by a ComponentColorModel * * @param coverage * @return */ private GridCoverage2D prepareForBandMerge(GridCoverage2D coverage) { RenderedImage ri = coverage.getRenderedImage(); SampleModel sampleModel = ri.getSampleModel(); if (sampleModel.getNumBands() == 1 && ri.getColorModel() instanceof IndexColorModel) { ImageWorker worker = new ImageWorker(ri); worker.removeIndexColorModel(); RenderedImage formatted = worker.getRenderedImage(); return new GridCoverageFactory() .create( coverage.getName(), formatted, coverage.getGridGeometry(), coverage.getSampleDimensions(), new GridCoverage[] {coverage}, coverage.getProperties()); } return coverage; }
final Hints hints, final Map<String, Serializable> inProperties) { GridSampleDimension[] sampleDimensions = source.getSampleDimensions();
final GridSampleDimension[] sampleDimensions = coverage.getSampleDimensions(); final double[] background = new double[sampleDimensions.length];
static GridCoverage2D displace( GridCoverage2D coverage, double tx, double ty, GridCoverageFactory gridCoverageFactory) { // let's compute the new grid geometry GridGeometry2D originalGG = coverage.getGridGeometry(); GridEnvelope gridRange = originalGG.getGridRange(); Envelope2D envelope = originalGG.getEnvelope2D(); double minx = envelope.getMinX() + tx; double miny = envelope.getMinY() + ty; double maxx = envelope.getMaxX() + tx; double maxy = envelope.getMaxY() + ty; ReferencedEnvelope translatedEnvelope = new ReferencedEnvelope( minx, maxx, miny, maxy, envelope.getCoordinateReferenceSystem()); GridGeometry2D translatedGG = new GridGeometry2D(gridRange, translatedEnvelope); GridCoverage2D translatedCoverage = gridCoverageFactory.create( coverage.getName(), coverage.getRenderedImage(), translatedGG, coverage.getSampleDimensions(), new GridCoverage2D[] {coverage}, coverage.getProperties()); return translatedCoverage; }
sd = source.getSampleDimensions(); } else { sd = new GridSampleDimension[numActualBands]; mapCoverage.getRenderedImage(), (GridGeometry2D) source.getGridGeometry(), output.getSampleDimensions(), new GridCoverage[] {output}, props);
final GridSampleDimension[] sampleDimensions = gc2d.getSampleDimensions(); for (GridSampleDimension sd : sampleDimensions) { final SampleDimensionType sdType = sd.getSampleDimensionType();
continue; list[i] = sources[i].getSampleDimensions();
continue; list[i] = sources[i].getSampleDimensions();
for (GridSampleDimension sd : gc2d.getSampleDimensions()) {
finalImage, (GridGeometry2D) source.getGridGeometry(), source.getSampleDimensions(), new GridCoverage[] {source}, props);
? null : sourceCoverage .getSampleDimensions()
final GridCoverage2D visual = source; final RenderedImage image = visual.getRenderedImage(); final GridSampleDimension[] bands = visual.getSampleDimensions(); final int visibleBand = CoverageUtilities.getVisibleBand(image); ColorModel model = image.getColorModel();
primarySource.getSampleDimensions(), data), // The sample dimensions
RenderedImage sourceImage; while (true) { sourceBands = source.getSampleDimensions(); targetBands = sourceBands;