]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - src/tim/prune/data/Latitude.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / src / tim / prune / data / Latitude.java
diff --git a/src/tim/prune/data/Latitude.java b/src/tim/prune/data/Latitude.java
new file mode 100644 (file)
index 0000000..8055050
--- /dev/null
@@ -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;
+       }
+}