@Test // @Ignore public void nearestExternal() throws Exception { final OverviewsEmbedder oe = new OverviewsEmbedder(); oe.setDownsampleStep(2); oe.setNumSteps(5); oe.setScaleAlgorithm(OverviewsEmbedder.SubsampleAlgorithm.Nearest.toString()); // use default oe.setTileCache(JAI.getDefaultInstance().getTileCache()); oe.setTileWidth(256); oe.setTileHeight(256); oe.setExternalOverviews(true); oe.setSourcePath(TestData.file(this, "DEM_.tiff").getAbsolutePath()); oe.addProcessingEventListener( new ProcessingEventListener() { @Override public void getNotification(ProcessingEvent event) { LOGGER.info(event.toString()); } @Override public void exceptionOccurred(ExceptionEvent event) { LOGGER.warning(event.toString()); } }); oe.run(); // now red it back and check that things are coherent final ImageReader reader = new TIFFImageReaderSpi().createReaderInstance(); reader.setInput( ImageIO.createImageInputStream(org.geotools.test.TestData.file(this, "DEM_.tiff"))); assertTrue(reader.getNumImages(true) == 1); reader.reset(); assertTrue(org.geotools.test.TestData.file(this, "DEM_.tif.ovr").exists()); reader.setInput( ImageIO.createImageInputStream(org.geotools.test.TestData.file(this, "DEM_.tif.ovr"))); assertTrue(reader.getNumImages(true) == 5); assertTrue(reader.isImageTiled(0)); assertEquals(256, reader.getTileHeight(0)); assertEquals(256, reader.getTileWidth(0)); reader.dispose(); }
@Test public void nearest() throws Exception { final OverviewsEmbedder oe = new OverviewsEmbedder(); oe.setDownsampleStep(2); oe.setNumSteps(5); oe.setScaleAlgorithm(OverviewsEmbedder.SubsampleAlgorithm.Nearest.toString()); // use default oe.setTileCache(JAI.getDefaultInstance().getTileCache()); oe.setTileWidth(256); oe.setTileHeight(256); oe.setSourcePath(TestData.file(this, "DEM_.tiff").getAbsolutePath()); oe.addProcessingEventListener( new ProcessingEventListener() { private double lastProgress = -1; @Override public void getNotification(ProcessingEvent event) { assertTrue(lastProgress <= event.getPercentage()); lastProgress = event.getPercentage(); assertTrue(lastProgress <= 100); assertTrue(lastProgress >= 0); LOGGER.info(event.toString()); } @Override public void exceptionOccurred(ExceptionEvent event) { LOGGER.warning(event.toString()); } }); oe.run(); // now red it back and check that things are coherent final ImageReader reader = new TIFFImageReaderSpi().createReaderInstance(); reader.setInput( ImageIO.createImageInputStream(org.geotools.test.TestData.file(this, "DEM_.tiff"))); assertTrue(reader.getNumImages(true) == 6); reader.dispose(); }