]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/data/Coordinate.java
Version 6, October 2008
[GpsPrune.git] / tim / prune / data / Coordinate.java
index 7a572688ed2a0eb0eb63e6a3e6fda5f9037554d9..7e52d839cf1dfae49a649df188eac87d902b7928 100644 (file)
@@ -50,7 +50,14 @@ public abstract class Coordinate
                if (strLen > 1)
                {
                        // Check for cardinal character either at beginning or end
+                       boolean hasCardinal = true;
                        _cardinal = getCardinal(inString.charAt(0), inString.charAt(strLen-1));
+                       if (_cardinal == NO_CARDINAL) {
+                               hasCardinal = false;
+                               // use default from concrete subclass
+                               _cardinal = getDefaultCardinal();
+                       }
+
                        // count numeric fields - 1=d, 2=dm, 3=dm.m/dms, 4=dms.s
                        int numFields = 0;
                        boolean inNumeric = false;
@@ -93,7 +100,7 @@ public abstract class Coordinate
                        }
                        // parse fields according to number found
                        _degrees = (int) fields[0];
-                       _originalFormat = FORMAT_DEG;
+                       _originalFormat = hasCardinal?FORMAT_DEG:FORMAT_DEG_WITHOUT_CARDINAL;
                        _fracDenom = 10;
                        if (numFields == 2)
                        {
@@ -147,10 +154,6 @@ public abstract class Coordinate
                if (cardinal == NO_CARDINAL) {
                        cardinal = getCardinal(inLastChar);
                }
-               // use default from concrete subclass
-               if (cardinal == NO_CARDINAL) {
-                       cardinal = getDefaultCardinal();
-               }
                return cardinal;
        }