From 1af197bc46c83ed515320e81eca3b18e8795f259 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Thu, 3 Mar 2022 10:27:41 -0700
Subject: [PATCH] Add min and max methods

---
 .../nshmp/netcdf/data/NetcdfData.java         | 30 ++++++++++++-------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/data/NetcdfData.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/data/NetcdfData.java
index 41b0752..7037e9c 100644
--- a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/data/NetcdfData.java
+++ b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/data/NetcdfData.java
@@ -7,11 +7,11 @@ import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
-import gov.usgs.earthquake.nshmp.geo.Bounds;
+import gov.usgs.earthquake.nshmp.Maths;
 import gov.usgs.earthquake.nshmp.geo.Location;
-import gov.usgs.earthquake.nshmp.geo.Regions;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
 import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass;
+import gov.usgs.earthquake.nshmp.netcdf.reader.NetcdfUtils;
 
 /**
  * Data info from the NetCDF file.
@@ -19,7 +19,8 @@ import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass;
  * @author U.S. Geological Survey
  */
 public class NetcdfData {
-  private final Bounds bounds;
+  private final Location minimumBounds;
+  private final Location maximumBounds;
   private final List<Imt> imts;
   private final double[] latitudes;
   private final double[] longitudes;
@@ -33,10 +34,12 @@ public class NetcdfData {
     var minLongitude = Arrays.stream(builder.longitudes).min().getAsDouble();
     var maxLongitude = Arrays.stream(builder.longitudes).max().getAsDouble();
 
-    bounds = Regions.createRectangular(
-        "",
-        Location.create(minLongitude, minLatitude),
-        Location.create(maxLongitude, maxLatitude)).bounds();
+    minimumBounds = Location.create(
+        Maths.round(minLongitude, NetcdfUtils.LOCATION_PRECISION),
+        Maths.round(minLatitude, NetcdfUtils.LOCATION_PRECISION));
+    maximumBounds = Location.create(
+        Maths.round(maxLongitude, NetcdfUtils.LOCATION_PRECISION),
+        Maths.round(maxLatitude, NetcdfUtils.LOCATION_PRECISION));
     imts = builder.imts;
     latitudes = builder.latitudes;
     longitudes = builder.longitudes;
@@ -46,10 +49,17 @@ public class NetcdfData {
   }
 
   /**
-   * Returns the bounds
+   * Returns the maximum location bounds
    */
-  public Bounds bounds() {
-    return bounds;
+  public Location maximumBounds() {
+    return maximumBounds;
+  }
+
+  /**
+   * Returns the minimum location bounds
+   */
+  public Location minimumBounds() {
+    return minimumBounds;
   }
 
   /**
-- 
GitLab