Package org.geotools.coverage.grid

Examples of org.geotools.coverage.grid.GeneralGridEnvelope


        }

        // now get the requested bbox which have been already adjusted and
        // project it back to raster space
        try {
            destinationRasterArea = new GeneralGridEnvelope(CRS.transform(
                    requestedWorldToGrid, new GeneralEnvelope(cropBBox)),
                    PixelInCell.CELL_CORNER, false).toRectangle();
        } catch (IllegalStateException e) {
            throw new DataSourceException(e);
        } catch (TransformException e) {
View Full Code Here


                    (level.resolutionY / baseLevel.resolutionY)
                            * baseReadParameters.getSourceYSubsampling(), 0, 0);
            g2w.concatenate(adjustments);
            finalGridToWorldCorner = new AffineTransform2D(g2w);
            finalWorldToGridCorner = finalGridToWorldCorner.inverse();
            rasterBounds = new GeneralGridEnvelope(CRS.transform(
                    finalWorldToGridCorner, bbox), PixelInCell.CELL_CORNER,
                    false).toRectangle();

            final GranuleWorker worker = new GranuleWorker(
                    new ReferencedEnvelope(coverageEnvelope), baseGridToWorld);
View Full Code Here

        // can just use the envelope, but we need to use the G2W
        Map <String, String> properties = new HashMap<String,String>();
        properties.put(AbstractGridCoverage2DReader.FILE_SOURCE_PROPERTY, location);
       
        return coverageFactory.create(rasterManager.getCoverageIdentifier(),
                data, new GridGeometry2D(new GeneralGridEnvelope(data, 2),
                        PixelInCell.CELL_CORNER, finalGridToWorldCorner,
                        this.rasterManager.getCoverageCRS(), null), bands,
                null, properties);

    }
View Full Code Here

        Map grid = cInfoReader.grid();
        if ( grid != null ) {
            int[] low = (int[]) grid.get( "low" );
            int[] high = (int[]) grid.get( "high" );
           
            GeneralGridEnvelope range = new GeneralGridEnvelope(low, high);
           
            Map<String,Double> tx = (Map<String, Double>) grid.get( "geoTransform" );
            if ( tx != null ) {
                double[] matrix = new double[3 * 3];
                matrix[0] = tx.get( "scaleX") != null ? tx.get( "scaleX") : matrix[0];
                matrix[1] = tx.get( "shearX") != null ? tx.get( "shearX") : matrix[1];
                matrix[2] = tx.get( "translateX") != null ? tx.get( "translateX") : matrix[2];
                matrix[3] = tx.get( "shearY") != null ? tx.get( "shearY") : matrix[3];
                matrix[4] = tx.get( "scaleY") != null ? tx.get( "scaleY") : matrix[4];
                matrix[5] = tx.get( "translateY") != null ? tx.get( "translateY") : matrix[5];
                matrix[8] = 1.0;
               
                MathTransform gridToCRS = new DefaultMathTransformFactory()
                    .createAffineTransform( new GeneralMatrix(3,3,matrix));
                coverage.setGrid( new GridGeometry2D(range,gridToCRS,crs) );
            }
            else {
                coverage.setGrid( new GridGeometry2D( range, gridEnvelope ) );
            }
        }
        else {
            // new grid range
            GeneralGridEnvelope range = new GeneralGridEnvelope(new int[] { 0,
                    0 }, new int[] { 1, 1 });
            coverage.setGrid( new GridGeometry2D(range, gridEnvelope) );
        }
       
        for ( Iterator x = cInfoReader.coverageDimensions().iterator(); x   .hasNext(); ) {
View Full Code Here

                    new SingleValueConverterWrapper( new SRSConverter() ));
                reader.moveUp();
            }
           
            // new grid range
            GeneralGridEnvelope gridRange = new GeneralGridEnvelope(low, high);
           
            GridGeometry2D gg = new GridGeometry2D( gridRange, gridToCRS, crs );
            return serializationMethodInvoker.callReadResolve(gg);
        }
View Full Code Here

      //
      // Reading the coverage
      //
      // /////////////////////////////////////////////////////////
      parameters.put(AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString(),
          new GridGeometry2D(new GeneralGridEnvelope(destinationSize), destinationEnvelopeInSourceCRS));
 
      final GridCoverage coverage = coverageReader.read(CoverageUtils.getParameters(
                  coverageReader.getFormat().getReadParameters(), parameters, true));
 
      if ((coverage == null) || !(coverage instanceof GridCoverage2D)) {
          throw new IOException("The requested coverage could not be found.");
      }
 
      /**
       * Band Select
       */
      /*
      Coverage bandSelectedCoverage = null;
 
      bandSelectedCoverage = WCSUtils.bandSelect(request.getParameters(), coverage);
    */
      /**
       * Crop
       */
      final GridCoverage2D croppedGridCoverage = BilWCSUtils.crop(coverage,
              (GeneralEnvelope) coverage.getEnvelope(), cvCRS, destinationEnvelopeInSourceCRS,
              Boolean.TRUE);
     
      /**
       * Scale/Resampling (if necessary)
       */
      //GridCoverage2D subCoverage = null;
      GridCoverage2D subCoverage = croppedGridCoverage;
      final GeneralGridEnvelope newGridrange = new GeneralGridEnvelope(destinationSize);
 
      /*if (!newGridrange.equals(croppedGridCoverage.getGridGeometry()
                      .getGridRange())) {*/
      subCoverage = BilWCSUtils.scale(croppedGridCoverage, newGridrange, croppedGridCoverage, cvCRS,
              destinationEnvelopeInSourceCRS);
View Full Code Here

                    new SingleValueConverterWrapper( new SRSConverter() ));
                reader.moveUp();
            }
           
            // new grid range
            GeneralGridEnvelope gridRange = new GeneralGridEnvelope(low, high);
           
            GridGeometry2D gg = new GridGeometry2D( gridRange, gridToCRS, crs );
            return serializationMethodInvoker.callReadResolve(gg);
        }
View Full Code Here

            originalEnvelope.getMinimum(0)+originalEnvelope.getSpan(0)/2,
            originalEnvelope.getMaximum(1)
            );
       
        final MathTransform cornerWorldToGrid = PixelTranslation.translate(expectedTx,PixelInCell.CELL_CENTER,PixelInCell.CELL_CORNER);
        final GeneralGridEnvelope expectedGridEnvelope = new GeneralGridEnvelope(CRS.transform(cornerWorldToGrid.inverse(), newEnvelope),PixelInCell.CELL_CORNER,false);
        final StringBuilder envelopeBuilder= new StringBuilder();
        envelopeBuilder.append(newEnvelope.getMinimum(0)).append(",");
        envelopeBuilder.append(newEnvelope.getMinimum(1)).append(",");
        envelopeBuilder.append(newEnvelope.getMaximum(0)).append(",");
        envelopeBuilder.append(newEnvelope.getMaximum(1));
View Full Code Here

      //
      // Reading the coverage
      //
      // /////////////////////////////////////////////////////////
      parameters.put(AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString(),
          new GridGeometry2D(new GeneralGridEnvelope(destinationSize), destinationEnvelopeInSourceCRS));
 
      final GridCoverage coverage = coverageReader.read(CoverageUtils.getParameters(
                  coverageReader.getFormat().getReadParameters(), parameters, true));
 
      if ((coverage == null) || !(coverage instanceof GridCoverage2D)) {
          throw new IOException("The requested coverage could not be found.");
      }
 
      /**
       * Band Select
       */
      /*
      Coverage bandSelectedCoverage = null;
 
      bandSelectedCoverage = WCSUtils.bandSelect(request.getParameters(), coverage);
    */
      /**
       * Crop
       */
      final GridCoverage2D croppedGridCoverage = BilWCSUtils.crop(coverage,
              (GeneralEnvelope) coverage.getEnvelope(), cvCRS, destinationEnvelopeInSourceCRS,
              Boolean.TRUE);
     
      /**
       * Scale/Resampling (if necessary)
       */
      //GridCoverage2D subCoverage = null;
      GridCoverage2D subCoverage = croppedGridCoverage;
      final GeneralGridEnvelope newGridrange = new GeneralGridEnvelope(destinationSize);
 
      /*if (!newGridrange.equals(croppedGridCoverage.getGridGeometry()
                      .getGridRange())) {*/
      subCoverage = BilWCSUtils.scale(croppedGridCoverage, newGridrange, croppedGridCoverage, cvCRS,
              destinationEnvelopeInSourceCRS);
View Full Code Here

        Map grid = cInfoReader.grid();
        if ( grid != null ) {
            int[] low = (int[]) grid.get( "low" );
            int[] high = (int[]) grid.get( "high" );
           
            GeneralGridEnvelope range = new GeneralGridEnvelope(low, high);
           
            Map<String,Double> tx = (Map<String, Double>) grid.get( "geoTransform" );
            if ( tx != null ) {
                double[] matrix = new double[3 * 3];
                matrix[0] = tx.get( "scaleX") != null ? tx.get( "scaleX") : matrix[0];
                matrix[1] = tx.get( "shearX") != null ? tx.get( "shearX") : matrix[1];
                matrix[2] = tx.get( "translateX") != null ? tx.get( "translateX") : matrix[2];
                matrix[3] = tx.get( "shearY") != null ? tx.get( "shearY") : matrix[3];
                matrix[4] = tx.get( "scaleY") != null ? tx.get( "scaleY") : matrix[4];
                matrix[5] = tx.get( "translateY") != null ? tx.get( "translateY") : matrix[5];
                matrix[8] = 1.0;
               
                MathTransform gridToCRS = new DefaultMathTransformFactory()
                    .createAffineTransform( new GeneralMatrix(3,3,matrix));
                coverage.setGrid( new GridGeometry2D(range,gridToCRS,crs) );
            }
            else {
                coverage.setGrid( new GridGeometry2D( range, gridEnvelope ) );
            }
        }
        else {
            // new grid range
            GeneralGridEnvelope range = new GeneralGridEnvelope(new int[] { 0,
                    0 }, new int[] { 1, 1 });
            coverage.setGrid( new GridGeometry2D(range, gridEnvelope) );
        }
       
        for ( Iterator x = cInfoReader.coverageDimensions().iterator(); x   .hasNext(); ) {
View Full Code Here

TOP

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

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.