private void defaultParamsManagement( Query query, Map<String, Set<?>> domainsSubset, List<DimensionDescriptor> dimensionDescriptors) { for (DimensionDescriptor dim : dimensionDescriptors) { boolean notPresent = true; for (String key : domainsSubset.keySet()) { if (dim.getName().toUpperCase().equalsIgnoreCase(key)) { notPresent = false; } } if (notPresent) { defaultQuery(query, dim.getStartAttribute()); } } }
for (DimensionDescriptor descriptor : descriptors) { if (dimensionName.equalsIgnoreCase(descriptor.getName()) && descriptor.getEndAttribute() == null) { GranuleSource gs = sr.getGranules(name, true); final Query query = new Query(gs.getSchema().getName().getLocalPart()); final PropertyName attribute = FF.property(descriptor.getStartAttribute()); final PropertyIsBetween rangeFilter = FF.between( query.setFilter(rangeFilter); query.setMaxFeatures(maxEntries); query.setPropertyNames(new String[] {descriptor.getStartAttribute()}); query.setHints(new Hints(StructuredCoverageViewReader.QUERY_FIRST_BAND, true));
/** * Set default elevation value from the provided feature * * @param elevationDimension * @param f */ private NumberRange<?> setDefaultElevationSubset( DimensionDescriptor elevationDimension, SimpleFeature f) { final String start = elevationDimension.getStartAttribute(); final String end = elevationDimension.getEndAttribute(); Number startTime = (Number) f.getAttribute(start); Number endTime = startTime; if (end != null) { endTime = (Number) f.getAttribute(end); } return new NumberRange(startTime.getClass(), startTime, endTime); }
if (descriptor.getName().toUpperCase().equalsIgnoreCase(currentDimName)) { final String updatedAttribute = attributeDescriptor.getLocalName(); if (!updatedAttribute.equals(
final String dimensionName = descriptor.getName(); final DimensionType dimensionType = dimensionID.equalsIgnoreCase("TIME") units = descriptor.getUnits(); symbol = descriptor.getUnitSymbol(); accessor.getDomainDatatype(dimensionName), dimensionType, descriptor.getEndAttribute() != null);
new SortByImpl( FeatureUtilities.DEFAULT_FILTER_FACTORY.property( timeDimension.getStartAttribute()), SortOrder.DESCENDING)); new SortByImpl( FeatureUtilities.DEFAULT_FILTER_FACTORY.property( elevationDimension.getStartAttribute()), SortOrder.ASCENDING));
/** * Set default time value from the provided feature * * @param timeDimension * @param f */ private DateRange setDefaultTemporalSubset(DimensionDescriptor timeDimension, SimpleFeature f) { final String start = timeDimension.getStartAttribute(); final String end = timeDimension.getEndAttribute(); Date startTime = (Date) f.getAttribute(start); Date endTime = startTime; if (end != null) { endTime = (Date) f.getAttribute(end); } return new DateRange(startTime, endTime); }
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")); }
? resXDescriptor.getStartAttribute() : resDescriptor.getStartAttribute(); final String resYAttribute = hasBothResolutions ? resYDescriptor.getStartAttribute() : resDescriptor.getStartAttribute(); String crsAttribute = isHeterogeneousCrs ? crsDescriptor.getStartAttribute() : null; SimpleFeatureType schema = features.getSchema(); CoordinateReferenceSystem schemaCrs =
String attribute = descriptor.getStartAttribute(); String name = descriptor.getName(); Comparable max = null; Comparable min = null;
reader, coverageName, dimensionName); if (dimensionDescriptor != null) { final String startAttrib = dimensionDescriptor.getStartAttribute(); final String endAttrib = dimensionDescriptor.getEndAttribute(); dimensionsFilter = filterDimension(
startTimeAttribute = timeDescriptor.getStartAttribute(); endTimeAttribute = timeDescriptor.getEndAttribute(); Date startDate = (Date) feature.getAttribute(startTimeAttribute); Date endDate = WCSDimensionsHelper.getDimensionDescriptor(reader, coverageName, "ELEVATION"); if (elevationDescriptor != null) { startElevationAttribute = elevationDescriptor.getStartAttribute(); endElevationAttribute = elevationDescriptor.getEndAttribute(); Number startValue = (Number) feature.getAttribute(startElevationAttribute); Number endValue = WCSDimensionsHelper.getDimensionDescriptor(reader, coverageName, customDomain); if (descriptor != null) { startAttribute = descriptor.getStartAttribute(); endAttribute = descriptor.getEndAttribute(); dimensionsSubset.put(descriptor.getName().toUpperCase(), dimensionValues);
private Map<String, DimensionDescriptor> getDimensionDescriptors( StructuredGridCoverage2DReader reader, String coverageName) throws IOException { Map<String, DimensionDescriptor> result = new HashMap<String, DimensionDescriptor>(); List<DimensionDescriptor> dimensionDescriptors = reader.getDimensionDescriptors(coverageName); for (DimensionDescriptor dd : dimensionDescriptors) { result.put(dd.getName(), dd); } return new CaseInsensitiveMap(result); }
String attribute = null; for (DimensionDescriptor dim : dimensionDescriptors) { if (dim.getName().toUpperCase().equalsIgnoreCase(entry.getKey())) { attribute = dim.getStartAttribute(); break;
DimensionDescriptor descriptor = dimensionDescriptors.get(dimensionName); if (descriptor != null) { Object start = feature.getAttribute(descriptor.getStartAttribute()); Object end = null; if (descriptor.getEndAttribute() != null) { end = feature.getAttribute(descriptor.getEndAttribute());
public static DimensionDescriptor getDimensionDescriptor( final StructuredGridCoverage2DReader reader, final String coverageName, final String dimensionName) { try { List<DimensionDescriptor> descriptors = reader.getDimensionDescriptors(coverageName); for (DimensionDescriptor dd : descriptors) { if (dd.getName().equalsIgnoreCase(dimensionName)) { return dd; } } return null; } catch (IOException e) { throw new WCS20Exception( "Failed to locate the reader's " + dimensionName + " dimension descriptor", e); } }
String attribute = descriptor.getStartAttribute(); String name = descriptor.getName(); Comparable max = null; Comparable min = null;
: setTimeFilter( temporalSubset, timeDimension.getStartAttribute(), timeDimension.getEndAttribute()); : setElevationFilter( elevationSubset, elevationDimension.getStartAttribute(), elevationDimension.getEndAttribute());
for (DimensionDescriptor dimensionDescriptor : reader.getDimensionDescriptors(name)) { sourceDescriptors.put( dimensionDescriptor.getName().toUpperCase(), dimensionDescriptor);
List<DimensionDescriptor> dimensionDescriptors = request.source.getDimensionDescriptors(); for (DimensionDescriptor dimensionDescriptor : dimensionDescriptors) { if (dimensionDescriptor.getName().equalsIgnoreCase(NetCDFUtilities.ELEVATION_DIM)) { elevationFilterAttribute = dimensionDescriptor.getStartAttribute(); } else if (dimensionDescriptor.getName().equalsIgnoreCase(NetCDFUtilities.TIME_DIM)) { timeFilterAttribute = dimensionDescriptor.getStartAttribute();