private void saveField(StringBuffer inBuffer, DataPoint inPoint, Field inField,
		int inCoordFormat, Altitude.Format inAltitudeFormat, int inTimestampFormat)
	{
		// Output field according to type
		if (inField == Field.LATITUDE)
		{
			inBuffer.append(inPoint.getLatitude().output(inCoordFormat));
		}
		else if (inField == Field.LONGITUDE)
		{
			inBuffer.append(inPoint.getLongitude().output(inCoordFormat));
		}
		else if (inField == Field.ALTITUDE)
		{
			try
			{
				inBuffer.append(inPoint.getAltitude().getStringValue(inAltitudeFormat));
			}
			catch (NullPointerException npe) {}
		}
		else if (inField == Field.TIMESTAMP)
		{
			if (inPoint.hasTimestamp())
			{
				if (inTimestampFormat == Timestamp.FORMAT_ORIGINAL) {
					// output original string
					inBuffer.append(inPoint.getFieldValue(Field.TIMESTAMP));
				}
				else {
					// format value accordingly
					inBuffer.append(inPoint.getTimestamp().getText(inTimestampFormat));
				}
			}
		}
		else
		{
			String value = inPoint.getFieldValue(inField);
			if (value != null)
			{
				inBuffer.append(value);
			}
		}
	}