Made the track serializable.
[utils] / gps / src / org / wamblee / gps / track / Track.java
index a281f2f8b9c5031cfcf429651adf6c89348ab561..30e49f01d277ae457ef74d21563170254f05f3c9 100644 (file)
@@ -16,6 +16,7 @@
 
 package org.wamblee.gps.track;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -24,7 +25,7 @@ import org.wamblee.gps.geometry.Point;
 /**
  * Represents a GPS track. 
  */
-public class Track {
+public class Track implements Serializable {
     
     private List<TrackPoint> _points; 
     
@@ -51,6 +52,28 @@ public class Track {
         return _points.size(); 
     }
     
+    public double getMinCoordinate(int i) {
+        if ( size() == 0 ) { 
+            throw new IllegalArgumentException("empty track");
+        }
+        double min = getPoint(0).getCoordinates().getX(i);
+        for (int j = 1; j < size(); j++) { 
+            min = Math.min(min, getPoint(j).getCoordinates().getX(i));
+        }
+        return min;
+    }
+    
+    public double getMaxCoordinate(int i) {
+        if ( size() == 0 ) { 
+            throw new IllegalArgumentException("empty track");
+        }
+        double max = getPoint(0).getCoordinates().getX(i);
+        for (int j = 1; j < size(); j++) { 
+            max = Math.max(max, getPoint(j).getCoordinates().getX(i));
+        }
+        return max;
+    }
+    
     /**
      * Gets the point at the given inded. 
      * @param aIndex 0 &lt;= aIndex &lt; size()