.equals( AbstractGridFormat.READ_GRIDGEOMETRY2D .getName())) .findFirst(); GridEnvelope2D range = requestedGridGeometry.getGridRange2D(); GridEnvelope2D expandedRange = new GridEnvelope2D( (int) range.getMinX() - HETEROGENEOUS_RASTER_GUTTER, (int) range.getMinY() - HETEROGENEOUS_RASTER_GUTTER, GridGeometry2D expandedGG = new GridGeometry2D( value.setValue(expandedGG); for (int i = 0; i < parameters.length; i++) { final ParameterValue param = (ParameterValue) parameters[i]; if (AbstractGridFormat.BANDS.getName().equals(param.getDescriptor().getName())) { .equals( AbstractGridFormat.BANDS .getName())) .toArray(GeneralParameterValue[]::new);
public static GeneralParameterValue[] getParameters(ParameterValueGroup params) { final List parameters = new ArrayList(); final String readGeometryKey = AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString(); final ParameterDescriptor descr = (ParameterDescriptor) val.getDescriptor(); final String _key = descr.getName().toString(); continue; final Object value = val.getValue(); new DefaultParameterDescriptor(_key, value.getClass(), null, value) .createValue());
public ParamDescriptor(Param param) { super( DefaultParameterDescriptor.create( param.key, param.description, param.type, param.sample, param.required)); this.param = param; }
public static GeneralParameterValue[] getParameters( ParameterValueGroup params, Map values, boolean readGeom) { final List<ParameterValue<?>> parameters = new ArrayList<ParameterValue<?>>(); final String readGeometryKey = AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString(); final ParameterDescriptor<?> descr = val.getDescriptor(); final String _key = descr.getName().toString(); new DefaultParameterDescriptor(_key, descr.getValueClass(), null, value) .createValue());
private GeneralParameterValue[] buildFootprintBandParams( FootprintBehavior footprintBehavior, int[] bands) { final List<ParameterValue<?>> parameters = new ArrayList<ParameterValue<?>>(); parameters.add( new DefaultParameterDescriptor<>( AbstractGridFormat.FOOTPRINT_BEHAVIOR.getName().toString(), AbstractGridFormat.FOOTPRINT_BEHAVIOR.getValueClass(), null, footprintBehavior.name()) .createValue()); parameters.add( new DefaultParameterDescriptor<>( AbstractGridFormat.BANDS.getName().toString(), AbstractGridFormat.BANDS.getValueClass(), null, bands) .createValue()); return (GeneralParameterValue[]) parameters.toArray(new GeneralParameterValue[parameters.size()]); }
continue; final String name = param.getDescriptor().getName().getCode(); if (name.equals(AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString())) { final GridGeometry2D gg = (GridGeometry2D) param.getValue(); requestedEnvelope = new GeneralEnvelope((Envelope) gg.getEnvelope2D()); dim = gg.getGridRange2D().getBounds(); continue; if (name.equals(AbstractGridFormat.OVERVIEW_POLICY.getName().toString())) { overviewPolicy = (OverviewPolicy) param.getValue(); continue;
final String name = param.getDescriptor().getName().getCode(); if (name.equals(AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString())) { final GridGeometry2D gg = (GridGeometry2D) param.getValue(); reqEnvelope = new GeneralEnvelope((Envelope) gg.getEnvelope2D()); coverageEnvelope.getCoordinateReferenceSystem(); CoordinateReferenceSystem requestCrs = reqEnvelope.getCoordinateReferenceSystem(); if (!CRS.equalsIgnoreMetadata(nativeCrs, requestCrs)) { LOGGER.fine( dim = gg.getGridRange2D(); continue; if (name.equals(AbstractGridFormat.OVERVIEW_POLICY.getName().toString())) { overviewPolicy = (OverviewPolicy) param.getValue(); continue; int xmax = (int) Math.ceil(adjustedGRange.getMaximum(0)); int ymax = (int) Math.ceil(adjustedGRange.getMaximum(1)); dim = new GridEnvelope2D(xmin, ymin, xmax - xmin, ymax - ymin);
final GridEnvelope2D testRange = new GridEnvelope2D(minX, minY, maxX, maxY); CRS.transform(gridToWorldCorner, new GeneralEnvelope(testRange.getBounds())); testEnvelope.setCoordinateReferenceSystem(reader.getCoordinateReferenceSystem()); String maxAllowedTiles = ImageMosaicFormat.MAX_ALLOWED_TILES.getName().toString(); if (parameters.keySet().contains(maxAllowedTiles)) { parameters.put(maxAllowedTiles, 1); String useJaiImageRead = ImageMosaicFormat.USE_JAI_IMAGEREAD.getName().toString(); if (parameters.keySet().contains(useJaiImageRead)) { parameters.put(useJaiImageRead, false); AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString(), new GridGeometry2D(testRange, testEnvelope)); if (gc != null) { parameters.remove(AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString()); sampleDimensions = gc.getSampleDimensions();
for (GeneralParameterValue param : parameters) { final ReferenceIdentifier name = param.getDescriptor().getName(); if (name.equals(AbstractGridFormat.READ_GRIDGEOMETRY2D.getName())) { final GridGeometry2D gg = (GridGeometry2D) ((ParameterValue) param).getValue(); requestedEnvelope = gg.getEnvelope(); width = gg.getGridRange().getHigh(0) + 1; height = gg.getGridRange().getHigh(1) + 1; } else if (name.equals(AbstractGridFormat.BACKGROUND_COLOR.getName())) { backgroundColor = (Color) ((ParameterValue) param).getValue(); && grid.getGridGeometry().getGridRange2D().getWidth() == width && grid.getGridGeometry().getGridRange2D().getHeight() == height && grid.getEnvelope().equals(requestedEnvelope)) return grid;
if (name.equals(AbstractGridFormat.READ_GRIDGEOMETRY2D.getName())) { final Object value = param.getValue(); if (value == null) return; final GridGeometry2D gg = (GridGeometry2D) value; this.requestedBounds = gg.getEnvelope2D(); new GridGeometry2D( if (name.equals(AbstractGridFormat.USE_JAI_IMAGEREAD.getName())) { final Object value = param.getValue(); if (value == null) return; readType = param.booleanValue() ? ReadType.JAI_IMAGEREAD : ReadType.DIRECT_READ; return; if (name.equals(ImageMosaicFormat.SORT_BY.getName())) { if (name.equals(ImageMosaicFormat.MERGE_BEHAVIOR.getName())) { if (name.equals(AbstractGridFormat.OVERVIEW_POLICY.getName())) { if (name.equals(AbstractGridFormat.DECIMATION_POLICY.getName())) { if (name.equals(AbstractGridFormat.SUGGESTED_TILE_SIZE.getName())) { if (name.equals(ImageMosaicFormat.BANDS.getName())) {
nativeEnvelope.getCoordinateReferenceSystem(); targetCRS = reader.getOriginalEnvelope().getCoordinateReferenceSystem(); requestedCRS = CRS.lookupIdentifier(targetCRS, true); } else { new GridGeometry2D( new GridEnvelope2D(destinationSize), getHorizontalEnvelope(requestedEnvelope)); else new GridGeometry2D( PixelInCell.CELL_CENTER, destinationG2W, new DefaultParameterDescriptor<GeneralGridGeometry>( AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString(), GeneralGridGeometry.class, null, requestedGridGeometry) .createValue(); GeneralParameterValue[] tmpArray = new GeneralParameterValue[readParameters.length + 1]; System.arraycopy(readParameters, 0, tmpArray, 0, readParameters.length); if (targetCRS != null) { destinationEnvelope = CRS.transform(destinationEnvelope, targetCRS); destinationEnvelope.setCoordinateReferenceSystem(targetCRS);
message = new StringBuilder("Original envelope is ").append(envelope.toString()); if (LOGGER.isLoggable(Level.FINE)) LOGGER.fine(message.toString()); fireEvent(message.toString(), 0); final double minx = envelope.getMinimum(0); final double miny = envelope.getMinimum(1); final double maxx = envelope.getMaximum(0); final double maxy = envelope.getMaximum(1); final ParameterValue<GridGeometry2D> gg = ImageMosaicFormat.READ_GRIDGEOMETRY2D.createValue(); final GeneralEnvelope cropEnvelope = new GeneralEnvelope(new double[] { _minx, _miny }, new double[] { _maxx,_maxy }); cropEnvelope.setCoordinateReferenceSystem(inReader.getCrs()); gg.setValue(new GridGeometry2D(new GridEnvelope2D(new Rectangle(0, 0, 800, 800)), cropEnvelope)); message = new StringBuilder("Reading with grid envelope ").append(cropEnvelope.toString()); if (LOGGER.isLoggable(Level.FINE)) param.parameter("Source").setValue(gc); param.parameter("Envelope").setValue(cropEnvelope); param.parameter("ConserveEnvelope").setValue(Boolean.TRUE); final GridCoverage2D cropped = (GridCoverage2D) processor.doOperation(param); final GridEnvelope2D newGridrange = new GridEnvelope2D(new Rectangle2D.Double(0.0, 0.0, newRange[0],newRange[1]).getBounds()); final GridGeometry2D scaledGridGeometry = new GridGeometry2D(newGridrange, cropEnvelope); param = processor.getOperation("Resample").getParameters(); param.parameter("Source").setValue(cropped);
for (int i = 0; i < parameters.length; i++) { final ParameterValue param = (ParameterValue) parameters[i]; final ReferenceIdentifier name = param.getDescriptor().getName(); if (name.equals(AbstractGridFormat.READ_GRIDGEOMETRY2D.getName())) { final GridGeometry2D gg = (GridGeometry2D) param.getValue(); try { requestedEnvelope = ReferencedEnvelope.create( gg.getEnvelope(), gg.getCoordinateReferenceSystem()) .transform(SPHERICAL_MERCATOR, true); } catch (Exception e) { dim = gg.getGridRange2D().getBounds(); continue;
if (name.equals(AbstractGridFormat.READ_GRIDGEOMETRY2D.getName())) { final GridGeometry2D gg = (GridGeometry2D) param.getValue(); if (gg == null) { return; requestedBBox = new ReferencedEnvelope((Envelope) gg.getEnvelope2D()); requestedRasterArea = gg.getGridRange2D().getBounds(); return; if (name.equals(AbstractGridFormat.USE_JAI_IMAGEREAD.getName())) { Object value = param.getValue(); if (value == null) { return; readType = param.booleanValue() ? ReadType.JAI_IMAGEREAD : ReadType.DIRECT_READ; return; if (name.equals(BaseGDALGridFormat.USE_MULTITHREADING.getName())) { Object value = param.getValue(); if (value == null) { if (name.equals(AbstractGridFormat.OVERVIEW_POLICY.getName())) { Object value = param.getValue(); if (value == null) { if (name.equals(BaseGDALGridFormat.SUGGESTED_TILE_SIZE.getName())) { setTileSize(param);
writer.write( "<pos>" + wgs84envelope.getMinimum(0) + " " + wgs84envelope.getMinimum(1) + "</pos>\n"); writer.write( "<pos>" + wgs84envelope.getMaximum(0) + " " + wgs84envelope.getMaximum(1) AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString(), new GridGeometry2D(reader.getOriginalGridRange(), subEnvelope)); GridCoverage2D gc = (GridCoverage2D)
ParameterValue<Double> parameter; dDescriptor = DefaultParameterDescriptor.create("Test", 12, 4, 20, SI.METRE); parameter = dDescriptor.createValue(); assertEquals("name", "Test", dDescriptor.getName().getCode()); assertEquals("unit", SI.METRE, dDescriptor.getUnit()); assertEquals("class", Double.class, dDescriptor.getValueClass()); assertEquals("defaultValue", 12.0, dDescriptor.getDefaultValue().doubleValue(), 0.0); assertEquals("minimum", 4.0, dDescriptor.getMinimumValue()); assertEquals("maximum", 20.0, dDescriptor.getMaximumValue()); assertEquals("value", 12, parameter.intValue()); assertEquals("unit", SI.METRE, parameter.getUnit()); for (int i = 4; i <= 20; i++) { parameter.setValue(i); assertEquals("value", Double.valueOf(i), parameter.getValue()); assertEquals("unit", SI.METRE, parameter.getUnit()); iDescriptor = DefaultParameterDescriptor.create("Test", 3, 4, 20); fail("setValue(< min)"); } catch (InvalidParameterValueException exception) { iDescriptor = DefaultParameterDescriptor.create("Test", 12, 20, 4); fail("ParameterDescriptor(min > max)"); } catch (IllegalArgumentException exception) {
new GeneralEnvelope( new double[] {coords[0], coords[1]}, new double[] {coords[2], coords[3]}); AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString())) { if ((params.get(key) != null) && params.get(key) instanceof String new GeneralEnvelope( new double[] {coords[0], coords[1]}, new double[] {coords[2], coords[3]}); final Class<? extends Object> target = param.getDescriptor().getValueClass(); if (key.equalsIgnoreCase("InputTransparentColor") || key.equalsIgnoreCase("OutputTransparentColor")) { value = param.getValue(); LOGGER.log(Level.FINE, e.getLocalizedMessage(), e); value = param.getValue();
AbstractGridFormat.READ_GRIDGEOMETRY2D.getName() .toString())) { final GridGeometry2D gg = (GridGeometry2D) param .getValue(); requestedEnvelope = new GeneralEnvelope((Envelope) gg .getEnvelope2D()); dim = gg.getGridRange2D().getBounds();
for (int i = 0; i < length; i++) { final ParameterValue param = (ParameterValue) params[i]; final String name = param.getDescriptor().getName().getCode(); if (name.equals(AbstractGridFormat.READ_GRIDGEOMETRY2D .getName().toString())) { final GridGeometry2D gg = (GridGeometry2D) param.getValue(); readEnvelope = new GeneralEnvelope((Envelope) gg .getEnvelope2D()); requestedDim = gg.getGridRange2D().getBounds(); continue;