Issue #2947 ensure consistent interpolation levels for derived satellite.

Former-commit-id: f318c9eb62 [formerly 33d87894c4385cb8f6982c1833f6956fd60d7368]
Former-commit-id: 812eebdd72
This commit is contained in:
Ben Steffensmeier 2014-04-28 13:00:39 -05:00
parent 6b58bd38c1
commit 41b0c1a3c8

View file

@ -73,13 +73,9 @@ public class DerivedSatelliteRecord extends SatelliteRecord {
Set<SatelliteRecord> base = findBaseRecords(requestableData);
Set<String> creatingEntities = new HashSet<String>();
int interpolationLevels = 1;
for (SatelliteRecord record : base) {
creatingEntities.add(record.getCreatingEntity());
interpolationLevels = Math.max(interpolationLevels,
record.getInterpolationLevels());
}
setInterpolationLevels(interpolationLevels);
if (creatingEntities.size() == 1) {
setCreatingEntity(creatingEntities.iterator().next());
} else {
@ -92,6 +88,10 @@ public class DerivedSatelliteRecord extends SatelliteRecord {
setCoverage(((ComparableSatMapCoverage) requestableData.getSpace())
.getCoverage());
}
Rectangle[] levels = GridDownscaler
.getDownscaleSizes(getGridGeometry());
setInterpolationLevels(levels.length - 1);
}
/**