# Path: roadmaptools/init.py



import math
import utm
import numpy as np
from typing import Tuple
from roadmaptools.init import config
        projection.origin_easting = res[0]
        projection.origin_northing = res[1]
        projection.origin_zone_number = res[2]
        projection.origin_zone_letter = res[3]

        return projection

    @classmethod
    def from_zone(cls, zone_number: int, zone_letter: str):
        projection = cls()
        projection.origin_zone_number = zone_number
        projection.origin_zone_letter = zone_letter

        return projection

    def wgs84_to_utm(self, lat, lon):
        easting, northing, _, _ = utm.from_latlon(lat, lon, force_zone_number=self.origin_zone_number)
        if config.shift_utm_coordinate_origin_to_utm_center:
            easting -= self.origin_easting
            northing -= self.origin_northing
        return easting, northing

    def utm_to_wgs84(self, easting, northing):
        if config.shift_utm_coordinate_origin_to_utm_center:
            easting += self.origin_easting
            northing += self.origin_northing
        return utm.to_latlon(easting, northing, self.origin_zone_number, self.origin_zone_letter)


# Project to Euclidean plane such that the units are meters.

# Path: roadmaptools/init.py



# Path: roadmaptools/utm.py
import math
import utm
import numpy as np
from typing import Tuple
from roadmaptools.init import config

        projection.origin_easting = res[0]
        projection.origin_northing = res[1]
        projection.origin_zone_number = res[2]
        projection.origin_zone_letter = res[3]

        return projection

    @classmethod
    def from_zone(cls, zone_number: int, zone_letter: str):
        projection = cls()
        projection.origin_zone_number = zone_number
        projection.origin_zone_letter = zone_letter

        return projection

    def wgs84_to_utm(self, lat, lon):
        easting, northing, _, _ = utm.from_latlon(lat, lon, force_zone_number=self.origin_zone_number)
        if config.shift_utm_coordinate_origin_to_utm_center:
            easting -= self.origin_easting
            northing -= self.origin_northing
        return easting, northing

    def utm_to_wgs84(self, easting, northing):
        if config.shift_utm_coordinate_origin_to_utm_center:
            easting += self.origin_easting
            northing += self.origin_northing
        return utm.to_latlon(easting, northing, self.origin_zone_number, self.origin_zone_letter)


# Project to Euclidean plane such that the units are meters.

default_projection = TransposedUTM.from_gps(config.utm_center_lon, config.utm_center_lat)