Skip to content

Commit d254aab

Browse files
authored
Merge pull request #11 from mushrom/master
Simplified UTMLetterDesignator()
2 parents 459f23b + 45129b9 commit d254aab

File tree

1 file changed

+13
-46
lines changed

1 file changed

+13
-46
lines changed

usng.js

Lines changed: 13 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -499,54 +499,21 @@
499499
500500
***************************************************************************/
501501

502-
UTMLetterDesignator: function (lat) {
502+
UTMLetterDesignator: function (lat){
503503
lat = parseFloat(lat);
504504

505-
var letterDesignator;
506-
if ((84 >= lat) && (lat >= 72))
507-
letterDesignator = 'X';
508-
else if ((72 > lat) && (lat >= 64))
509-
letterDesignator = 'W';
510-
else if ((64 > lat) && (lat >= 56))
511-
letterDesignator = 'V';
512-
else if ((56 > lat) && (lat >= 48))
513-
letterDesignator = 'U';
514-
else if ((48 > lat) && (lat >= 40))
515-
letterDesignator = 'T';
516-
else if ((40 > lat) && (lat >= 32))
517-
letterDesignator = 'S';
518-
else if ((32 > lat) && (lat >= 24))
519-
letterDesignator = 'R';
520-
else if ((24 > lat) && (lat >= 16))
521-
letterDesignator = 'Q';
522-
else if ((16 > lat) && (lat >= 8))
523-
letterDesignator = 'P';
524-
else if (( 8 > lat) && (lat >= 0))
525-
letterDesignator = 'N';
526-
else if (( 0 > lat) && (lat >= -8))
527-
letterDesignator = 'M';
528-
else if ((-8> lat) && (lat >= -16))
529-
letterDesignator = 'L';
530-
else if ((-16 > lat) && (lat >= -24))
531-
letterDesignator = 'K';
532-
else if ((-24 > lat) && (lat >= -32))
533-
letterDesignator = 'J';
534-
else if ((-32 > lat) && (lat >= -40))
535-
letterDesignator = 'H';
536-
else if ((-40 > lat) && (lat >= -48))
537-
letterDesignator = 'G';
538-
else if ((-48 > lat) && (lat >= -56))
539-
letterDesignator = 'F';
540-
else if ((-56 > lat) && (lat >= -64))
541-
letterDesignator = 'E';
542-
else if ((-64 > lat) && (lat >= -72))
543-
letterDesignator = 'D';
544-
else if ((-72 > lat) && (lat >= -80))
545-
letterDesignator = 'C';
546-
else
547-
letterDesignator = 'Z'; // This is here as an error flag to show
548-
// that the latitude is outside the UTM limits
549-
return letterDesignator;
505+
if (lat > 84 || lat < -80){
506+
return 'Z';
507+
508+
} else {
509+
var index = (lat + 80) / 8;
510+
511+
if (index >= 6) index++; // skip 'I'
512+
if (index >= 12) index++; // skip 'O'
513+
if (index >= 22) index--; // adjust for 80 to 84, which should be 'X'
514+
515+
return String.fromCharCode(67 /* C */ + index);
516+
}
550517
},
551518

552519

0 commit comments

Comments
 (0)