Package org.geotools.gce.geotiff

Examples of org.geotools.gce.geotiff.GeoTiffReader


    }

    @Test
    public void testCreateRasterEntry() throws Exception {
        GeoTiffFormat format = new GeoTiffFormat();
        GeoTiffReader reader = format.getReader(setUpGeoTiff());
        GridCoverage2D cov = reader.read(null);

        RasterEntry entry = new RasterEntry();
        entry.setTableName("world");

        geopkg.add(entry, cov, format);
View Full Code Here


        File file = File.createTempFile("test-image", ".tiff");
        GeoTiffWriter writer = new GeoTiffWriter(file);
        writer.write(coverage, null);
        writer.dispose();
       
        reader = new GeoTiffReader(file);
    }
View Full Code Here

        }
        ImageManager imageManager = null;
        final File file = new File(filePath);
        ImageInputStream stream = null;
        ImageReader reader = null;
        GeoTiffReader gtReader = null;
        try {
            if (file.exists() && file.canRead()) {
               
                if (!parent.defaultValues.isGeoSpatial){
                    stream = ImageIO.createImageInputStream(file);
                    reader = Utils.getReader(stream);
                    if (reader != null) {
                        reader.setInput(stream);
                       
                        // Setting up properties
                        final ImageReaderSpi spi = reader.getOriginatingProvider();
                        final int width = reader.getWidth(0);
                        final int height = reader.getHeight(0);
                        int numOverviews = reader.getNumImages(false) - 1;
                        if (numOverviews < 0) {
                            numOverviews = 0;
                        }
                        final long lastModified = file.lastModified();
                        final ImageProperty property = new ImageProperty(filePath, width, height, numOverviews, spi, lastModified);
                        imageManager = new ImageManager(property);
   
                    } else {
                        throw new DataSourceException("Unable to get a reader for the specified path " + filePath);
                    }
                } else {
                    gtReader = new GeoTiffReader(file);
                    GeneralEnvelope envelope = gtReader.getOriginalEnvelope();
                    GridEnvelope range = gtReader.getOriginalGridRange();
                    final long lastModified = file.lastModified();
                    final ImageProperty property = new ImageProperty(filePath, range.getSpan(0), range.getSpan(1),
                            0, Utils.TIFF_SPI, lastModified);
                    property.setEnvelope(envelope);
                    property.setGeoSpatial(true);
                    imageManager = new ImageManager(property);
                }
            } else {
                throw new DataSourceException("The specified path doesn't exist or can't be read: " + filePath);
            }
        } catch (IOException ioe) {
            DataSourceException dse = new DataSourceException("IOException occurred while accessing the specified path " + filePath);
            dse.initCause(ioe);
            throw dse;
       
        } finally {
            // Release resources. Close stream and dispose reader
            if (stream != null) {
                try {
                    stream.close();
                } catch (Throwable t) {

                }
            }
            if (reader != null) {
                try {
                    reader.dispose();
                } catch (Throwable t) {

                }
            }
            if (gtReader != null) {
                try {
                    gtReader.dispose();
                } catch (Throwable t) {

                }
            }
        }
View Full Code Here

        Multipart multipart = (Multipart) body.getContent();
        return multipart;
    }

    private GridCoverage2D readCoverage(InputStream is) throws Exception {
        GeoTiffReader reader = new GeoTiffReader(is);
        GridCoverage2D coverage = (GridCoverage2D) reader.read(null);
        reader.dispose();
        return coverage;
    }
View Full Code Here

        // did we get lucky and all we need to do is to copy a file over?
        final Object fileSource = coverage.getProperty(AbstractGridCoverage2DReader.FILE_SOURCE_PROPERTY);
        if (fileSource != null && fileSource instanceof String) {
            File file = new File((String) fileSource);
            if(file.exists()) {
                GeoTiffReader reader = null;
                FileInputStream fis = null;
                try {
                    // geotiff reader won't read unreferenced tiffs unless we tell it to
                    if(unreferenced) {
                        // just check if it has the proper extension for the moment, until
                        // we get a more reliable way to check if it's a tiff
                        String name = file.getName().toLowerCase();
                        if(!name.endsWith(".tiff") && !name.endsWith(".tif")) {
                            throw new IOException("Not a tiff");
                        }
                    } else {
                        reader = new GeoTiffReader(file);
                        reader.read(null);
                    }
                    // ooh, a geotiff already!
                    fis = new FileInputStream(file);
                    IOUtils.copyLarge(fis, os);
                    return;
                } catch(Exception e) {
                    // ok, not a geotiff!
                } finally {
                    if(reader != null) {
                        reader.dispose();
                    }
                    if(fis != null) {
                        fis.close();
                    }
                }
View Full Code Here

                new NullProgressListener() // progressListener
                );

        // Final checks on the result
        Assert.assertNotNull(rasterZip);
        GeoTiffReader reader = null;
        GridCoverage2D gc = null, gcResampled = null;
        try {
            final File[] tiffFiles = extractTIFFFile(rasterZip);
            Assert.assertNotNull(tiffFiles);
            Assert.assertTrue(tiffFiles.length > 0);
            reader = new GeoTiffReader(tiffFiles[0]);
            gc = reader.read(null);

            Assert.assertNotNull(gc);

            Assert.assertEquals(-130.88669845369998,
                    gc.getEnvelope().getLowerCorner().getOrdinate(0), 1E-6);
            Assert.assertEquals(48.611129008700004, gc.getEnvelope().getLowerCorner()
                    .getOrdinate(1), 1E-6);
            Assert.assertEquals(-123.95304462109999,
                    gc.getEnvelope().getUpperCorner().getOrdinate(0), 1E-6);
            Assert.assertEquals(54.0861661371, gc.getEnvelope().getUpperCorner().getOrdinate(1),
                    1E-6);

        } finally {
            if (gc != null) {
                CoverageCleanerCallback.disposeCoverage(gc);
            }
            if (reader != null) {
                reader.dispose();
            }

            // clean up process
            resourceManager.finished(resourceManager.getExecutionId(true));
        }
        // Download the coverage as tiff (Reprojected)
        File resampledZip = downloadProcess.execute(getLayerId(MockData.USA_WORLDIMG), // layerName
                null, // filter
                "image/tiff", // outputFormat
                CRS.decode("EPSG:900913", true), // targetCRS
                CRS.decode("EPSG:900913", true), // roiCRS
                roiResampled, // roi
                true, // cropToGeometry
                new NullProgressListener() // progressListener
                );
        // Final checks on the result
        Assert.assertNotNull(resampledZip);

        try {
            File[] files = extractTIFFFile(resampledZip);
            reader = new GeoTiffReader(files[files.length - 1]);
            gcResampled = reader.read(null);

            Assert.assertNotNull(gcResampled);

            Assert.assertEquals(-1.457024062347863E7, gcResampled.getEnvelope().getLowerCorner()
                    .getOrdinate(0), 1E-6);
            Assert.assertEquals(6209706.404894806, gcResampled.getEnvelope().getLowerCorner()
                    .getOrdinate(1), 1E-6);
            Assert.assertEquals(-1.379838980949677E7, gcResampled.getEnvelope().getUpperCorner()
                    .getOrdinate(0), 1E-6);
            Assert.assertEquals(7187128.139081598, gcResampled.getEnvelope().getUpperCorner()
                    .getOrdinate(1), 1E-6);

        } finally {

            if (gcResampled != null) {
                CoverageCleanerCallback.disposeCoverage(gcResampled);
            }
            if (reader != null)

                reader.dispose();
            // clean up process
            resourceManager.finished(resourceManager.getExecutionId(true));
        }

    }
View Full Code Here

        assertEquals("image/tiff", response.getContentType());
        byte[] tiffContents = getBinary(response);
        File file = File.createTempFile("bm_gtiff", "bm_gtiff.tiff", new File("./target"));
        FileUtils.writeByteArrayToFile(file, tiffContents);

        final GeoTiffReader reader = new GeoTiffReader(file);
        assertTrue(CRS.equalsIgnoreMetadata(reader.getCoordinateReferenceSystem(), CRS.decode("EPSG:4326",true)));
        assertEquals(360, reader.getOriginalGridRange().getSpan(0));
        assertEquals(360, reader.getOriginalGridRange().getSpan(1));
        final GridCoverage2D coverage = reader.read(null);
        assertEquals(1, coverage.getSampleDimensions().length);
       
        GridCoverage2D sourceCoverage = (GridCoverage2D) this.getCatalog().getCoverageByName("BlueMarble").getGridCoverageReader(null, null).read(null);
        assertEnvelopeEquals(sourceCoverage, coverage);
        reader.dispose()
        scheduleForCleaning(coverage);
        scheduleForCleaning(sourceCoverage);  
    }
View Full Code Here

        assertEquals("image/tiff", response.getContentType());
        byte[] tiffContents = getBinary(response);
        File file = File.createTempFile("bm_gtiff", "bm_gtiff.tiff", new File("./target"));
        FileUtils.writeByteArrayToFile(file, tiffContents);

        final GeoTiffReader reader = new GeoTiffReader(file);
        assertTrue(CRS.equalsIgnoreMetadata(reader.getCoordinateReferenceSystem(), CRS.decode("EPSG:4326",true)));
        assertEquals(360, reader.getOriginalGridRange().getSpan(0));
        assertEquals(360, reader.getOriginalGridRange().getSpan(1));
        final GridCoverage2D coverage = reader.read(null);
        assertEquals(5, coverage.getSampleDimensions().length);
       
        GridCoverage2D sourceCoverage = (GridCoverage2D) this.getCatalog().getCoverageByName("BlueMarble").getGridCoverageReader(null, null).read(null);
        assertEnvelopeEquals(sourceCoverage, coverage);
        reader.dispose()
        scheduleForCleaning(coverage);
        scheduleForCleaning(sourceCoverage);  
    }
View Full Code Here

        assertEquals("image/tiff", response.getContentType());
        byte[] tiffContents = getBinary(response);
        File file = File.createTempFile("gtiff", "gtiff.tiff", new File("./target"));
        FileUtils.writeByteArrayToFile(file, tiffContents);

        final GeoTiffReader reader = new GeoTiffReader(file);
        assertTrue(CRS.equalsIgnoreMetadata(reader.getCoordinateReferenceSystem(), CRS.decode("EPSG:32611",true)));
        assertEquals(68, reader.getOriginalGridRange().getSpan(0));
        assertEquals(56 , reader.getOriginalGridRange().getSpan(1));
        final GridCoverage2D coverage = reader.read(null);
        assertEquals(3, coverage.getSampleDimensions().length);
       
        GridCoverage2D sourceCoverage = (GridCoverage2D) this.getCatalog().getCoverageByName("multiband").getGridCoverageReader(null, null).read(null);
        assertEnvelopeEquals(sourceCoverage, coverage);
        reader.dispose()
        scheduleForCleaning(coverage);
        scheduleForCleaning(sourceCoverage);  
    }
View Full Code Here

        assertEquals("image/tiff", response.getContentType());
        byte[] tiffContents = getBinary(response);
        File file = File.createTempFile("gtiff", "gtiff.tiff", new File("./target"));
        FileUtils.writeByteArrayToFile(file, tiffContents);

        final GeoTiffReader reader = new GeoTiffReader(file);
        assertTrue(CRS.equalsIgnoreMetadata(reader.getCoordinateReferenceSystem(), CRS.decode("EPSG:32611",true)));
        assertEquals(68, reader.getOriginalGridRange().getSpan(0));
        assertEquals(56 , reader.getOriginalGridRange().getSpan(1));
        final GridCoverage2D coverage = reader.read(null);
        assertEquals(4, coverage.getSampleDimensions().length);
       
        GridCoverage2D sourceCoverage = (GridCoverage2D) this.getCatalog().getCoverageByName("multiband").getGridCoverageReader(null, null).read(null);
        assertEnvelopeEquals(sourceCoverage, coverage);
        reader.dispose()
        scheduleForCleaning(coverage);
        scheduleForCleaning(sourceCoverage);  
    }
View Full Code Here

TOP

Related Classes of org.geotools.gce.geotiff.GeoTiffReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.