Skip to content
Snippets Groups Projects

Filter null values

All threads resolved!
@@ -2,7 +2,9 @@ package gov.usgs.earthquake.nshmp.netcdf.reader;
import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;
import gov.usgs.earthquake.nshmp.Maths;
import gov.usgs.earthquake.nshmp.data.XySequence;
import gov.usgs.earthquake.nshmp.geo.Location;
import gov.usgs.earthquake.nshmp.netcdf.Netcdf;
@@ -26,6 +28,8 @@ import ucar.nc2.dataset.NetcdfDatasets;
*/
public class BoundingReaderHazardCurves extends BoundingReader<StaticDataHazardCurves> {
private static final double FILL_VALUE = 9999.9;
public BoundingReaderHazardCurves(NetcdfHazardCurves netcdf, Location site) {
super(netcdf, site);
}
@@ -148,7 +152,14 @@ public class BoundingReaderHazardCurves extends BoundingReader<StaticDataHazardC
netcdfData.imls().get(imt),
(double[]) hazards.section(origin, shape).reduce().get1DJavaArray(DataType.DOUBLE));
imtHazardMap.put(imt, xySequence);
var points = xySequence.stream()
.filter(xy -> Maths.round(xy.x(), 1) != FILL_VALUE)
.collect(Collectors.toList());
var xs = points.stream().map(xy -> xy.x()).collect(Collectors.toList());
var ys = points.stream().map(xy -> xy.y()).collect(Collectors.toList());
imtHazardMap.put(imt, XySequence.create(xs, ys));
} catch (InvalidRangeException e) {
throw new RuntimeException(e.getMessage());
}
Loading