Package org.geotools.coverage.grid

Examples of org.geotools.coverage.grid.GridEnvelope2D


   
        return coverageFactory.create(
                rasterManager.getCoverageIdentifier(),
                image,
                new GridGeometry2D(
                        new GridEnvelope2D(PlanarImage.wrapRenderedImage(image).getBounds()),
                        PixelInCell.CELL_CORNER,
                        finalGridToWorldCorner,
                        this.rasterManager.getCoverageCRS(),
                        hints),
                bands,
View Full Code Here


        // resolution
        //
        // //
        final Rectangle originalDim = new Rectangle(0, 0, reader.getWidth(0), reader.getHeight(0));
        if (originalGridRange == null) {
            originalGridRange=new GridEnvelope2D(originalDim);
        }

        // ///
        //
        // setting the higher resolution available for this coverage
View Full Code Here

    GridGeometry2D getRasterGridGeometry(CoordinateReferenceSystem destinationCrs,
            CoordinateReferenceSystem sourceCRS) throws NoninvertibleTransformException {
        GridGeometry2D readGG;
        if (sourceCRS == null || destinationCrs == null ||
                CRS.equalsIgnoreMetadata(destinationCrs, sourceCRS)) {
            readGG = new GridGeometry2D(new GridEnvelope2D(screenSize),
                    originalMapExtent);
        } else {
            // reprojection involved, read a bit more pixels to account for rotation
            Rectangle bufferedTargetArea = (Rectangle) screenSize.clone();
            bufferedTargetArea.add( // exand top/right
                    screenSize.x + screenSize.width + REPROJECTION_RASTER_GUTTER,
                    screenSize.y + screenSize.height + REPROJECTION_RASTER_GUTTER);
            bufferedTargetArea.add( // exand bottom/left
                    screenSize.x - REPROJECTION_RASTER_GUTTER,
                    screenSize.y - REPROJECTION_RASTER_GUTTER);

            // now create the final envelope accordingly
            readGG = new GridGeometry2D(new GridEnvelope2D(bufferedTargetArea),
                    PixelInCell.CELL_CORNER, new AffineTransform2D(
                            worldToScreenTransform.createInverse()),
                    originalMapExtent.getCoordinateReferenceSystem(), null);
        }
        return readGG;
View Full Code Here

        cropEnvelope.setCoordinateReferenceSystem(reader.getCrs());

        final ParameterValue gg = (ParameterValue) ((AbstractGridFormat) reader.getFormat()).READ_GRIDGEOMETRY2D
            .createValue();
        gg.setValue(new GridGeometry2D(
                new GridEnvelope2D(
                    new Rectangle(0, 0, (int) (range.width / 2.0 / cropFactor),
                        (int) (range.height / 2.0 / cropFactor))), cropEnvelope));
        gc = (GridCoverage2D) reader.read(new GeneralParameterValue[] { gg });
        forceDataLoading(gc);
    }
View Full Code Here

                        oldEnvelope.getUpperCorner().getOrdinate(1) });
        cropEnvelope.setCoordinateReferenceSystem(reader.getCrs());

        final ParameterValue gg = (ParameterValue) ((AbstractGridFormat) reader
                .getFormat()).READ_GRIDGEOMETRY2D.createValue();
        gg.setValue(new GridGeometry2D(new GridEnvelope2D(new Rectangle(0, 0,
                (int) (range.width / 4.0 / cropFactor),
                (int) (range.height / 4.0 / cropFactor))), cropEnvelope));
        gc = (GridCoverage2D) reader.read(new GeneralParameterValue[] { gg });
        Assert.assertNotNull(gc);
        // NOTE: in some cases might be too restrictive
        Assert.assertTrue(cropEnvelope.equals(gc.getEnvelope(), XAffineTransform
                .getScale(((AffineTransform) ((GridGeometry2D) gc
                        .getGridGeometry()).getGridToCRS2D())) / 2, true));

        forceDataLoading(gc);

        // /////////////////////////////////////////////////////////////////////
        //
        // Attempt to read an envelope which doesn't intersect the dataset one
        //
        // /////////////////////////////////////////////////////////////////////
        final double translate0 = oldEnvelope.getSpan(0) + 100;
        final double translate1 = oldEnvelope.getSpan(1) + 100;
        final GeneralEnvelope wrongEnvelope = new GeneralEnvelope(new double[] {
                oldEnvelope.getLowerCorner().getOrdinate(0) + translate0,
                oldEnvelope.getLowerCorner().getOrdinate(1) + translate1 },
                new double[] {
                        oldEnvelope.getUpperCorner().getOrdinate(0)
                                + translate0,

                        oldEnvelope.getUpperCorner().getOrdinate(1)
                                + translate1 });
        wrongEnvelope.setCoordinateReferenceSystem(reader.getCrs());

        final ParameterValue gg2 = (ParameterValue) ((AbstractGridFormat) reader
                .getFormat()).READ_GRIDGEOMETRY2D.createValue();
        gg2.setValue(new GridGeometry2D(new GridEnvelope2D(new Rectangle(0,
                0, (int) (range.width), (int) (range.height))), wrongEnvelope));

        gc = (GridCoverage2D) reader.read(new GeneralParameterValue[] { gg2 });
        Assert.assertNull("Wrong envelope requested", gc);
    }
View Full Code Here

            oldEnvelope.getUpperCorner().getOrdinate(1) });
    cropEnvelope.setCoordinateReferenceSystem(reader.getCrs());

    final ParameterValue gg = (ParameterValue) ((AbstractGridFormat) reader
        .getFormat()).READ_GRIDGEOMETRY2D.createValue();
    gg.setValue(new GridGeometry2D(new GridEnvelope2D(new Rectangle(0, 0,
        (int) (range.width / 2.0 / cropFactor),
        (int) (range.height / 2.0 / cropFactor))), cropEnvelope));
    gc = (GridCoverage2D) reader.read(new GeneralParameterValue[] { gg });
    forceDataLoading(gc);
  }
View Full Code Here

            finalWorldToGrid = new AffineTransform(worldToScreen);
            finalGridToWorld = finalWorldToGrid.createInverse();
        } else {
            final GridToEnvelopeMapper gridToEnvelopeMapper = new GridToEnvelopeMapper();
            gridToEnvelopeMapper.setPixelAnchor(PixelInCell.CELL_CORNER);
            gridToEnvelopeMapper.setGridRange(new GridEnvelope2D(destinationSize));
            gridToEnvelopeMapper.setEnvelope(destinationEnvelope);
            finalGridToWorld = new AffineTransform(gridToEnvelopeMapper.createAffineTransform());
            finalWorldToGrid = finalGridToWorld.createInverse();
        }
View Full Code Here

        // create a new grid coverage but preserve as much input as possible
       return this.gridCoverageFactory.create(
               input.getName(),
                im,
                new GridGeometry2D(
                        new GridEnvelope2D(PlanarImage.wrapRenderedImage(im).getBounds()),
                        input.getEnvelope()),
                sd,
                new GridCoverage[] { input },
                input.getProperties());   
    }
View Full Code Here

        cropEnvelope.setCoordinateReferenceSystem(reader.getCrs());

        final ParameterValue gg = (ParameterValue) ((AbstractGridFormat) reader.getFormat()).READ_GRIDGEOMETRY2D
            .createValue();
        gg.setValue(new GridGeometry2D(
                new GridEnvelope2D(
                    new Rectangle(0, 0, (int) (range.width / 2.0 / cropFactor),
                        (int) (range.height / 2.0 / cropFactor))), cropEnvelope));
        gc = (GridCoverage2D) reader.read(new GeneralParameterValue[] { gg });
        forceDataLoading(gc);
    }
View Full Code Here

                        originalEnvelope.getMedian().getOrdinate(1)});
        reducedEnvelope.setCoordinateReferenceSystem(reader.getCrs());

        final ParameterValue gg = (ParameterValue) ((AbstractGridFormat) reader
                .getFormat()).READ_GRIDGEOMETRY2D.createValue();
        gg.setValue(new GridGeometry2D(new GridEnvelope2D(new Rectangle(0, 0,
                (int) (range.width / 2.0),
                (int) (range.height / 2.0))), reducedEnvelope));
        gc = (GridCoverage2D) reader.read(new GeneralParameterValue[] { gg });
        Assert.assertNotNull(gc);
        // NOTE: in some cases might be too restrictive
View Full Code Here

TOP

Related Classes of org.geotools.coverage.grid.GridEnvelope2D

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.