def from_latlon(latitude, longitude, force_zone_number=None, force_zone_letter=None):
if not in_bounds(latitude, -<NUM_LIT>, <NUM_LIT>):<EOL><INDENT>raise OutOfRangeError('<STR_LIT>')<EOL><DEDENT>if not in_bounds(longitude, -<NUM_LIT>, <NUM_LIT>):<EOL><INDENT>raise OutOfRangeError('<STR_LIT>')<EOL><DEDENT>if force_zone_number is not None:<EOL><INDENT>check_valid_zone(force_zone_number, force_zone_letter)<EOL><DEDENT>lat_rad = mathlib.radians(latitude)<EOL>lat_sin = mathlib.sin(lat_rad)<EOL>lat_cos = mathlib.cos(lat_rad)<EOL>lat_tan = lat_sin / lat_cos<EOL>lat_tan2 = lat_tan * lat_tan<EOL>lat_tan4 = lat_tan2 * lat_tan2<EOL>if force_zone_number is None:<EOL><INDENT>zone_number = latlon_to_zone_number(latitude, longitude)<EOL><DEDENT>else:<EOL><INDENT>zone_number = force_zone_number<EOL><DEDENT>if force_zone_letter is None:<EOL><INDENT>zone_letter = latitude_to_zone_letter(latitude)<EOL><DEDENT>else:<EOL><INDENT>zone_letter = force_zone_letter<EOL><DEDENT>lon_rad = mathlib.radians(longitude)<EOL>central_lon = zone_number_to_central_longitude(zone_number)<EOL>central_lon_rad = mathlib.radians(central_lon)<EOL>n = R / mathlib.sqrt(<NUM_LIT:1> - E * lat_sin**<NUM_LIT:2>)<EOL>c = E_P2 * lat_cos**<NUM_LIT:2><EOL>a = lat_cos * (lon_rad - central_lon_rad)<EOL>a2 = a * a<EOL>a3 = a2 * a<EOL>a4 = a3 * a<EOL>a5 = a4 * a<EOL>a6 = a5 * a<EOL>m = R * (M1 * lat_rad -<EOL>M2 * mathlib.sin(<NUM_LIT:2> * lat_rad) +<EOL>M3 * mathlib.sin(<NUM_LIT:4> * lat_rad) -<EOL>M4 * mathlib.sin(<NUM_LIT:6> * lat_rad))<EOL>easting = K0 * n * (a +<EOL>a3 / <NUM_LIT:6> * (<NUM_LIT:1> - lat_tan2 + c) +<EOL>a5 / <NUM_LIT> * (<NUM_LIT:5> - <NUM_LIT> * lat_tan2 + lat_tan4 + <NUM_LIT> * c - <NUM_LIT> * E_P2)) + <NUM_LIT><EOL>northing = K0 * (m + n * lat_tan * (a2 / <NUM_LIT:2> +<EOL>a4 / <NUM_LIT> * (<NUM_LIT:5> - lat_tan2 + <NUM_LIT:9> * c + <NUM_LIT:4> * c**<NUM_LIT:2>) +<EOL>a6 / <NUM_LIT> * (<NUM_LIT> - <NUM_LIT> * lat_tan2 + lat_tan4 + <NUM_LIT> * c - <NUM_LIT> * E_P2)))<EOL>if mixed_signs(latitude):<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>elif negative(latitude):<EOL><INDENT>northing += <NUM_LIT><EOL><DEDENT>return easting, northing, zone_number, zone_letter<EOL>
This function convert Latitude and Longitude to UTM coordinate

        Parameters
        ----------
        latitude: float
            Latitude between 80 deg S and 84 deg N, e.g. (-80.0 to 84.0)

        longitude: float
            Longitude between 180 deg W and 180 deg E, e.g. (-180.0 to 180.0).

        force_zone number: int
            Zone Number is represented with global map numbers of an UTM Zone
            Numbers Map. You may force conversion including one UTM Zone Number.
            More information see utmzones [1]_

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