/** * Tries to encode a meaningful range for a {@link SampleDimension}. * * @param sd the {@link SampleDimension} to encode a meaningful range for. */ public void handleSampleDimensionRange(SampleDimension sd) { // look for ranges on the sample dimension boolean setRange = false; if (sd instanceof GridSampleDimension) { GridSampleDimension gridSd = ((GridSampleDimension) sd); setRange = setRange(gridSd.getRange()); } if (!setRange) { // fallback on sampleDimensionType SampleDimensionType sdType = sd.getSampleDimensionType(); handleSampleDimensionType(sdType); } }
/** * Tries to encode a meaningful range for a {@link SampleDimension}. * * @param sd the {@link CoverageDimensionInfo} to encode a meaningful range for. */ public void handleSampleDimensionRange(CoverageDimensionInfo sd) { if (!setRange(sd.getRange())) { SampleDimensionType sdType = sd.getDimensionType(); handleSampleDimensionType(sdType); } }
private void handleSampleDimensionType(SampleDimensionType sdType) { // old data dirs upgrading will have this empty if (sdType == null) { // pick the one with the largest domain and be done with it sdType = SampleDimensionType.REAL_64BITS; } final NumberRange<? extends Number> indicativeRange = TypeMap.getRange(sdType); setRange(indicativeRange); }