]> gitweb.fperrin.net Git - GpsPrune.git/blob - src/tim/prune/data/Latitude.java
805505054598feab08af8f6f616cfa9bbe8cd234
[GpsPrune.git] / src / tim / prune / data / Latitude.java
1 package tim.prune.data;
2
3 /**
4  * Class to represent a Latitude Coordinate
5  */
6 public class Latitude extends Coordinate
7 {
8         /**
9          * Constructor
10          * @param inString string value from file
11          */
12         public Latitude(String inString)
13         {
14                 super(inString);
15         }
16
17
18         /**
19          * Constructor
20          * @param inValue value of coordinate
21          * @param inFormat format to use
22          */
23         public Latitude(double inValue, int inFormat)
24         {
25                 super(inValue, inFormat, inValue < 0.0 ? SOUTH : NORTH);
26         }
27
28
29         /**
30          * Turn the given character into a cardinal
31          * @see tim.prune.data.Coordinate#getCardinal(char)
32          */
33         protected int getCardinal(char inChar)
34         {
35                 // Latitude recognises N, S and -
36                 // default is No cardinal
37                 int cardinal = NO_CARDINAL;
38                 switch (inChar)
39                 {
40                         case 'N':
41                         case 'n':
42                                 cardinal = NORTH; break;
43                         case 'S':
44                         case 's':
45                         case '-':
46                                 cardinal = SOUTH; break;
47                         default:
48                                 // no character given
49                 }
50                 return cardinal;
51         }
52
53         /**
54          * @return default cardinal (North)
55          * @see tim.prune.data.Coordinate#getDefaultCardinal()
56          */
57         protected int getDefaultCardinal()
58         {
59                 return NORTH;
60         }
61
62         /**
63          * Make a new Latitude object
64          * @see tim.prune.data.Coordinate#makeNew(double, int)
65          */
66         protected Coordinate makeNew(double inValue, int inFormat)
67         {
68                 return new Latitude(inValue, inFormat);
69         }
70
71         /**
72          * @return the maximum degree range for this coordinate
73          */
74         protected int getMaxDegrees()
75         {
76                 return 90;
77         }
78 }