/** {inheritDoc} */ @Override public void show(String title, final int xAxis, final int yAxis) { if (title == null || (title = title.trim()).length() == 0) { final StringBuilder buffer = new StringBuilder(String.valueOf(getName())); final int visibleBandIndex = CoverageUtilities.getVisibleBand(this); final SampleDimension visibleBand = getSampleDimension(visibleBandIndex); final Unit<?> unit = visibleBand.getUnits(); buffer.append(" - ").append(String.valueOf(visibleBand.getDescription())); if (unit != null) { buffer.append(" (").append(unit).append(')'); } title = buffer.toString(); } super.show(title, xAxis, yAxis); }
sd = new GridSampleDimension[numActualBands]; for (int i = 0; i < numActualBands; i++) sd[i] = (GridSampleDimension) source.getSampleDimension(0);
static double getCandidateNoData(GridCoverage2D gc) { // no data management final GridSampleDimension sd = (GridSampleDimension) gc.getSampleDimension(0); final List<Category> categories = sd.getCategories(); final Iterator<Category> it = categories.iterator(); Category candidate; double inNoData = Double.NaN; final String noDataName = Vocabulary.format(VocabularyKeys.NODATA); while (it.hasNext()) { candidate = (Category) it.next(); final String name = candidate.getName().toString(); if (name.equalsIgnoreCase("No Data") || name.equalsIgnoreCase(noDataName)) { inNoData = candidate.getRange().getMaximum(); } } return inNoData; } }
sd[i] = (GridSampleDimension) source.getSampleDimension(0); output = factory.create(
public RasterZonalStatisticsIterator( SimpleFeatureIterator zones, GridCoverage2D coverage, int band, SimpleFeatureType targetSchema, GridCoverage2D classification) { this.zones = zones; this.builder = new SimpleFeatureBuilder(targetSchema); this.dataCoverage = coverage; this.band = band; // prepare the classification image if necessary if (classification != null) { // find nodata values GridSampleDimension sampleDimension = classification.getSampleDimension(0); double[] nodataarr = sampleDimension.getNoDataValues(); double[] nodata = nodataarr != null ? nodataarr : new double[] {Double.NaN}; // this will adapt the classification image to the projection and image layout // of the data coverage classificationRaster = GridCoverage2DRIA.create(classification, dataCoverage, nodata); } }
sd = new GridSampleDimension[] { (GridSampleDimension) output.getSampleDimension(visibleBand) }; } else {
GridSampleDimension sampleDimension = dataCoverage.getSampleDimension(0); List<Category> categories = sampleDimension.getCategories(); List<Range<Double>> novalueRangeList = null;
final GridSampleDimension candidateSD = sourceCoverage.getSampleDimension(0); double[] candidateNoDataValues = preparaNoDataValues(candidateSD);
public static RasterPixelType getTransferType(GridCoverage2D srcCoverage) { RasterPixelType transType = RasterPixelType.SHORT; SampleDimension gridDim = srcCoverage.getSampleDimension(0); SampleDimensionType sdType = gridDim.getSampleDimensionType(); if (sdType == SampleDimensionType.UNSIGNED_1BIT) { transType = RasterPixelType.BYTE; } else if (sdType == SampleDimensionType.UNSIGNED_2BITS) { transType = RasterPixelType.BYTE; } else if (sdType == SampleDimensionType.UNSIGNED_4BITS) { transType = RasterPixelType.BYTE; } else if (sdType == SampleDimensionType.UNSIGNED_8BITS) { transType = RasterPixelType.SHORT; } else if (sdType == SampleDimensionType.SIGNED_8BITS) { transType = RasterPixelType.SHORT; } else if (sdType == SampleDimensionType.UNSIGNED_16BITS) { transType = RasterPixelType.INTEGER; } else if (sdType == SampleDimensionType.SIGNED_16BITS) { transType = RasterPixelType.SHORT; } else if (sdType == SampleDimensionType.UNSIGNED_32BITS) { transType = RasterPixelType.FLOAT; } else if (sdType == SampleDimensionType.SIGNED_32BITS) { transType = RasterPixelType.INTEGER; } else if (sdType == SampleDimensionType.REAL_32BITS) { transType = RasterPixelType.FLOAT; } else if (sdType == SampleDimensionType.REAL_64BITS) { transType = RasterPixelType.DOUBLE; } return transType; }
public static int getDataType(GridCoverage2D srcCoverage) { SampleDimension gridDim = srcCoverage.getSampleDimension(0); SampleDimensionType sdType = gridDim.getSampleDimensionType();
static double getCandidateNoData(GridCoverage2D gc) { // no data management final GridSampleDimension sd = (GridSampleDimension) gc .getSampleDimension(0); final List<Category> categories = sd.getCategories(); final Iterator<Category> it = categories.iterator(); Category candidate; double inNoData = Double.NaN; final String noDataName = Vocabulary.format(VocabularyKeys.NODATA); while (it.hasNext()) { candidate = (Category) it.next(); final String name = candidate.getName().toString(); if (name.equalsIgnoreCase("No Data") || name.equalsIgnoreCase(noDataName)) { inNoData = candidate.getRange().getMaximum(); } } return inNoData; }
static double getCandidateNoData(GridCoverage2D gc) { // no data management final GridSampleDimension sd = (GridSampleDimension) gc .getSampleDimension(0); final List categories = sd.getCategories(); final Iterator it = categories.iterator(); Category candidate; double inNoData = Double.NaN; final String noDataName = Vocabulary.format(VocabularyKeys.NODATA); while (it.hasNext()) { candidate = (Category) it.next(); final String name = candidate.getName().toString(); if (name.equalsIgnoreCase("No Data") || name.equalsIgnoreCase(noDataName)) { inNoData = candidate.getRange().getMaximum(); } } return inNoData; }
/** * {inheritDoc} */ @Override public void show(String title, final int xAxis, final int yAxis) { final GridCoverage2D displayable = view(ViewType.RENDERED); if (displayable != this) { displayable.show(title, xAxis, yAxis); return; } if (title == null || (title = title.trim()).length() == 0) { final StringBuilder buffer = new StringBuilder(String.valueOf(getName())); final int visibleBandIndex = CoverageUtilities.getVisibleBand(this); final SampleDimension visibleBand = getSampleDimension(visibleBandIndex); final Unit<?> unit = visibleBand.getUnits(); buffer.append(" - ").append(String.valueOf(visibleBand.getDescription())); if (unit != null) { buffer.append(" (").append(unit).append(')'); } title = buffer.toString(); } super.show(title, xAxis, yAxis); }
/** * {inheritDoc} */ //@Override public void show(String title, final int xAxis, final int yAxis) { ensureValid(); final GridCoverage2D displayable = geophysics(false); if (displayable != this) { displayable.show(title, xAxis, yAxis); return; } if (title == null || (title = title.trim()).length() == 0) { final StringBuffer buffer = new StringBuffer(String.valueOf(getName())); final int visibleBandIndex = CoverageUtilities.getVisibleBand(this); final SampleDimension visibleBand = getSampleDimension(visibleBandIndex); final Unit unit = visibleBand.getUnits(); buffer.append(" - ").append(String.valueOf(visibleBand.getDescription())); if (unit != null) { buffer.append(" (").append(unit).append(')'); } title = buffer.toString(); } super.show(title, xAxis, yAxis); }
public RasterZonalStatisticsIterator(SimpleFeatureIterator zones, GridCoverage2D coverage, int band, SimpleFeatureType targetSchema, GridCoverage2D classification) { this.zones = zones; this.builder = new SimpleFeatureBuilder(targetSchema); this.dataCoverage = coverage; this.band = band; // prepare the classification image if necessary if(classification != null) { // find nodata values GridSampleDimension sampleDimension = classification.getSampleDimension(0); double[] nodataarr = sampleDimension.getNoDataValues(); double nodata = nodataarr != null? nodataarr[0] : Double.NaN; // this will adapt the classification image to the projection and image layout // of the data coverage classificationRaster = GridCoverage2DRIA.create(classification, dataCoverage, nodata); } }
final int numBands = coverage.getNumSampleDimensions(); scan: for (int i=0; i<numBands; i++) { final GridSampleDimension band = coverage.getSampleDimension(i); if (band != null) { final List<Category> categories = band.getCategories();
GridSampleDimension sampleDimension = classifier.getSampleDimension(0); double[] nodataarr = sampleDimension.getNoDataValues();
return container.getAsSingleValue(); } else { SampleDimension gridDim = srcCoverage.getSampleDimension(0); double[] ndVals = gridDim.getNoDataValues(); if (ndVals != null) {
public RasterCoverage(String name, GridCoverage2D raster) { this.coverage = raster; this.layerName = name; this.dimension = raster.getSampleDimension(0); // this.dimension = dimension; this.crs = coverage.getCoordinateReferenceSystem2D(); this.gridGeometry = coverage.getGridGeometry(); /* no data values */ noData = dimension.getNoDataValues(); xCellSize = coverage.getEnvelope2D().getWidth() / getXCells(); yCellSize = coverage.getEnvelope2D().getHeight() / getYCells(); this.boundingBox = new ReferencedEnvelope(coverage.getEnvelope2D().getMinX(), coverage .getEnvelope2D().getMaxX(), coverage.getEnvelope2D().getMinY(), coverage.getEnvelope2D() .getMaxY(), crs); // coverage.show(); }
SampleDimension gridDim = coverage.getSampleDimension(0); // default SampleDimensionType sdType = gridDim.getSampleDimensionType();