/** Creates a {@link GridCoverage2D} for the provided {@link RenderedImage}. */ private GridCoverage2D createCoverage(String name, RenderedImage image) { Category noDataCategory = new Category( Vocabulary.formatInternational(VocabularyKeys.NODATA), new Color[] {new Color(0, 0, 0, 0)}, NumberRange.create(DEFAULT_NODATA, DEFAULT_NODATA)); Category[] categories = new Category[] {noDataCategory}; GridSampleDimension[] bands; bands = new GridSampleDimension[1]; bands[0] = new GridSampleDimension(null, categories, null); final Map<String, Object> properties = new HashMap<String, Object>(); CoverageUtilities.setNoDataProperty(properties, DEFAULT_NODATA); return this.coverageFactory.create( name, image, this.originalEnvelope, bands, null, properties); }
CoverageUtilities.setNoDataProperty(properties, wrappedNoDataValues[0]);
private Hashtable<String, Object> getNoDataProperties(VariableAdapter wrapper) { RangeType range = wrapper.getRangeType(); if (range != null) { Set<FieldType> fields = range.getFieldTypes(); if (fields != null && !fields.isEmpty()) { FieldType field = fields.iterator().next(); if (field != null) { Set<SampleDimension> sampleDims = field.getSampleDimensions(); if (sampleDims != null && !sampleDims.isEmpty()) { SampleDimension sampleDimension = sampleDims.iterator().next(); double[] noData = sampleDimension.getNoDataValues(); if (noData != null && noData.length > 0) { Hashtable<String, Object> table = new Hashtable<String, Object>(); CoverageUtilities.setNoDataProperty(table, noData[0]); return table; } } } } } return null; }
CoverageUtilities.setNoDataProperty( synthProp, CoverageUtilities.getNoDataProperty(source));
protected Map getProperties( RenderedImage data, CoordinateReferenceSystem crs, InternationalString name, MathTransform toCRS, GridCoverage2D[] sources, BandMergeParams parameters) { // Merge the coverage properties Map properties = new HashMap(); for (GridCoverage2D cov : sources) { if (cov != null && cov.getProperties() != null) { properties.putAll(cov.getProperties()); } } // Setting ROI and NoData if present if (JAIExt.isJAIExtOperation("BandMerge")) { ParameterBlockJAI pb = parameters.parameters; CoverageUtilities.setROIProperty(properties, (ROI) pb.getObjectParameter(3)); CoverageUtilities.setNoDataProperty(properties, pb.getObjectParameter(1)); } return properties; }
if (parameters.parameters.getNumParameters() > 3 && parameters.parameters.getObjectParameter(6) != null) { CoverageUtilities.setNoDataProperty(properties, background);
if (background != null) { if (background instanceof double[] || background instanceof Number) { CoverageUtilities.setNoDataProperty(properties, background);
/** * This method is responsible for creating a coverage from the supplied {@link RenderedImage}. * * @param image * @param sampleDimensions * @return * @throws IOException */ private GridCoverage2D prepareCoverage( RenderedImage image, GridSampleDimension[] sampleDimensions, double[] noData) throws IOException { Map<String, Object> properties = new HashMap<String, Object>(); if (noData != null && noData.length > 0) { CoverageUtilities.setNoDataProperty(properties, noData[0]); } properties.put(GridCoverage2DReader.SOURCE_URL_PROPERTY, datasetURL); return COVERAGE_FACTORY.create( request.name, image, new GridGeometry2D( new GridEnvelope2D(PlanarImage.wrapRenderedImage(image).getBounds()), PixelInCell.CELL_CORNER, finalGridToWorldCorner, this.targetBBox.getCoordinateReferenceSystem(), hints), sampleDimensions, null, properties); }
if (bkgProp != null && bkgProp instanceof double[]) { double[] background = (double[]) bkgProp; CoverageUtilities.setNoDataProperty(properties, background);
CoverageUtilities.setNoDataProperty( synthProp, CoverageUtilities.getNoDataProperty(source)); return Collections.unmodifiableMap(synthProp);
if (parameters.parameters.getNumParameters() > 3 && parameters.parameters.getObjectParameter(4) != null) { CoverageUtilities.setNoDataProperty(properties, background);
CoverageUtilities.setNoDataProperty(properties, nodataParam);
new Color[] {new Color(0, 0, 0, 0)}, NumberRange.create(noData, noData)); CoverageUtilities.setNoDataProperty(properties, new Double(noData)); image.setProperty(NoDataContainer.GC_NODATA, new NoDataContainer(noData));
new GridSampleDimension(coverageName, new Category[] {nan}, uom); final Map<String, Object> properties = new HashMap<String, Object>(); CoverageUtilities.setNoDataProperty(properties, new Double(inNoData));
CoverageUtilities.setNoDataProperty( synthProp, CoverageUtilities.getNoDataProperty(source)); return Collections.unmodifiableMap(synthProp);
CoverageUtilities.setNoDataProperty(properties, w.getNoData()); CoverageUtilities.setROIProperty(properties, w.getROI()); return getCoverageFactory()
CoverageUtilities.setNoDataProperty(properties, w.getNoData());
properties = new HashMap<>(); CoverageUtilities.setNoDataProperty(properties, noData); CoverageUtilities.setROIProperty(properties, roi);
RangeFactory.convert( noDataC.getAsRange(), image.getSampleModel().getDataType()); CoverageUtilities.setNoDataProperty(properties, noData);
CoverageUtilities.setNoDataProperty(properties, w.getNoData());