Skip to content
Snippets Groups Projects
Commit a5add086 authored by Altekruse, Jason Morgan's avatar Altekruse, Jason Morgan
Browse files

Merge branch 'issue-62' into 'main'

Filter null values

Closes #62

See merge request !130
parents 4f52758a f9a22963
No related branches found
No related tags found
2 merge requests!131Production Release | nshmp-ws-static,!130Filter null values
Pipeline #181970 passed
...@@ -2,7 +2,9 @@ package gov.usgs.earthquake.nshmp.netcdf.reader; ...@@ -2,7 +2,9 @@ package gov.usgs.earthquake.nshmp.netcdf.reader;
import java.io.IOException; import java.io.IOException;
import java.util.List; 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.data.XySequence;
import gov.usgs.earthquake.nshmp.geo.Location; import gov.usgs.earthquake.nshmp.geo.Location;
import gov.usgs.earthquake.nshmp.netcdf.Netcdf; import gov.usgs.earthquake.nshmp.netcdf.Netcdf;
...@@ -26,6 +28,8 @@ import ucar.nc2.dataset.NetcdfDatasets; ...@@ -26,6 +28,8 @@ import ucar.nc2.dataset.NetcdfDatasets;
*/ */
public class BoundingReaderHazardCurves extends BoundingReader<StaticDataHazardCurves> { public class BoundingReaderHazardCurves extends BoundingReader<StaticDataHazardCurves> {
private static final double FILL_VALUE = 9999.9;
public BoundingReaderHazardCurves(NetcdfHazardCurves netcdf, Location site) { public BoundingReaderHazardCurves(NetcdfHazardCurves netcdf, Location site) {
super(netcdf, site); super(netcdf, site);
} }
...@@ -148,7 +152,14 @@ public class BoundingReaderHazardCurves extends BoundingReader<StaticDataHazardC ...@@ -148,7 +152,14 @@ public class BoundingReaderHazardCurves extends BoundingReader<StaticDataHazardC
netcdfData.imls().get(imt), netcdfData.imls().get(imt),
(double[]) hazards.section(origin, shape).reduce().get1DJavaArray(DataType.DOUBLE)); (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) { } catch (InvalidRangeException e) {
throw new RuntimeException(e.getMessage()); throw new RuntimeException(e.getMessage());
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment