X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=src%2Ftim%2Fprune%2Fdata%2FLatitude.java;fp=src%2Ftim%2Fprune%2Fdata%2FLatitude.java;h=805505054598feab08af8f6f616cfa9bbe8cd234;hp=0000000000000000000000000000000000000000;hb=ce6f2161b8596f7018d6a76bff79bc9e571f35fd;hpb=2d8cb72e84d5cc1089ce77baf1e34ea3ea2f8465 diff --git a/src/tim/prune/data/Latitude.java b/src/tim/prune/data/Latitude.java new file mode 100644 index 0000000..8055050 --- /dev/null +++ b/src/tim/prune/data/Latitude.java @@ -0,0 +1,78 @@ +package tim.prune.data; + +/** + * Class to represent a Latitude Coordinate + */ +public class Latitude extends Coordinate +{ + /** + * Constructor + * @param inString string value from file + */ + public Latitude(String inString) + { + super(inString); + } + + + /** + * Constructor + * @param inValue value of coordinate + * @param inFormat format to use + */ + public Latitude(double inValue, int inFormat) + { + super(inValue, inFormat, inValue < 0.0 ? SOUTH : NORTH); + } + + + /** + * Turn the given character into a cardinal + * @see tim.prune.data.Coordinate#getCardinal(char) + */ + protected int getCardinal(char inChar) + { + // Latitude recognises N, S and - + // default is No cardinal + int cardinal = NO_CARDINAL; + switch (inChar) + { + case 'N': + case 'n': + cardinal = NORTH; break; + case 'S': + case 's': + case '-': + cardinal = SOUTH; break; + default: + // no character given + } + return cardinal; + } + + /** + * @return default cardinal (North) + * @see tim.prune.data.Coordinate#getDefaultCardinal() + */ + protected int getDefaultCardinal() + { + return NORTH; + } + + /** + * Make a new Latitude object + * @see tim.prune.data.Coordinate#makeNew(double, int) + */ + protected Coordinate makeNew(double inValue, int inFormat) + { + return new Latitude(inValue, inFormat); + } + + /** + * @return the maximum degree range for this coordinate + */ + protected int getMaxDegrees() + { + return 90; + } +}