private Timestamp _timestamp = null;
private Photo _photo = null;
private String _waypointName = null;
- // private boolean _startOfSegment = false;
+ private boolean _startOfSegment = false;
/**
_altitude = new Altitude(getFieldValue(Field.ALTITUDE), inAltFormat);
_timestamp = new Timestamp(getFieldValue(Field.TIMESTAMP));
_waypointName = getFieldValue(Field.WAYPT_NAME);
- // TODO: Parse segment start field (format?)
+ String segmentStr = getFieldValue(Field.NEW_SEGMENT);
+ if (segmentStr != null) {segmentStr = segmentStr.trim();}
+ _startOfSegment = (segmentStr != null && (segmentStr.equals("1") || segmentStr.toUpperCase().equals("Y")));
}
_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);}
+ if (inAltitude == null) {
+ _altitude = Altitude.NONE;
+ }
+ else {
+ _altitude = inAltitude;
+ _fieldValues[2] = "" + inAltitude.getValue(Altitude.FORMAT_METRES); // units are ignored
+ }
_timestamp = new Timestamp(null);
}
}
}
+ /** @param inFlag true for start of track segment */
+ public void setSegmentStart(boolean inFlag)
+ {
+ setFieldValue(Field.NEW_SEGMENT, inFlag?"1":null);
+ }
/** @return latitude */
public Coordinate getLatitude()
return _waypointName;
}
+ /** @return true if start of new track segment */
+ public boolean getSegmentStart()
+ {
+ return _startOfSegment;
+ }
+
/**
* @return true if point has a waypoint name
*/