numBands = gc2d.getNumSampleDimensions();
writeBand = CoverageUtilities.getVisibleBand(gc.getRenderedImage()); if ((writeBands == null || writeBands.length == 0 || writeBands.length > 1) && (writeBand < 0 || writeBand > gc.getNumSampleDimensions())) throw new IllegalArgumentException( "You need to supply a valid index for deciding which band to write."); final int numBands = gc.getNumSampleDimensions(); if (numBands > 1) { final int visibleBand;
final int numSampleDimensions = source.getNumSampleDimensions(); if (bandIndex < 1 || bandIndex > numSampleDimensions) throw new IllegalArgumentException( assert output.getNumSampleDimensions() == 1; } else
final GridCoverage2D sourceCoverage = (GridCoverage2D) source.getOutput(); GridCoverageRendererUtilities.ensureSourceNotNull(sourceCoverage, "ColorMapNode"); final int numSD = sourceCoverage.getNumSampleDimensions(); if (numSD > 1) {
.create("test", bi, new ReferencedEnvelope(0, 90, 0, 90, nativeCrs)); assertEquals(coverage.getNumSampleDimensions(), 3);
.create("test", bi, new ReferencedEnvelope(0, 90, 0, 90, nativeCrs)); assertEquals(coverage.getNumSampleDimensions(), 3);
final int numSourceBands = source.getNumSampleDimensions(); RenderedImage finalImage = worker.getRenderedImage();
public RasterDataAdapter( final String coverageName, final Map<String, String> metadata, final GridCoverage2D originalGridCoverage) { this( coverageName, metadata, originalGridCoverage, DEFAULT_TILE_SIZE, DEFAULT_BUILD_PYRAMID, DEFAULT_BUILD_HISTOGRAM, new double[originalGridCoverage.getNumSampleDimensions()][], new NoDataMergeStrategy()); }
public RasterDataAdapter( final String coverageName, final Map<String, String> metadata, final GridCoverage2D originalGridCoverage, final int tileSize, final boolean buildPyramid) { this( coverageName, metadata, originalGridCoverage, tileSize, buildPyramid, DEFAULT_BUILD_HISTOGRAM, new double[originalGridCoverage.getNumSampleDimensions()][], new NoDataMergeStrategy()); }
throw new ProcessException("Invalid input, source grid coverage should be not null"); if (band != null && (band < 0 || band >= gc2d.getNumSampleDimensions())) { throw new ProcessException("Invalid input, invalid band number:" + band);
final int numSourceBands = source.getNumSampleDimensions(); final RenderedImage finalImage = intensityWorker.getRenderedImage(); final int numActualBands = finalImage.getSampleModel().getNumBands();
} else if (band < 0 || band >= coverage.getNumSampleDimensions()) { throw new ProcessException("Invalid input, invalid band number:" + band);
public double getElevation(Coordinate coord) { double retVal = noData; double[] gridVals = new double[grid2D.getNumSampleDimensions()]; CoordinateReferenceSystem crs = grid2D.getCoordinateReferenceSystem(); DirectPosition gdPos = new DirectPosition2D(crs, coord.x, coord.y); try { grid2D.evaluate(gdPos, gridVals); retVal = gridVals[0]; } catch (Exception e) { retVal = noData; } return retVal; }
public static void describe(GridCoverage2D gc) { System.out.println("Name = " + gc.getName()); GridGeometry2D gridGeometry2D = gc.getGridGeometry(); AffineTransform gridToWorld = (AffineTransform) gridGeometry2D.getGridToCRS2D(); double cellSizeX = Math.abs(gridToWorld.getScaleX()); double cellSizeY = Math.abs(gridToWorld.getScaleY()); System.out.println("CellSizeX = " + cellSizeX); System.out.println("CellSizeY = " + cellSizeY); PlanarImage image = (PlanarImage) gc.getRenderedImage(); System.out.println("Columns = " + image.getWidth()); System.out.println("Rows = " + image.getHeight()); System.out.println("NumberOfBands = " + gc.getNumSampleDimensions()); System.out.println("Bounds = " + image.getBounds()); System.out.println("PixelType = " + RasterHelper.getTransferType(gc)); System.out.println("NoData = " + RasterHelper.getNoDataValue(gc)); System.out.println("Extent = " + gc.getEnvelope()); CoordinateReferenceSystem crs = gc.getCoordinateReferenceSystem(); if (crs != null) { System.out.println(crs.toWKT()); } else { System.out.println("CoordinateReferenceSystem is null!"); } }
numBands = gc2d.getNumSampleDimensions();
/** * Creates the rgb style. * * @param reader the reader * @param raster the raster * @return the style */ private Style createRGBStyle(AbstractGridCoverage2DReader reader, WritableRaster raster) { RasterSymbolizer sym = sf.getDefaultRasterSymbolizer(); GridCoverage2D cov = null; try { cov = reader.read(null); } catch (IOException giveUp) { throw new RuntimeException(giveUp); } // We need at least three bands to create an RGB style int numBands = cov.getNumSampleDimensions(); if (numBands < 3) { createRGBImageSymbol(sym, cov, raster); } else { createRGBChannelSymbol(sym, cov, numBands); } return SLD.wrapSymbolizers(sym); }
public Geometry getProfile(Geometry userLine, Double distanceTolerance) { Geometry profileLine = userLine; // densify geometry if (distanceTolerance != null && userLine.getLength() > distanceTolerance) { profileLine = Densifier.densify(userLine, distanceTolerance); } // important ! Default PositionFactory = EPSG:4326 Coordinate[] coords = profileLine.getCoordinates(); CoordinateReferenceSystem crs = grid2D.getCoordinateReferenceSystem(); // interpolate points double[] gridVals = new double[grid2D.getNumSampleDimensions()]; for (Coordinate coord : coords) { DirectPosition gdPos = new DirectPosition2D(crs, coord.x, coord.y); try { grid2D.evaluate(gdPos, gridVals); coord.z = gridVals[0]; } catch (Exception e) { coord.z = noData; } } return profileLine; }
public Style getDefaultGridCoverageStyle(GridCoverage2D coverage) { Style rasterStyle = null; int numBands = coverage.getNumSampleDimensions(); if (numBands >= 3) { rasterStyle = createRGBStyle(coverage); } else { Color[] colors = new Color[] { new Color(0, 0, 0, 0), Color.BLUE, Color.CYAN, Color.GREEN, Color.YELLOW, Color.RED }; StatisticsStrategy strategy = new DoubleStrategy(); strategy.setNoData(RasterHelper.getNoDataValue(coverage)); StatisticsVisitor visitor = new StatisticsVisitor(strategy); visitor.visit(coverage, 0); StatisticsVisitorResult ret = visitor.getResult(); String[] descs = new String[] { "No Data", "LL", "LM", "M", "MH", "HH" }; double mean = ret.getMean(); double nodata = Double.parseDouble(ret.getNoData().toString()); double[] values = new double[] { nodata, ret.getMinimum(), (ret.getMinimum() + mean) / 2.0, mean, (ret.getMaximum() + mean) / 2.0, ret.getMaximum() }; StyleBuilder sb = new StyleBuilder(); ColorMap colorMap = sb.createColorMap(descs, values, colors, ColorMap.TYPE_RAMP); rasterStyle = sb.createStyle(sb.createRasterSymbolizer(colorMap, 1.0)); } return rasterStyle; }
PlanarImage outputImage = JAI.create("transpose", parameterBlock); final int numBands = inputCoverage.getNumSampleDimensions();
PlanarImage outputImage = JAI.create("transpose", parameterBlock); final int numBands = inputCoverage.getNumSampleDimensions();