Package org.geotools.coverage.grid.io

Examples of org.geotools.coverage.grid.io.GridCoverage2DReader


        if ("urn:ogc:def:crs:OGC:1.3:CRS84".equals(bbox.getCrs())) {
            bbox.setCrs("EPSG:4326");
        }

        CoordinateReferenceSystem bboxCRs = CRS.decode(bbox.getCrs());
        GridCoverage2DReader reader = (GridCoverage2DReader) meta.getGridCoverageReader(null,
                WCSUtils.getReaderHints(wcs));
        Envelope gridEnvelope = reader.getOriginalEnvelope();
        GeneralEnvelope gridEnvelopeBboxCRS = null;
        if (bboxCRs instanceof GeographicCRS) {
            try {
                CoordinateOperationFactory cof = CRS.getCoordinateOperationFactory(true);
View Full Code Here


        cinfo.setStore(storeInfo);
        cinfo.getMetadata().put(CoverageView.COVERAGE_VIEW, this);
        cinfo.setName(name);
        cinfo.setNativeCoverageName(name);

        GridCoverage2DReader reader = (GridCoverage2DReader) catalog.getResourcePool()
                .getGridCoverageReader(cinfo, name, null);
        builder.setStore(storeInfo);
        return builder.buildCoverage(reader, name, null);
    }
View Full Code Here

                unit = dimensionInfo.getUnit();
            }

            // Getting coverage to parse statistics
            final CoverageStoreInfo storeInfo = coverageInfo.getStore();
            final GridCoverage2DReader reader = (GridCoverage2DReader) geoserverCatalog
                    .getResourcePool().getGridCoverageReader(storeInfo, null);

            GeneralParameterValue[] parameters = parseReadParameters(coverageInfo, map, reader);
            coverage = (GridCoverage2D) reader.read(parameters);

            final double min = (Double) statsFilterFunction.evaluate(coverage, "minimum");
            final double max = (Double) statsFilterFunction.evaluate(coverage, "maximum");

            // Getting a colorMap on top of that
View Full Code Here

       
        MockHttpServletResponse response = postAsServletResponse("wcs", xml);
        assertEquals("image/tiff", response.getContentType());
       
        GeoTiffFormat format = new GeoTiffFormat();
        GridCoverage2DReader reader = format.getReader(getBinaryInputStream(response));
       
        assertEquals(CRS.decode("EPSG:3857"), reader.getOriginalEnvelope().getCoordinateReferenceSystem());
    }
View Full Code Here

     * found.
     */
    private boolean enableDimensions(CoverageInfo ci) {
        boolean timeDimension = false;
        boolean customDimension = false;
        GridCoverage2DReader reader = null;
        try {
            // acquire a reader
            reader = (GridCoverage2DReader) ci.getGridCoverageReader(null, null);
            if (reader == null) {
                throw new RuntimeException("Unable to acquire reader for this coverageinfo: "
                        + ci.getName());
            }

            // inspect dimensions
            final ReaderDimensionsAccessor ra = new ReaderDimensionsAccessor(reader);
            for (String domain : ra.getCustomDomains()) {
                if (LOGGER.isLoggable(Level.FINE)) {
                    boolean hasRange = ra.hasRange(domain);
                    boolean hasResolution = ra.hasResolution(domain);
                    LOGGER.fine(ci.getName() + ": found " + domain + " dimension (hasRange: "
                            + hasRange + ", hasResolution: " + hasResolution + ")");
                }

                DimensionInfo dimension = new DimensionInfoImpl();
                dimension.setEnabled(true);
                dimension.setPresentation(DimensionPresentation.LIST);
                ci.getMetadata().put(ResourceInfo.CUSTOM_DIMENSION_PREFIX + domain, dimension);

                customDimension = true;
            }

            String elev = reader.getMetadataValue(GridCoverage2DReader.HAS_ELEVATION_DOMAIN);
            if (Boolean.parseBoolean(elev)) {
                if (LOGGER.isLoggable(Level.FINE)) {
                    LOGGER.fine(ci.getName() + ": found ELEVATION dimension");
                }

                DimensionInfo dimension = new DimensionInfoImpl();
                dimension.setEnabled(true);
                dimension.setPresentation(DimensionPresentation.LIST);
                ci.getMetadata().put(ResourceInfo.ELEVATION, dimension);

                customDimension = true;
            }

            String time = reader.getMetadataValue(GridCoverage2DReader.HAS_TIME_DOMAIN);
            if (Boolean.parseBoolean(time)) {
                if (LOGGER.isLoggable(Level.FINE)) {
                    LOGGER.fine(ci.getName() + ": found TIME dimension");
                }

View Full Code Here

        // extract incoming reader
        if(!(layer instanceof GridReaderLayer)){
            throw new IllegalStateException("Layer "+layer.getTitle()+" does nto resolve to a coverage");
        }
        final GridReaderLayer gridReaderLayer = (GridReaderLayer)layer;
        final GridCoverage2DReader reader=gridReaderLayer.getReader();
       
        // === assuming now it is an EO BAND layer we must have either 1 or 3 values for the additional domain
       
        // enforce one dimension
        Set<ParameterDescriptor<List>> dimensions;
        try {
            dimensions = reader.getDynamicParameters();
       
            if (dimensions.size() != 1) {
                throw new IllegalStateException("Coverage " + cinfo.getName()
                        + " has a number of dimensions different than 1");
            }
View Full Code Here

        super(delegate);
        this.policy = policy;
    }

    public GridCoverage2DReader getReader(Object source, Hints hints) {
        GridCoverage2DReader reader = delegate.getReader(source, hints);
        if (reader == null) {
            return reader;
        } else {
            return (GridCoverage2DReader) SecuredObjects.secure(reader, policy);
        }
View Full Code Here

            return (GridCoverage2DReader) SecuredObjects.secure(reader, policy);
        }
    }

    public GridCoverage2DReader getReader(Object source) {
        GridCoverage2DReader reader = delegate.getReader(source);
        if (reader == null) {
            return reader;
        } else {
            return (GridCoverage2DReader) SecuredObjects.secure(reader, policy);
        }
View Full Code Here

     *
     * @param ci the {@link CoverageInfo} that contains the description of the GeoServer coverage to read from.
     * @return
     */
    static public GridCoverage2D readSampleGridCoverage(CoverageInfo ci)throws Exception {
        final GridCoverage2DReader reader = getCoverageReader(ci);
        return readSampleGridCoverage(reader);
    }
View Full Code Here

        final GridCoverageReader reader_ = ci.getGridCoverageReader(new DefaultProgressListener(), GeoTools.getDefaultHints());
        if (reader_ == null) {
            throw new Exception("Unable to acquire a reader for this coverage with format: "
                    + store.getFormat().getName());
        }
        final GridCoverage2DReader reader = (GridCoverage2DReader) reader_;
        return reader;
    }
View Full Code Here

TOP

Related Classes of org.geotools.coverage.grid.io.GridCoverage2DReader

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.