Skip to content

Commit 45129b9

Browse files
committed
Simplified UTMLetterDesignator()
1 parent c2b47ae commit 45129b9

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
@@ -472,54 +472,21 @@
472472
473473
***************************************************************************/
474474

475-
UTMLetterDesignator: function (lat) {
475+
UTMLetterDesignator: function (lat){
476476
lat = parseFloat(lat);
477477

478-
var letterDesignator;
479-
if ((84 >= lat) && (lat >= 72))
480-
letterDesignator = 'X';
481-
else if ((72 > lat) && (lat >= 64))
482-
letterDesignator = 'W';
483-
else if ((64 > lat) && (lat >= 56))
484-
letterDesignator = 'V';
485-
else if ((56 > lat) && (lat >= 48))
486-
letterDesignator = 'U';
487-
else if ((48 > lat) && (lat >= 40))
488-
letterDesignator = 'T';
489-
else if ((40 > lat) && (lat >= 32))
490-
letterDesignator = 'S';
491-
else if ((32 > lat) && (lat >= 24))
492-
letterDesignator = 'R';
493-
else if ((24 > lat) && (lat >= 16))
494-
letterDesignator = 'Q';
495-
else if ((16 > lat) && (lat >= 8))
496-
letterDesignator = 'P';
497-
else if (( 8 > lat) && (lat >= 0))
498-
letterDesignator = 'N';
499-
else if (( 0 > lat) && (lat >= -8))
500-
letterDesignator = 'M';
501-
else if ((-8> lat) && (lat >= -16))
502-
letterDesignator = 'L';
503-
else if ((-16 > lat) && (lat >= -24))
504-
letterDesignator = 'K';
505-
else if ((-24 > lat) && (lat >= -32))
506-
letterDesignator = 'J';
507-
else if ((-32 > lat) && (lat >= -40))
508-
letterDesignator = 'H';
509-
else if ((-40 > lat) && (lat >= -48))
510-
letterDesignator = 'G';
511-
else if ((-48 > lat) && (lat >= -56))
512-
letterDesignator = 'F';
513-
else if ((-56 > lat) && (lat >= -64))
514-
letterDesignator = 'E';
515-
else if ((-64 > lat) && (lat >= -72))
516-
letterDesignator = 'D';
517-
else if ((-72 > lat) && (lat >= -80))
518-
letterDesignator = 'C';
519-
else
520-
letterDesignator = 'Z'; // This is here as an error flag to show
521-
// that the latitude is outside the UTM limits
522-
return letterDesignator;
478+
if (lat > 84 || lat < -80){
479+
return 'Z';
480+
481+
} else {
482+
var index = (lat + 80) / 8;
483+
484+
if (index >= 6) index++; // skip 'I'
485+
if (index >= 12) index++; // skip 'O'
486+
if (index >= 22) index--; // adjust for 80 to 84, which should be 'X'
487+
488+
return String.fromCharCode(67 /* C */ + index);
489+
}
523490
},
524491

525492

0 commit comments

Comments
 (0)