X-Git-Url: https://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Fdata%2FDataPoint.java;h=5e864ce10e821068310932621f24c011be9e3097;hb=da0b1f449260a0b4a94318006382a9039726ef3e;hp=cd285d66790a83f263b78a44e0ef11ce1b7517cc;hpb=d3679d647d57c2ee7376ddbf6def2d5b23c04307;p=GpsPrune.git diff --git a/tim/prune/data/DataPoint.java b/tim/prune/data/DataPoint.java index cd285d6..5e864ce 100644 --- a/tim/prune/data/DataPoint.java +++ b/tim/prune/data/DataPoint.java @@ -17,7 +17,7 @@ public class DataPoint private Timestamp _timestamp = null; private Photo _photo = null; private String _waypointName = null; - private boolean _pointValid = false; + // private boolean _startOfSegment = false; /** @@ -48,6 +48,7 @@ public class DataPoint _altitude = new Altitude(getFieldValue(Field.ALTITUDE), inAltFormat); _timestamp = new Timestamp(getFieldValue(Field.TIMESTAMP)); _waypointName = getFieldValue(Field.WAYPT_NAME); + // TODO: Parse segment start field (format?) } @@ -60,11 +61,15 @@ public class DataPoint public DataPoint(Coordinate inLatitude, Coordinate inLongitude, Altitude inAltitude) { // Only these three fields are available - _fieldValues = new String[0]; - _fieldList = new FieldList(); + _fieldValues = new String[3]; + Field[] fields = {Field.LATITUDE, Field.LONGITUDE, Field.ALTITUDE}; + _fieldList = new FieldList(fields); _latitude = inLatitude; + _fieldValues[0] = inLatitude.output(Coordinate.FORMAT_DEG_MIN_SEC); _longitude = inLongitude; + _fieldValues[1] = inLongitude.output(Coordinate.FORMAT_DEG_MIN_SEC); _altitude = inAltitude; + if (inAltitude != null) {_fieldValues[2] = "" + inAltitude.getValue(Altitude.FORMAT_METRES);} _timestamp = new Timestamp(null); } @@ -133,30 +138,37 @@ public class DataPoint } + /** @return latitude */ public Coordinate getLatitude() { return _latitude; } + /** @return longitude */ public Coordinate getLongitude() { return _longitude; } + /** @return true if point has altitude */ public boolean hasAltitude() { return _altitude.isValid(); } + /** @return altitude */ public Altitude getAltitude() { return _altitude; } + /** @return true if point has timestamp */ public boolean hasTimestamp() { return _timestamp.isValid(); } + /** @return timestamp */ public Timestamp getTimestamp() { return _timestamp; } + /** @return waypoint name, if any */ public String getWaypointName() { return _waypointName; @@ -197,10 +209,7 @@ public class DataPoint { return !inOther.isWaypoint(); } - else - { - return (inOther._waypointName != null && inOther._waypointName.equals(_waypointName)); - } + return (inOther._waypointName != null && inOther._waypointName.equals(_waypointName)); } @@ -241,21 +250,33 @@ public class DataPoint public DataPoint[] interpolate(DataPoint inEndPoint, int inNumPoints) { DataPoint[] range = new DataPoint[inNumPoints]; - Coordinate endLatitude = inEndPoint.getLatitude(); - Coordinate endLongitude = inEndPoint.getLongitude(); - Altitude endAltitude = inEndPoint.getAltitude(); - // Loop over points for (int i=0; i