private String ZoneForThailandMgrs(String value) { Int32 zone = 0; Char eastingChar = value[0]; if ((eastingChar >= 'A') && (eastingChar <= 'H')) { zone = 49; } else if ((eastingChar >= 'J') && (eastingChar <= 'R')) { zone = 47; } else if ((eastingChar >= 'S') && (eastingChar <= 'Z')) { zone = 48; } Char northingChar = value[1]; String northingCharacters = UtmPoint.MgrsNorthingChars(zone); Int32 northingCount = northingCharacters.IndexOf(northingChar); Char zoneChar; if ((northingCount > 17) | (northingCount == 0)) { zoneChar = 'Q'; } else if (northingCount > 8) { zoneChar = 'P'; } else { zoneChar = 'N'; } String result = zone.ToString() + zoneChar; return(result); }