def to_latlon(easting, northing, zone_number, zone_letter=None, northern=None, strict=True):
if not zone_letter and northern is None:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>elif zone_letter and northern is not None:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>if strict:<EOL><INDENT>if not in_bounds(easting, <NUM_LIT>, <NUM_LIT>, upper_strict=True):<EOL><INDENT>raise OutOfRangeError('<STR_LIT>')<EOL><DEDENT>if not in_bounds(northing, <NUM_LIT:0>, <NUM_LIT>):<EOL><INDENT>raise OutOfRangeError('<STR_LIT>')<EOL><DEDENT><DEDENT>check_valid_zone(zone_number, zone_letter)<EOL>if zone_letter:<EOL><INDENT>zone_letter = zone_letter.upper()<EOL>northern = (zone_letter >= '<STR_LIT:N>')<EOL><DEDENT>x = easting - <NUM_LIT><EOL>y = northing<EOL>if not northern:<EOL><INDENT>y -= <NUM_LIT><EOL><DEDENT>m = y / K0<EOL>mu = m / (R * M1)<EOL>p_rad = (mu +<EOL>P2 * mathlib.sin(<NUM_LIT:2> * mu) +<EOL>P3 * mathlib.sin(<NUM_LIT:4> * mu) +<EOL>P4 * mathlib.sin(<NUM_LIT:6> * mu) +<EOL>P5 * mathlib.sin(<NUM_LIT:8> * mu))<EOL>p_sin = mathlib.sin(p_rad)<EOL>p_sin2 = p_sin * p_sin<EOL>p_cos = mathlib.cos(p_rad)<EOL>p_tan = p_sin / p_cos<EOL>p_tan2 = p_tan * p_tan<EOL>p_tan4 = p_tan2 * p_tan2<EOL>ep_sin = <NUM_LIT:1> - E * p_sin2<EOL>ep_sin_sqrt = mathlib.sqrt(<NUM_LIT:1> - E * p_sin2)<EOL>n = R / ep_sin_sqrt<EOL>r = (<NUM_LIT:1> - E) / ep_sin<EOL>c = _E * p_cos**<NUM_LIT:2><EOL>c2 = c * c<EOL>d = x / (n * K0)<EOL>d2 = d * d<EOL>d3 = d2 * d<EOL>d4 = d3 * d<EOL>d5 = d4 * d<EOL>d6 = d5 * d<EOL>latitude = (p_rad - (p_tan / r) *<EOL>(d2 / <NUM_LIT:2> -<EOL>d4 / <NUM_LIT> * (<NUM_LIT:5> + <NUM_LIT:3> * p_tan2 + <NUM_LIT:10> * c - <NUM_LIT:4> * c2 - <NUM_LIT:9> * E_P2)) +<EOL>d6 / <NUM_LIT> * (<NUM_LIT> + <NUM_LIT> * p_tan2 + <NUM_LIT> * c + <NUM_LIT> * p_tan4 - <NUM_LIT> * E_P2 - <NUM_LIT:3> * c2))<EOL>longitude = (d -<EOL>d3 / <NUM_LIT:6> * (<NUM_LIT:1> + <NUM_LIT:2> * p_tan2 + c) +<EOL>d5 / <NUM_LIT> * (<NUM_LIT:5> - <NUM_LIT:2> * c + <NUM_LIT> * p_tan2 - <NUM_LIT:3> * c2 + <NUM_LIT:8> * E_P2 + <NUM_LIT> * p_tan4)) / p_cos<EOL>return (mathlib.degrees(latitude),<EOL>mathlib.degrees(longitude) + zone_number_to_central_longitude(zone_number))<EOL>
This function convert an UTM coordinate into Latitude and Longitude

        Parameters
        ----------
        easting: int
            Easting value of UTM coordinate

        northing: int
            Northing value of UTM coordinate

        zone number: int
            Zone Number is represented with global map numbers of an UTM Zone
            Numbers Map. More information see utmzones [1]_

        zone_letter: str
            Zone Letter can be represented as string values. Where UTM Zone
            Designators can be accessed in [1]_

        northern: bool
            You can set True or False to set this parameter. Default is None


       .. _[1]: http://www.jaworski.ca/utmzones.htm