package org.wamblee.gps.track;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
-import org.wamblee.gps.coordinates.Point;
+import org.wamblee.gps.geometry.Point;
/**
* Represents a GPS track.
*/
-public class Track {
+public class Track implements Serializable {
private List<TrackPoint> _points;
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 <= aIndex < size()