@Override public GranuleSource getGranules(String coverageName, boolean readOnly) throws IOException, UnsupportedOperationException { return delegate.getGranules(coverageName, readOnly); }
@Override public List<DimensionDescriptor> getDimensionDescriptors(String coverageName) throws IOException { return delegate.getDimensionDescriptors(coverageName); }
@Override public void delete(boolean deleteData) throws IOException { structuredDelegate.delete(deleteData); }
coverageName = reader.getGridCoverageNames()[0]; GranuleSource granules = reader.getGranules(coverageName, true); Query q = new Query(granules.getSchema().getTypeName(), domainRestriction); SimpleFeatureCollection fc = granules.getGranules(q);
private TreeSet<Object> getDimensionValuesInRange( String dimensionName, Range range, int maxEntries, StructuredGridCoverage2DReader sr) throws IOException { final String name = sr.getGridCoverageNames()[0]; List<DimensionDescriptor> descriptors = sr.getDimensionDescriptors(name); for (DimensionDescriptor descriptor : descriptors) { GranuleSource gs = sr.getGranules(name, true); final Query query = new Query(gs.getSchema().getName().getLocalPart());
.getDimensionDescriptors(coverageName) .stream() .collect(Collectors.toMap(dd -> dd.getName(), dd -> dd)); GranuleSource granules = structuredReader.getGranules(coverageName, true);
new ReferencedEnvelope(reader.getOriginalEnvelope()) .transform(DefaultGeographicCRS.WGS84, true); if (lonRange != null) { Polygon llPolygon = JTS.toGeometry(original); GeometryDescriptor geom = reader.getGranules(coverageName, true) .getSchema() .getGeometryDescriptor(); CRS.findMathTransform( DefaultGeographicCRS.WGS84, reader.getCoordinateReferenceSystem())); Literal polygonLiteral = ff.literal(nativeCRSPolygon); if (overlaps) {
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); }
Polygon polygon = JTS.toGeometry(new ReferencedEnvelope(envelopeSubset)); GeometryDescriptor geom = reader.getGranules(coverageName, true).getSchema().getGeometryDescriptor(); PropertyName geometryProperty = FF.property(geom.getLocalName()); Geometry nativeCRSPolygon; CRS.findMathTransform( DefaultGeographicCRS.WGS84, reader.getCoordinateReferenceSystem())); Literal polygonLiteral = FF.literal(nativeCRSPolygon);
storeInfo.getGridCoverageReader(null, GeoTools.getDefaultHints()); String[] metadataNames = reader2.getMetadataNames(); assertNotNull(metadataNames); assertEquals("true", reader2.getMetadataValue("HAS_TIME_DOMAIN")); assertEquals( "2008-10-31T00:00:00.000Z,2008-11-01T00:00:00.000Z,2008-11-02T00:00:00.000Z", reader2.getMetadataValue(metadataNames[0])); reader2.delete(true); } finally { reader2.dispose(); } catch (Throwable t) {
private static DimensionDescriptor getDimensionDescriptor( StructuredGridCoverage2DReader structured, String dimensionName) throws IOException { String coverageName = structured.getGridCoverageNames()[0]; return structured .getDimensionDescriptors(coverageName) .stream() .filter(dd -> dimensionName.equalsIgnoreCase(dd.getName())) .findFirst() .orElseThrow( () -> new IllegalArgumentException( "Could not find dimension" + dimensionName + "in grid coverage reader")); }
public String[] getGridCoverageNames() throws IOException { return delegate.getGridCoverageNames(); }
@Override public boolean isReadOnly() { return delegate.isReadOnly(); }
(StructuredGridCoverage2DReader) coverageReader; if (delete) { reader.delete(deleteData); } else { reader.removeCoverage(coverageName, false);
public CoordinateReferenceSystem getCoordinateReferenceSystem(String coverageName) { return delegate.getCoordinateReferenceSystem(coverageName); }
if (reader instanceof StructuredGridCoverage2DReader) { StructuredGridCoverage2DReader sr = (StructuredGridCoverage2DReader) reader; if (sr.isReadOnly()) { throw new RestException( "Coverage store found, but it cannot harvest extra resources", sr.harvest(null, uploadedFiles, GeoTools.getDefaultHints());
public void dispose() throws IOException { delegate.dispose(); }
StructuredGridCoverage2DReader reader = (StructuredGridCoverage2DReader) store.getGridCoverageReader(null, null); GranuleSource gs = reader.getGranules(reader.getGridCoverageNames()[0], true); int originalCount = gs.getCount(Query.ALL);
structuredReader.getDimensionDescriptors(coverageName); DimensionDescriptor timeDimension = null; DimensionDescriptor elevationDimension = null; GranuleSource source = structuredReader.getGranules(coverageName, true);