All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.locationtech.geowave.adapter.raster.FitToIndexGridCoverage Maven / Gradle / Ivy

/**
 * Copyright (c) 2013-2020 Contributors to the Eclipse Foundation
 *
 * 

See the NOTICE file distributed with this work for additional information regarding copyright * ownership. All rights reserved. This program and the accompanying materials are made available * under the terms of the Apache License, Version 2.0 which accompanies this distribution and is * available at http://www.apache.org/licenses/LICENSE-2.0.txt */ package org.locationtech.geowave.adapter.raster; import java.awt.image.RenderedImage; import java.awt.image.renderable.RenderableImage; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; import org.locationtech.jts.geom.Geometry; import org.opengis.coverage.CannotEvaluateException; import org.opengis.coverage.PointOutsideCoverageException; import org.opengis.coverage.SampleDimension; import org.opengis.coverage.grid.GridCoverage; import org.opengis.coverage.grid.GridGeometry; import org.opengis.geometry.DirectPosition; import org.opengis.geometry.Envelope; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.util.Record; import org.opengis.util.RecordType; public class FitToIndexGridCoverage implements GridCoverage { private final GridCoverage gridCoverage; private final byte[] partitionKey; private final byte[] sortKey; private final Resolution resolution; private final Envelope originalEnvelope; private final Geometry footprintWorldGeometry; private final Geometry footprintScreenGeometry; private final Map properties; public FitToIndexGridCoverage( final GridCoverage gridCoverage, final byte[] partitionKey, final byte[] sortKey, final Resolution resolution, final Envelope originalEnvelope, final Geometry footprintWorldGeometry, final Geometry footprintScreenGeometry, final Map properties) { this.gridCoverage = gridCoverage; this.partitionKey = partitionKey; this.sortKey = sortKey; this.resolution = resolution; this.originalEnvelope = originalEnvelope; this.footprintWorldGeometry = footprintWorldGeometry; this.footprintScreenGeometry = footprintScreenGeometry; this.properties = properties; } public Map getProperties() { return properties; } public Geometry getFootprintWorldGeometry() { return footprintWorldGeometry; } public Geometry getFootprintScreenGeometry() { return footprintScreenGeometry; } public byte[] getPartitionKey() { return partitionKey; } public byte[] getSortKey() { return sortKey; } public Resolution getResolution() { return resolution; } public GridCoverage getOriginalCoverage() { return gridCoverage; } public Envelope getOriginalEnvelope() { return originalEnvelope; } @Override public boolean isDataEditable() { return gridCoverage.isDataEditable(); } @Override public GridGeometry getGridGeometry() { return gridCoverage.getGridGeometry(); } @Override public int[] getOptimalDataBlockSizes() { return gridCoverage.getOptimalDataBlockSizes(); } @Override public int getNumOverviews() { return gridCoverage.getNumOverviews(); } @Override public GridGeometry getOverviewGridGeometry(final int index) throws IndexOutOfBoundsException { return gridCoverage.getOverviewGridGeometry(index); } @Override public GridCoverage getOverview(final int index) throws IndexOutOfBoundsException { return gridCoverage.getOverview(index); } @Override public CoordinateReferenceSystem getCoordinateReferenceSystem() { return gridCoverage.getCoordinateReferenceSystem(); } @Override public Envelope getEnvelope() { return gridCoverage.getEnvelope(); } @Override public List getSources() { return gridCoverage.getSources(); } @Override public RecordType getRangeType() { return gridCoverage.getRangeType(); } @Override public Set evaluate(final DirectPosition p, final Collection list) throws PointOutsideCoverageException, CannotEvaluateException { return gridCoverage.evaluate(p, list); } @Override public RenderedImage getRenderedImage() { return gridCoverage.getRenderedImage(); } @Override public Object evaluate(final DirectPosition point) throws PointOutsideCoverageException, CannotEvaluateException { return gridCoverage.evaluate(point); } @Override public boolean[] evaluate(final DirectPosition point, final boolean[] destination) throws PointOutsideCoverageException, CannotEvaluateException, ArrayIndexOutOfBoundsException { return gridCoverage.evaluate(point, destination); } @Override public byte[] evaluate(final DirectPosition point, final byte[] destination) throws PointOutsideCoverageException, CannotEvaluateException, ArrayIndexOutOfBoundsException { return gridCoverage.evaluate(point, destination); } @Override public int[] evaluate(final DirectPosition point, final int[] destination) throws PointOutsideCoverageException, CannotEvaluateException, ArrayIndexOutOfBoundsException { return gridCoverage.evaluate(point, destination); } @Override public float[] evaluate(final DirectPosition point, final float[] destination) throws PointOutsideCoverageException, CannotEvaluateException, ArrayIndexOutOfBoundsException { return gridCoverage.evaluate(point, destination); } @Override public double[] evaluate(final DirectPosition point, final double[] destination) throws PointOutsideCoverageException, CannotEvaluateException, ArrayIndexOutOfBoundsException { return gridCoverage.evaluate(point, destination); } @Override public int getNumSampleDimensions() { return gridCoverage.getNumSampleDimensions(); } @Override public SampleDimension getSampleDimension(final int index) throws IndexOutOfBoundsException { return gridCoverage.getSampleDimension(index); } @Override public RenderableImage getRenderableImage(final int xAxis, final int yAxis) throws UnsupportedOperationException, IndexOutOfBoundsException { return gridCoverage.getRenderableImage(xAxis, yAxis); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy