@Override public GranuleSource getGranules(String coverageName, boolean readOnly) throws IOException, UnsupportedOperationException { if (coverageName == null) { coverageName = this.coverageName; } return structuredDelegate.getGranules(coverageName, readOnly); }
@Override public GranuleSource getGranules(String coverageName, boolean readOnly) throws IOException, UnsupportedOperationException { return delegate.getGranules(coverageName, readOnly); }
@Override public GranuleSource getGranules(String coverageName, boolean readOnly) throws IOException, UnsupportedOperationException { return structuredDelegate.getGranules(coverageName, readOnly); }
@Override public SimpleFeatureType getSchema() throws IOException { List<CoverageBand> bands = coverageView.getCoverageBands(); String coverageName = bands.get(0).getInputCoverageBands().get(0).getCoverageName(); return reader.getGranules(coverageName, true).getSchema(); }
@Override public int removeGranules(Filter filter, Hints hints) { // unmap the feature identifiers Filter unmapped = GranuleStoreViewFilterVisitor.unmapIdentifiers(filter, coverageView.getName()); List<CoverageBand> bands = coverageView.getCoverageBands(); int removed = 0; for (CoverageBand band : bands) { String coverageName = band.getInputCoverageBands().get(0).getCoverageName(); GranuleStore granuleStore; try { granuleStore = (GranuleStore) reader.getGranules(coverageName, false); // TODO: We may revisit the #removed granules computation to take into // account cases where we remove different number of records across different // input coverages removed = granuleStore.removeGranules(unmapped, hints); } catch (UnsupportedOperationException e) { LOGGER.log(Level.FINER, e.getMessage(), e); } catch (IOException e) { LOGGER.log(Level.FINER, e.getMessage(), e); } } return removed; }
renamedQuery.setTypeName(coverageName); SimpleFeatureCollection collection = reader.getGranules(coverageName, readOnly).getGranules(renamedQuery); collections.add(collection);
GranuleSource gs = sr.getGranules(name, true); final Query query = new Query(gs.getSchema().getName().getLocalPart());
@Test public void testCoverageViewGranuleSource() throws Exception { final String VIEW_NAME = "view"; CoverageInfo info = buildHeterogeneousResolutionView( VIEW_NAME, cv -> { cv.setSelectedResolution(SelectedResolution.BEST); }, "B02", "B03", "B04"); StructuredGridCoverage2DReader reader = (StructuredGridCoverage2DReader) info.getGridCoverageReader(null, null); GranuleSource source = reader.getGranules(VIEW_NAME, true); Query query = new Query(VIEW_NAME); // used to throw exception here SimpleFeatureCollection granules = source.getGranules(query); // just check we can pull data from it DataUtilities.first(granules); // there are three bands, so three granules making up the coverage assertEquals(3, granules.size()); }
@Test public void testCoverageViewGranuleSourceAggregation() throws Exception { final String VIEW_NAME = "viewAggregate"; CoverageInfo info = buildHeterogeneousResolutionView( VIEW_NAME, cv -> { cv.setSelectedResolution(SelectedResolution.BEST); }, "B02", "B03", "B04", "B01"); StructuredGridCoverage2DReader reader = (StructuredGridCoverage2DReader) info.getGridCoverageReader(null, null); GranuleSource source = reader.getGranules(VIEW_NAME, true); Query query = new Query(VIEW_NAME); // used to throw exception here SimpleFeatureCollection granules = source.getGranules(query); MinVisitor visitor = new MinVisitor("location"); granules.accepts(visitor, null); assertEquals("20170410T103021026Z_fullres_CC2.1989_T32TMT_B01.tif", visitor.getMin()); }
public GranuleSource getGranules(String coverageName, boolean readOnly) throws IOException, UnsupportedOperationException { return reader.getGranules(coverageName, readOnly); }
((StructuredGridCoverage2DReader) inputReader).getGranules(coverageName, true), fileBeingProcessed, inputReader,
private GranuleSource getGranuleSource( String workspaceName, String storeName, String coverageName) throws IOException { CoverageInfo coverage = getExistingStructuredCoverage(workspaceName, storeName, coverageName); StructuredGridCoverage2DReader reader = (StructuredGridCoverage2DReader) coverage.getGridCoverageReader(null, null); String nativeCoverageName = getNativeCoverageName(coverage, reader); return reader.getGranules(nativeCoverageName, true); }
@Override protected FeatureCollection getMatches(Filter filter) throws IOException { GranuleSource granules = reader.getGranules(null, true); Query q = new Query(null, filter); q.setHints(new Hints(StructuredCoverageViewReader.QUERY_FIRST_BAND, true)); return granules.getGranules(q); } }
private boolean readerHasGranule(CoverageInfo ci, Filter granuleFilter) { try { StructuredGridCoverage2DReader reader = (StructuredGridCoverage2DReader) ci.getGridCoverageReader(null, null); String coverageName = codec.getCoverageName(ci); GranuleSource source = reader.getGranules(coverageName, true); return source.getCount(new Query(coverageName, granuleFilter)) > 0; } catch (IOException e) { throw new WCS20Exception( "Could not determine if the coverage has the specified granule", e); } } }
private GranuleStore getGranuleStore( String workspaceName, String storeName, String coverageName) throws IOException { CoverageInfo coverage = getExistingStructuredCoverage(workspaceName, storeName, coverageName); StructuredGridCoverage2DReader reader = (StructuredGridCoverage2DReader) coverage.getGridCoverageReader(null, null); if (reader.isReadOnly()) { throw new RestException( "Coverage " + coverage.prefixedName() + " is read ony", HttpStatus.METHOD_NOT_ALLOWED); } String nativeCoverageName = getNativeCoverageName(coverage, reader); return (GranuleStore) reader.getGranules(nativeCoverageName, false); }
ci.getGridCoverageReader(null, GeoTools.getDefaultHints()); String name = codec.getCoverageName(ci); source = reader.getGranules(name, true);
Polygon polygon = JTS.toGeometry(new ReferencedEnvelope(envelopeSubset)); GeometryDescriptor geom = reader.getGranules(coverageName, true).getSchema().getGeometryDescriptor(); PropertyName geometryProperty = FF.property(geom.getLocalName()); Geometry nativeCRSPolygon;
GranuleSource granules = reader.getGranules(mosaicName, true); assertEquals(1, granules.getCount(Query.ALL));
StructuredGridCoverage2DReader reader = (StructuredGridCoverage2DReader) store.getGridCoverageReader(null, null); GranuleSource gs = reader.getGranules(reader.getGridCoverageNames()[0], true); int originalCount = gs.getCount(Query.ALL);
final GranuleStore granules = (GranuleStore) ((StructuredGridCoverage2DReader) reader).getGranules("regional_currents", true); SimpleFeatureCollection granulesCollection = granules.getGranules(null); assertEquals(1, granulesCollection.size());