Package org.geotools.coverage.grid

Examples of org.geotools.coverage.grid.GridCoverageFactory


     */
    protected static GridCoverage2D createTestCoverage(final int width, final int height,
                    final double envX0, final double envY0,
                    final double envWidth, final double envHeight) {

        final GridCoverageFactory factory = CoverageFactoryFinder.getGridCoverageFactory(null);

        WritableRaster raster =
                RasterFactory.createBandedRaster(DataBuffer.TYPE_FLOAT, width, height, 1, null);
        for (int y = 0; y < height; y++) {
            for (int x = 0; x < width; x++) {
                if( x<50 && y<50 ) { // upper left square: vertical lines
                    if(x % 5 == 0)
                        raster.setSample(x, y, 0, 0);
                    else
                        raster.setSample(x, y, 0, width);
                }
                else if(x < 50 && y > height-50) { // lower left square: horizontal lines
                    if(y % 5 == 0)
                        raster.setSample(x, y, 0, 0);
                    else
                        raster.setSample(x, y, 0, width);
                }
                else if(x > width- 50 && y < 50) { // upper right square: descending diagonal lines
                    if( (x-y) % 5 == 0)
                        raster.setSample(x, y, 0, 0);
                    else
                        raster.setSample(x, y, 0, width);
                }
                else if(x > width- 50 && y > height-50) { // lower right square: ascending diagonal lines
                    if( (x+y) % 5 == 0)
                        raster.setSample(x, y, 0, 0);
                    else
                        raster.setSample(x, y, 0, width);
                }
                else if(x % 50 == 0 || y % 50 == 0 || (x - y) % 100 == 0)
                    raster.setSample(x, y, 0, 0); // bigger lines
                else
                    raster.setSample(x, y, 0, x+y); // normal background
            }
        }
        final Color[] colors = new Color[]{
            Color.BLUE, Color.CYAN, Color.WHITE, Color.YELLOW, Color.RED
        };

        return factory.create("Float coverage", raster,
                new Envelope2D(DefaultGeographicCRS.WGS84, envX0, envY0, envWidth, envHeight),
                null, null,
                null, new Color[][]{colors}, null);
    }
View Full Code Here


                null, null,
                null, new Color[][]{colors}, null);
    }

    private static void view(RenderedImage ri, GridGeometry2D gg, GridSampleDimension[] gsd) {
        final GridCoverageFactory factory = CoverageFactoryFinder.getGridCoverageFactory(null);

        GridCoverage2D rendered = factory.create("Merged coverage", ri,
                gg, gsd, null, null);

        rendered.view(ViewType.RENDERED).show();
    }
View Full Code Here

    // flip now, since grid size may be smaller
    heatMapGrid = flipXY(heatMapGrid);

    // convert to the GridCoverage2D required for output
    final GridCoverageFactory gcf = CoverageFactoryFinder.getGridCoverageFactory(null);
    final GridCoverage2D gridCov = gcf.create(
        "Process Results",
        heatMapGrid,
        argOutputEnv);

    return gridCov;
View Full Code Here

            tileSize,
            tileSize));
    try {
      final AffineTransform2D gridToCRS = new AffineTransform2D(
          worldToScreenTransform.createInverse());
      final GridCoverageFactory gcf = CoverageFactoryFinder.getGridCoverageFactory(null);
      return gcf.create(
          coverageName,
          image,
          new GridGeometry2D(
              new GridEnvelope2D(
                  PlanarImage.wrapRenderedImage(
View Full Code Here

    GridCoverage2D addLocationProperty(GridCoverage2D coverage, File warpedFile) {
        Map <String, String> properties = new HashMap<String,String>();
        properties.put(GridCoverage2DReader.FILE_SOURCE_PROPERTY, warpedFile.getAbsolutePath());

        return new GridCoverageFactory().create(coverage.getName(), coverage.getRenderedImage(),
                coverage.getGridGeometry(), coverage.getSampleDimensions(), null, properties);
    }
View Full Code Here

            WCSDimensionsSubsetHelper helper = parseGridCoverageRequest(cinfo, reader, request, extensions);
            GridCoverageRequest gcr = helper.getGridCoverageRequest();

            //TODO consider dealing with the Format instance instead of a String parsing or check against WCSUtils.isSupportedMDOutputFormat(String).
            final GridCoverageFactory coverageFactory = CoverageFactoryFinder.getGridCoverageFactory(hints);
            if (reader instanceof StructuredGridCoverage2DReader && formatSupportMDOutput(request.getFormat())) {
                // Split the main request into a List of requests in order to read more coverages to be stacked
                final Set<GridCoverageRequest> requests = helper.splitRequestToSet();
                if (requests == null || requests.isEmpty()) {
                    throw new IllegalArgumentException("Splitting requests returned nothing");
View Full Code Here

                ge.getNX(), ge.getNY(), numBands, null);

    Envelope envelope = new Envelope2D((CoordinateReferenceSystem)crs,
                      ge.getXMin(), ge.getYMin(),
                      ge.getWidth(), ge.getHeight());
    GridCoverageFactory factory = CoverageFactoryFinder.getGridCoverageFactory(null);
    GridCoverage2D gc = factory.create(name, (WritableRaster)m_Raster, envelope,
        null, null, null, null, null);
    m_BaseDataObject = gc;
    m_sName = name;
    m_sFilename = filename;
    m_LayerExtent = ge;
View Full Code Here

                  getBandsCount(), null);

      Envelope envelope = new Envelope2D((CoordinateReferenceSystem)m_CRS,
                  gridExtent.getXMin(), gridExtent.getYMin(),
                  gridExtent.getWidth(), gridExtent.getHeight());
      GridCoverageFactory factory = CoverageFactoryFinder.getGridCoverageFactory(null);

      this.setWindowExtent(gridExtent);
      // FIXME: should this also use tiles???
      for (int x = 0; x < gridExtent.getNX(); x++) {
        for (int y = 0; y < gridExtent.getNY(); y++) {
          for (int i = 0; i < getBandsCount(); i++) {
            raster.setSample(x, y, i, this.getCellValueAsDouble(x, y, i));
          }
        }

      }
      m_BaseDataObject = factory.create(getName(), (WritableRaster)raster, envelope,
                      null, null, null, null, null);

      System.gc();
    }
View Full Code Here

                for(int i=1;i<size;i++){
                    worker.addBand(returnValues.get(i).getRenderedImage(), false);
                }
                final GridSampleDimension sds[]= new GridSampleDimension[size];
                Arrays.fill(sds, returnValues.get(0).getSampleDimensions()[0]);
                return new GridCoverageFactory().create(
                        "result",
                        worker.getRenderedImage(),
                        returnValues.get(0).getEnvelope(),
                        sds,
                        null,
View Full Code Here

        }
        mosaic.mkdir();
        System.out.println(mosaic.getAbsolutePath());
       
        // build the reference coverage into a byte array
        GridCoverageFactory factory = new GridCoverageFactory();
        BufferedImage bi = new BufferedImage(10, 10, BufferedImage.TYPE_4BYTE_ABGR);
        ReferencedEnvelope envelope = new ReferencedEnvelope(0, 10, 0, 10, CRS.decode("EPSG:4326"));
        GridCoverage2D test = factory.create("test", bi, envelope);
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        GeoTiffWriter writer = new GeoTiffWriter(bos);
        writer.write(test, null);
        writer.dispose();
       
View Full Code Here

TOP

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

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.