package mil.nga.giat.geowave.adapter.raster.resize;
import java.io.IOException;
import mil.nga.giat.geowave.mapreduce.GeoWaveWritableInputReducer;
import mil.nga.giat.geowave.mapreduce.input.GeoWaveInputKey;
import mil.nga.giat.geowave.mapreduce.output.GeoWaveOutputKey;
import org.apache.hadoop.io.ObjectWritable;
import org.apache.hadoop.mapreduce.Reducer;
import org.opengis.coverage.grid.GridCoverage;
public class RasterTileResizeReducer extends
GeoWaveWritableInputReducer<GeoWaveOutputKey, GridCoverage>
{
private RasterTileResizeHelper helper;
@Override
protected void reduceNativeValues(
final GeoWaveInputKey key,
final Iterable<Object> values,
final Reducer<GeoWaveInputKey, ObjectWritable, GeoWaveOutputKey, GridCoverage>.Context context )
throws IOException,
InterruptedException {
final GridCoverage mergedCoverage = helper.getMergedCoverage(
key,
values);
if (mergedCoverage != null) {
context.write(
helper.getGeoWaveOutputKey(),
mergedCoverage);
}
}
@Override
protected void setup(
final Reducer<GeoWaveInputKey, ObjectWritable, GeoWaveOutputKey, GridCoverage>.Context context )
throws IOException,
InterruptedException {
super.setup(context);
helper = new RasterTileResizeHelper(
context);
}
}