Package org.opengis.coverage.grid

Examples of org.opengis.coverage.grid.GridEnvelope


        final GeneralEnvelope originalEnvelope = reader.getOriginalEnvelope();

        final CoordinateReferenceSystem originalCrs = originalEnvelope
                .getCoordinateReferenceSystem();
        final GridEnvelope originalGridRange = reader.getOriginalGridRange();
        final int requestedWidth = originalGridRange.getSpan(0);
        final int requestedHeight = originalGridRange.getSpan(1);

        final GeneralEnvelope requestedEnvelope;
        final GridCoverage2D coverage;
        {
            final double minx = originalEnvelope.getMinimum(0);
View Full Code Here


        final GeneralEnvelope originalEnvelope = reader.getOriginalEnvelope();

        final CoordinateReferenceSystem originalCrs = originalEnvelope
                .getCoordinateReferenceSystem();
        final GridEnvelope originalGridRange = reader.getOriginalGridRange();
        final int requestedWidth = originalGridRange.getSpan(0);
        final int requestedHeight = originalGridRange.getSpan(1);

        final GeneralEnvelope requestedEnvelope;
        requestedEnvelope = new GeneralEnvelope(new ReferencedEnvelope(-100, 100, -100, 100,
                originalCrs));
View Full Code Here

        final GeneralEnvelope originalEnvelope = reader.getOriginalEnvelope();

        final CoordinateReferenceSystem originalCrs = originalEnvelope
                .getCoordinateReferenceSystem();
        final GridEnvelope originalGridRange = reader.getOriginalGridRange();
        final int requestedWidth = originalGridRange.getSpan(0);
        final int requestedHeight = originalGridRange.getSpan(1);

        final GeneralEnvelope nonOverlappingEnvelope;
        nonOverlappingEnvelope = new GeneralEnvelope(new ReferencedEnvelope(300, 500, 300, 500,
                originalCrs));
View Full Code Here

    //
    // getting source gridrange and checking tile dimensions to be not
    // bigger than the original coverage size
    //
    // //
    final GridEnvelope range = inReader.getOriginalGridRange();
    final int w = range.getSpan(0);
    final int h = range.getSpan(1);
    tileWidth = tileWidth > w ? w : tileWidth;
    tileHeight = tileHeight > h ? h : tileHeight;
    message = new StringBuilder("Original range is ").append(range.toString());
    if (LOGGER.isLoggable(Level.FINE))
      LOGGER.fine(message.toString());
    fireEvent(message.toString(), 0);
    message = new StringBuilder("New matrix dimension is (cols,rows)==(")
        .append(tileWidth).append(",").append(tileHeight).append(")");
View Full Code Here

                        throw new DataSourceException("Unable to get a reader for the specified path " + filePath);
                    }
                } else {
                    gtReader = new GeoTiffReader(file);
                    GeneralEnvelope envelope = gtReader.getOriginalEnvelope();
                    GridEnvelope range = gtReader.getOriginalGridRange();
                    final long lastModified = file.lastModified();
                    final ImageProperty property = new ImageProperty(filePath, range.getSpan(0), range.getSpan(1),
                            0, Utils.TIFF_SPI, lastModified);
                    property.setEnvelope(envelope);
                    property.setGeoSpatial(true);
                    imageManager = new ImageManager(property);
                }
View Full Code Here

    message = new StringBuilder("Original envelope is ").append(envelope.toString());
    if (LOGGER.isLoggable(Level.FINE))
      LOGGER.fine(message.toString());
    fireEvent(message.toString(), 0);

    final GridEnvelope range = inReader.getOriginalGridRange();
    message = new StringBuilder("Original range is ").append(range
        .toString());
    if (LOGGER.isLoggable(Level.FINE))
      LOGGER.fine(message.toString());
    fireEvent(message.toString(), 0);

    // new number of rows and columns
    final double newWidth = (range.getSpan(0) * 1.0) / scaleFactor;
    final double newHeight = (range.getSpan(1) * 1.0) / scaleFactor;
    if (tileW > newWidth)
      tileW = newWidth;
    if (tileH > newHeight)
      tileH = newHeight;

    message = new StringBuilder("New dimension is (W,H)==(").append(newWidth).append(",").append(newHeight).append(")");
    if (LOGGER.isLoggable(Level.FINE))
      LOGGER.fine(message.toString());
    fireEvent(message.toString(), 0);

    int newCols = (int) (newWidth / tileW);
    int newRows = (int) (newHeight / tileH);
    final boolean hasRemainingColum = (newWidth % tileW) != 0;
    final boolean hasRemainingRow = (newHeight % tileH) != 0;
    message = new StringBuilder("New matrix dimension is (cols,rows)==(").append(newCols).append(",").append(newRows).append(")");
    if (LOGGER.isLoggable(Level.FINE))
      LOGGER.fine(message.toString());
    fireEvent(message.toString(), 0);

    final double minx = envelope.getMinimum(0);
    final double miny = envelope.getMinimum(1);
    final double maxx = envelope.getMaximum(0);
    final double maxy = envelope.getMaximum(1);

    double _maxx = 0.0;
    double _maxy = 0.0;
    double _minx = 0.0;
    double _miny = 0.0;

   
     
   

    // ///////////////////////////////////////////////////////////////////
    //
    // MAIN LOOP
    //
    //
    // ///////////////////////////////////////////////////////////////////
    newRows += hasRemainingRow ? 1 : 0;
    newCols += hasRemainingColum ? 1 : 0;
    final double totalNumberOfFile = newRows * newCols;

    // getting resolution of each tile
    final double tileGeoWidth = envelope.getSpan(0) / newCols;
    final double tileGeoHeight = envelope.getSpan(1) / newRows;

    final int uppers[] = range.getHigh().getCoordinateValues();
    uppers[0] ++;
    uppers[1] ++;
    final double newRange[] = new double[] { uppers[0] / newCols,uppers[1] / newRows };
    final CoverageProcessor processor = CoverageProcessor.getInstance();
    for (int i = 0; i < newRows; i++)
View Full Code Here

         * @param elevationMetadata
         * @throws Exception
         */
        private void handleGrid(CoverageInfo ci) throws Exception {
          final GridGeometry originalGrid = ci.getGrid();
          final GridEnvelope gridRange=originalGrid.getGridRange();
          final AffineTransform2D gridToCRS = (AffineTransform2D) originalGrid.getGridToCRS();
            final int gridDimension = (gridToCRS != null ? gridToCRS.getSourceDimensions() : 0);

            AttributesImpl attributes = new AttributesImpl();
            attributes.addAttribute("", "dimension", "dimension", "", String.valueOf(gridDimension));

            // RectifiedGrid
            start("gml:RectifiedGrid", attributes);
           
            // Grid Envelope
            String lowers = "";
            String uppers = "";
            for (int r = 0; r < gridDimension; r++) {
                if (gridToCRS.getSourceDimensions() > r) {
                    lowers += (gridRange.getLow(r) + " ");
                    uppers += (gridRange.getHigh(r) + " ");
                } else {
                    lowers += (0 + " ");
                    uppers += (0 + " ");
                }
            }
View Full Code Here

        GeneralEnvelope envelope = reader.getOriginalEnvelope();
        cinfo.setNativeBoundingBox(new ReferencedEnvelope(envelope));
        cinfo.setLatLonBoundingBox(new ReferencedEnvelope(CoverageStoreUtils.getWGS84LonLatEnvelope(envelope)));

        GridEnvelope originalRange = reader.getOriginalGridRange();
        cinfo.setGrid(new GridGeometry2D(originalRange, reader.getOriginalGridToWorld(PixelInCell.CELL_CENTER), nativeCRS));

        // /////////////////////////////////////////////////////////////////////
        //
        // Now reading a fake small GridCoverage just to retrieve meta
        // information about bands:
        //
        // - calculating a new envelope which is 1/20 of the original one
        // - reading the GridCoverage subset
        //
        // /////////////////////////////////////////////////////////////////////
        Format format = csinfo.getFormat();
        final GridCoverage2D gc;

        final ParameterValueGroup readParams = format.getReadParameters();
        final Map parameters = CoverageUtils.getParametersKVP(readParams);
        final int minX = originalRange.getLow(0);
        final int minY = originalRange.getLow(1);
        final int width = originalRange.getSpan(0);
        final int height = originalRange.getSpan(1);
        final int maxX = minX + (width <= 5 ? width : 5);
        final int maxY = minY + (height <= 5 ? height : 5);

        // we have to be sure that we are working against a valid grid range.
        final GridEnvelope2D testRange = new GridEnvelope2D(minX, minY, maxX, maxY);
View Full Code Here

        GridType grid = (GridType) gc.getDomainSubset().getSpatialSubset().getGrid().get(0);
        assertEquals(grid.getSrsName(), "EPSG:4326");
        assertEquals(grid.getAxisName().get(0), "Column");
        assertEquals(grid.getAxisName().get(1), "Row");

        GridEnvelope gridLimits = grid.getLimits();
        assertEquals(0, gridLimits.getLow(0));
        assertEquals(0, gridLimits.getLow(1));
        assertEquals(544, gridLimits.getHigh(0));
        assertEquals(489, gridLimits.getHigh(1));

        RangeSubsetType rangeSet = gc.getRangeSubset();
        AxisSubsetType axisSubset = (AxisSubsetType) rangeSet.getAxisSubset().get(0);
        assertEquals("Band", axisSubset.getName());
        assertEquals(axisSubset.getSingleValue().size(), 0);
View Full Code Here

        assertEquals(original.getEnvelope().getMinimum(1), gc.getEnvelope().getMinimum(1), EPS);
        assertEquals(original.getEnvelope().getMaximum(0), gc.getEnvelope().getMaximum(0), EPS);
        assertEquals(original.getEnvelope().getMaximum(1), gc.getEnvelope().getMaximum(1), EPS);
       
        // check this has been resized properly
        GridEnvelope originalRange = original.getGridGeometry().getGridRange();
        GridEnvelope resultRange = gc.getGridGeometry().getGridRange();
        assertEquals(originalRange.getSpan(0) * 2, resultRange.getSpan(0));
        assertEquals(originalRange.getSpan(1) * 2, resultRange.getSpan(1));

    }
View Full Code Here

TOP

Related Classes of org.opengis.coverage.grid.GridEnvelope

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.