Package org.geotools.referencing.operation.builder

Examples of org.geotools.referencing.operation.builder.GridToEnvelopeMapper


                        double newEast = west + cols * xResolution;
                        double newNorth = south + rows * yResolution;

                        ReferencedEnvelope referencedEnvelope = new ReferencedEnvelope(west, newEast, south, newNorth, crs);

                        GridToEnvelopeMapper g2eMapper = new GridToEnvelopeMapper();
                        g2eMapper.setEnvelope(referencedEnvelope);
                        GridEnvelope2D gridEnvelope2D = new GridEnvelope2D(0, 0, (int) cols, (int) rows);
                        g2eMapper.setGridRange(gridEnvelope2D);
                        g2eMapper.setPixelAnchor(PixelInCell.CELL_CENTER);
                        MathTransform gridToEnvelopeTransform = g2eMapper.createTransform();

                        GridGeometry outputGridGeometry = new GridGeometry2D(gridEnvelope2D, gridToEnvelopeTransform, crs);

                        GridCoverage2D coverage2D = JGrassCatalogUtilities.getGridcoverageFromGrassraster(jgMEnv, sourceRegion);
                        // GrassCoverageReadParam gcReadParam = new
View Full Code Here


        GeneralEnvelope levelEnvelope = getGridEnvelope(rasterIndex, pyramidLevel);
        GridEnvelope levelGridRange = getGridRange(rasterIndex, pyramidLevel);

        // create a raster to model transform, from this tile pixel space to the tile's geographic
        // extent
        GridToEnvelopeMapper geMapper = new GridToEnvelopeMapper(levelGridRange, levelEnvelope);
        geMapper.setPixelAnchor(PixelInCell.CELL_CORNER);

        MathTransform rasterToModel = geMapper.createTransform();
        return rasterToModel;
    }
View Full Code Here

        //
        // setting the higher resolution available for this coverage
        //
        // ///
        highestRes = getResolution(originalEnvelope, actualDim, crs);
        final GridToEnvelopeMapper mapper = new GridToEnvelopeMapper(originalGridRange, originalEnvelope);
        mapper.setPixelAnchor(PixelInCell.CELL_CENTER);
        this.raster2Model=mapper.createTransform();

      }


    }
View Full Code Here

          new Rectangle(
              (int) Math.round(originalEnvelope.getSpan(0)/ highestRes[0]),
              (int) Math.round(originalEnvelope.getSpan(1)/ highestRes[1])
              )
          );
      final GridToEnvelopeMapper geMapper= new GridToEnvelopeMapper(originalGridRange,originalEnvelope);
      geMapper.setPixelAnchor(PixelInCell.CELL_CORNER);
      raster2Model= geMapper.createTransform();
     
             if(LOGGER.isLoggable(Level.FINE)){
                    LOGGER.fine("Parsed pyramid properties file at:"+sourceURL.toExternalForm());
             }
    }  finally {
View Full Code Here

        // Calculate the expected results
        final GeneralEnvelope temp = new GeneralEnvelope(CRS.transform(gridGeometry.getEnvelope(),
                coverageProperties.crs2D));
        temp.setCoordinateReferenceSystem(coverageProperties.crs2D);
        temp.intersect(coverageProperties.getBbox());
        final GridToEnvelopeMapper geMapper = new GridToEnvelopeMapper(
                new GridEnvelope2D(gridRange), temp);
        final AffineTransform tempTransform = geMapper.createAffineTransform();
        double[] calculatedResolution = new double[] { XAffineTransform.getScaleX0(tempTransform),
                XAffineTransform.getScaleY0(tempTransform) };

        // Ensure is not empty
        assertTrue(!helper.isEmpty());
View Full Code Here

        }
       
        public MathTransform getOriginalGridToWorld(final PixelInCell pixInCell) {
            synchronized (this) {
                if (coverageGridToWorld2D == null) {
                    final GridToEnvelopeMapper geMapper = new GridToEnvelopeMapper(gridEnvelope,
                            coverageEnvelope);
                    geMapper.setPixelAnchor(PixelInCell.CELL_CENTER);
                    coverageGridToWorld2D = (MathTransform2D) geMapper.createTransform();
                }
            }

            // we do not have to change the pixel datum
            if (pixInCell == PixelInCell.CELL_CENTER)
View Full Code Here

            // the crs of the request and the one of the coverage are NOT the
            // same and the conversion is not , we can get the resolution from envelope + raster directly
            //
            GridGeometry2D gridGeometry;
            if (needsReprojection) {
                final GridToEnvelopeMapper geMapper = new GridToEnvelopeMapper(new GridEnvelope2D(
                        computedRasterArea), computedBBox);
                computedGridToWorld = geMapper.createAffineTransform();
                if (accurateResolution) {
                    gridGeometry = requestedGridGeometry;
                } else {
                    gridGeometry = new GridGeometry2D(new GridEnvelope2D(computedRasterArea),
                            computedBBox);
View Full Code Here


    RasterSymbolizer rs = extractRasterSymbolizer(sld);

                // do the rendering and check the final color model
    GridToEnvelopeMapper gtoem = new GridToEnvelopeMapper();
    gtoem.setEnvelope(envelope);
    gtoem.setGridRange(new GridEnvelope2D(0, 0, 50, 50));
    gtoem.setPixelAnchor(PixelInCell.CELL_CORNER);
    final GridCoverageRenderer renderer= new GridCoverageRenderer(
            DefaultGeographicCRS.WGS84,
            ReferencedEnvelope.reference(envelope),
            new Rectangle(0,0,50,50),
            gtoem.createAffineTransform().createInverse());
   
    // bilinear
    RenderedImage image = renderer.renderImage(gc, rs, new InterpolationBilinear(), null, 256, 256);
    assertNotNull(image);
    assertNotNull(PlanarImage.wrapRenderedImage(image));
View Full Code Here

          //it is already a bbox
            coverageBBox = new ReferencedEnvelope(coverageEnvelope);
        }
       
        // compute the approximated full resolution in wgs84
        final GridToEnvelopeMapper geMapper= new GridToEnvelopeMapper(new GridEnvelope2D(coverageRasterArea),coverageGeographicBBox);
        approximateCoverageWGS84FullResolution=CoverageUtilities.getResolution(geMapper.createAffineTransform());
    }
View Full Code Here

            }
            // XXX Optimize when referenced envelope has intersection method that actually retains the CRS, this is the JTS one
            requestedBBox=new ReferencedEnvelope(((ReferencedEnvelope) requestedBBox).intersection(coverageBBox),coverageCRS2D);
            //compute approximate full resolution
            // compute the approximated full resolution in wgs84
            final GridToEnvelopeMapper geMapper= new GridToEnvelopeMapper(new GridEnvelope2D(requestedRasterArea),requestedBBox);
            requestedResolution=CoverageUtilities.getResolution(geMapper.createAffineTransform());
           
            return;
        } catch (TransformException te) {
            // something bad happened while trying to transform this
            // envelope. let's try with wgs84
            if(LOGGER.isLoggable(Level.FINE))
              LOGGER.log(Level.FINE,te.getLocalizedMessage(),te);
        }

        // //
        //
        // If this does not work, we go back to reproject in the wgs84
        // requested envelope
        //             
        // //
      //convert to WGS84
      final GeographicBoundingBoxImpl geographicRequestedBBox = new GeographicBoundingBoxImpl(requestedBBox);
        ReferencedEnvelope approximateWGS84requestedBBox =GridCoverageUtilities.getReferencedEnvelopeFromGeographicBoundingBox(geographicRequestedBBox);

        // checking the intersection in wgs84 with the geographicbbox for this coverage
        if (!approximateWGS84requestedBBox.intersects((BoundingBox)coverageGeographicBBox))
        {
          requestedBBox =  null;
          return;
        }
        //compute approximate full resolution
        // compute the approximated full resolution in wgs84
        final GridToEnvelopeMapper geMapper= new GridToEnvelopeMapper(new GridEnvelope2D(requestedRasterArea),approximateWGS84requestedBBox);
        approximateWGS84RequestedResolution=CoverageUtilities.getResolution(geMapper.createAffineTransform());

        // intersect with the coverage native WGS84 bbox
        // note that for the moment we got to use general envelope since there is no intersection othrewise
        // TODO fix then we'll have intersection in ReferencedEnvelope
        approximateWGS84requestedBBox=new ReferencedEnvelope(approximateWGS84requestedBBox.intersection(coverageGeographicBBox),DefaultGeographicCRS.WGS84);
View Full Code Here

TOP

Related Classes of org.geotools.referencing.operation.builder.GridToEnvelopeMapper

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.