X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=gps%2Fsrc%2Forg%2Fwamblee%2Fgps%2Ftrack%2FTrack.java;h=30e49f01d277ae457ef74d21563170254f05f3c9;hb=9584bb45a4731bbfccd810b586441d54ea660871;hp=a281f2f8b9c5031cfcf429651adf6c89348ab561;hpb=b08709beca30891d29b3608a0de36699f2537744;p=utils diff --git a/gps/src/org/wamblee/gps/track/Track.java b/gps/src/org/wamblee/gps/track/Track.java index a281f2f8..30e49f01 100644 --- a/gps/src/org/wamblee/gps/track/Track.java +++ b/gps/src/org/wamblee/gps/track/Track.java @@ -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 _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 <= aIndex < size()