Hello. This is with GeoTools 14.0.
I have a GridCoverage2D that I have read from a BAG file using NetCDF. Not using GeoTools NetCDFReader, but NetCDF-java directly. The GridCoverage2D works fine with GridCoverageRenderer. I then write out the GridCoverage2D (from BAG) to a GeoTIFF file using GeoTiffWriter and then read it back in using GeoTiffReader. The returned GridCoverage2D seem to have all the same metadata like dimensions. The crs of the grid from the read GeoTIFF is almost the same as the one in the grid from the BAG. They are below. This new GridCoverage2D does not longer work with the GridCoverageRenderer. The problem seem to be that the rendering process creates a very very large image. The size of the BAG and the GeoTIFF on disc is 2901x5716. If I zoom far in, I get an exception like "Dimensions (width=176427 height=247285) are too large” as seen below. This is all with the same GeoTIFF file. If I zoom even further in, I get an exception message like "Dimensions (width=194885 height=273156) are too large”. If I zoom out to a more sensible zoom range, then I get an exception with message "Cannot construct DataBuffer” also seen below. I write out the GeoTIFF file like this: GeoTiffWriter w = new GeoTiffWriter(file); w.write(fromBag, null); w.dispose(); And then read it back in like this: GeoTiffReader r = new GeoTiffReader(file); GridCoverage2D scaled = r.read(null); GridCoverageRenderer.affine in line 619 uses GridCoverageRendererUtilities.layoutHelper on a finalRasterTransformation to calculate the too large image dimensions. I would like the grid to work in the same way after it has been written to the GeoTIFF and read back in. Any tips to where I should continue looking? Regards, Tore Halset. Exception when zoomed far in: Caused by: java.lang.IllegalArgumentException: Dimensions (width=176427 height=247285) are too large at java.awt.image.SampleModel.<init>(SampleModel.java:130) ~[?:1.8.0_31] at java.awt.image.ComponentSampleModel.<init>(ComponentSampleModel.java:146) ~[?:1.8.0_31] at java.awt.image.PixelInterleavedSampleModel.<init>(PixelInterleavedSampleModel.java:87) ~[?:1.8.0_31] at it.geosolutions.jaiext.classifier.LinearColorMap.getSampleModel(LinearColorMap.java:461) ~[jt-classifier-1.0.6.jar:?] at it.geosolutions.jaiext.classifier.RasterClassifierOpImage.prepareLayout(RasterClassifierOpImage.java:94) ~[jt-classifier-1.0.6.jar:?] at it.geosolutions.jaiext.classifier.RasterClassifierOpImage.<init>(RasterClassifierOpImage.java:53) ~[jt-classifier-1.0.6.jar:?] at it.geosolutions.jaiext.classifier.RasterClassifierCRIF.create(RasterClassifierCRIF.java:56) ~[jt-classifier-1.0.6.jar:?] at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_31] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_31] at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122) ~[jai_core.jar:1.1.3] at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674) ~[jai_core.jar:1.1.3] at it.geosolutions.jaiext.ConcurrentOperationRegistry.invokeFactory(ConcurrentOperationRegistry.java:576) ~[jt-utilities-1.0.6.jar:?] at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332) ~[jai_core.jar:1.1.3] at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819) ~[jai_core.jar:1.1.3] at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867) ~[jai_core.jar:1.1.3] at javax.media.jai.RenderedOp.getColorModel(RenderedOp.java:2242) ~[jai_core.jar:1.1.3] at org.geotools.renderer.lite.gridcoverage2d.ColorMapNode.execute(ColorMapNode.java:302) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.ColorMapNode.execute(ColorMapNode.java:57) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter$1.execute(StyleVisitorCoverageProcessingNodeAdapter.java:101) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.checkExecuted(BaseCoverageProcessingNode.java:238) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:341) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:46) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter.getOutput(StyleVisitorCoverageProcessingNodeAdapter.java:141) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.ContrastEnhancementNode.execute(ContrastEnhancementNode.java:240) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.ContrastEnhancementNode.execute(ContrastEnhancementNode.java:77) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter$1.execute(StyleVisitorCoverageProcessingNodeAdapter.java:101) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.checkExecuted(BaseCoverageProcessingNode.java:238) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:341) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:46) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter.getOutput(StyleVisitorCoverageProcessingNodeAdapter.java:141) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.SubchainStyleVisitorCoverageProcessingAdapter.execute(SubchainStyleVisitorCoverageProcessingAdapter.java:116) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.RasterSymbolizerHelper.execute(RasterSymbolizerHelper.java:78) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.RasterSymbolizerHelper.execute(RasterSymbolizerHelper.java:58) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter$1.execute(StyleVisitorCoverageProcessingNodeAdapter.java:101) ~[gt-render-14.0.jar:?] at org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.checkExecuted(BaseCoverageProcessingNode.java:238) ~[gt-render-14.0.jar:?] Exception when zoomed out: INFO: Problem occurs when computing a tile by the owner. java.lang.RuntimeException: Cannot construct DataBuffer. at com.sun.media.jai.util.DataBufferUtils.constructDataBuffer(DataBufferUtils.java:132) at com.sun.media.jai.util.DataBufferUtils.createDataBufferFloat(DataBufferUtils.java:214) at javax.media.jai.ComponentSampleModelJAI.createDataBuffer(ComponentSampleModelJAI.java:271) at javax.media.jai.RecyclingTileFactory.createTile(RecyclingTileFactory.java:389) at javax.media.jai.PlanarImage.createWritableRaster(PlanarImage.java:1982) at javax.media.jai.PlanarImage.getData(PlanarImage.java:2160) at javax.media.jai.PlanarImage.getData(PlanarImage.java:2016) at it.geosolutions.jaiext.classifier.RasterClassifierOpImage.computeRect(RasterClassifierOpImage.java:106) at javax.media.jai.OpImage.computeTile(OpImage.java:1221) at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:728) at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904) at javax.media.jai.OpImage.getTile(OpImage.java:1129) at javax.media.jai.RenderedOp.getTile(RenderedOp.java:2257) at sun.java2d.SunGraphics2D.drawTranslatedRenderedImage(SunGraphics2D.java:2820) at sun.java2d.SunGraphics2D.drawRenderedImage(SunGraphics2D.java:2707) at org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.paintImage(GridCoverageRenderer.java:1177) at org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.paint(GridCoverageRenderer.java:1110) at org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.paint(GridCoverageRenderer.java:1071) CRS WKT from BAG: PROJCS["UTM-32N", GEOGCS["unnamed", DATUM["WGS_1984", SPHEROID["WGS_1984", 6378137.0, 298.2572201434276], TOWGS84[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], PRIMEM["Greenwich", 0.0], UNIT["degree", 0.017453292519943295], AXIS["Longitude", EAST], AXIS["Latitude", NORTH]], PROJECTION["Transverse_Mercator"], PARAMETER["central_meridian", 9.0], PARAMETER["latitude_of_origin", 0.0], PARAMETER["scale_factor", 0.9996], PARAMETER["false_easting", 500000.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AXIS["x", EAST], AXIS["y", NORTH]] CRS WKT from GeoTIFF: PROJCS["UTM-32N|UTM-32N", GEOGCS["unnamed", DATUM["WGS_1984", SPHEROID["WGS_1984", 6378137.0, 298.2572201434276]], PRIMEM["Greenwich", 0.0], UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], AXIS["Geodetic latitude", NORTH]], PROJECTION["Transverse_Mercator"], PARAMETER["central_meridian", 9.0], PARAMETER["latitude_of_origin", 0.0], PARAMETER["scale_factor", 0.9996], PARAMETER["false_easting", 500000.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AXIS["Easting", EAST], AXIS["Northing", NORTH]] ------------------------------------------------------------------------------ _______________________________________________ GeoTools-GT2-Users mailing list GeoTools-GT2-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users