public GridCoverage2D getGridCoverage2D(BufferedImage image) { GridCoverage2D gridCoverage = new GridCoverageFactory() .create("isochrone", image, gg.getEnvelope2D()); return gridCoverage; }
public void writeGeotiff(String fileName, ResultSet results) { LOG.info("writing geotiff."); float[][] imagePixelData = new float[rows][cols]; for (int row = 0; row < rows; row++) { for (int col = 0; col < cols; col++) { int index = row * cols + col; float pixel = (float) (results.results[index]); if (unitySeconds > 0) pixel /= unitySeconds; imagePixelData[row][col] = pixel; } } GridCoverage2D coverage = new GridCoverageFactory().create("OTPAnalyst", imagePixelData, refEnvelope); try { GeoTiffWriteParams wp = new GeoTiffWriteParams(); wp.setCompressionMode(GeoTiffWriteParams.MODE_EXPLICIT); wp.setCompressionType("LZW"); ParameterValueGroup params = new GeoTiffFormat().getWriteParameters(); params.parameter(AbstractGridFormat.GEOTOOLS_WRITE_PARAMS.getName().toString()).setValue(wp); GeoTiffWriter writer = new GeoTiffWriter(new File(fileName)); writer.write(coverage, (GeneralParameterValue[]) params.values().toArray(new GeneralParameterValue[1])); } catch (Exception e) { LOG.error("exception while writing geotiff.", e); } LOG.info("done writing geotiff."); }
GridCoverageFactory factory = new GridCoverageFactory(); BufferedImage bi = new BufferedImage(10, 10, BufferedImage.TYPE_4BYTE_ABGR); ReferencedEnvelope envelope = new ReferencedEnvelope(0, 10, 0, 10, CRS.decode("EPSG:4326"));
/** * 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())); } }
return new GridCoverageFactory() .create( "result",
/** * 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; }
/** * Reads the data taking into account advanced projection handling in order to deal with date * line crossing, poles and other projection trouble areas. The result is a set of coverages * that can be either painted or reprojected safely */ public List<GridCoverage2D> readCoverages( final GeneralParameterValue[] readParams, ProjectionHandler handler) throws IOException, FactoryException, TransformException { return readCoverages(readParams, handler, new GridCoverageFactory()); }
private static GridCoverage2D readCoverage(String imageFileName) throws Exception { BufferedImage bi = ImageIO.read(CompositeTest.class.getResourceAsStream("test-data/" + imageFileName)); GridCoverageFactory factory = new GridCoverageFactory(); Envelope2D envelope = new Envelope2D( DefaultEngineeringCRS.GENERIC_2D, 0, 0, bi.getWidth(), bi.getHeight()); return factory.create(imageFileName, bi, envelope); }
new GridCoverageFactory(GeoTools.getDefaultHints()) .create(name, constantImage, op.src.getEnvelope()); PlanarImage roiImage = null;
GridCoverage2D testCoverage = new GridCoverageFactory().create("test", testImage, reWgs); GridCoverage2D coverage = new GridCoverage2D("test", testCoverage);
new GridCoverageFactory() .create( "test",
g.fillRect(0, 0, 300, 300); g.dispose(); GridCoverage2D coverage = new GridCoverageFactory().create("test_red", bi, bounds);
GridCoverage2D testCoverage = new GridCoverageFactory().create("test", testImage, reWgs); GridCoverage2D oomCoverage = new GridCoverage2D("test", testCoverage) {
GridCoverageFactory gcf = new GridCoverageFactory(); return gcf.create(covName, image, extent);
GeoTools.getDefaultHints()); GridCoverageFactory factory = new GridCoverageFactory(GeoTools.getDefaultHints()); return factory.create("jiffle", result, reference.getEnvelope());
GridCoverage2D addLocationProperty(GridCoverage2D coverage, File warpedFile) { Map <String, String> properties = new HashMap<String,String>(); properties.put(AbstractGridCoverage2DReader.FILE_SOURCE_PROPERTY, warpedFile.getAbsolutePath()); return new GridCoverageFactory().create(coverage.getName(), coverage.getRenderedImage(), coverage.getGridGeometry(), coverage.getSampleDimensions(), null, properties); }
return new GridCoverageFactory(hints) .create( sourceCoverage.getName(),
GridCoverageFactory factory = new GridCoverageFactory(null);
GridCoverageFactory coverageFactory = new GridCoverageFactory(); GridCoverage2D grid = coverageFactory.create("AreaGridCoverage", matrix, bounds); return grid;
StaticRasterReader(Object source) { coverageFactory = new GridCoverageFactory(); crs = DefaultGeographicCRS.WGS84; // instantiate the bounds based on the default CRS originalEnvelope = new GeneralEnvelope(CRS.getEnvelope(crs)); originalEnvelope.setCoordinateReferenceSystem(crs); originalGridRange = new GeneralGridEnvelope(originalEnvelope, PixelInCell.CELL_CENTER); // create a default layout based on the static image setlayout(new ImageLayout(STATIC_IMAGE)); }