Skip to content

Feature Request: LatLng Boundaries from UTM Zone & latitude band #42

@fprott

Description

@fprott

I would like to request that there is a function that returns the four corners of each UTM zone as a list of latitude, longitude tuples.

Use-case: I want to distribute a bigger mapping task onto each UTM zone. Many of my task can be parallelized. But the web-service I use needs clearly defined latitude,longitude tuples for bounding boxes.

These tuples are tedious to be calculated by hand since the latitude is based of the UTM latitude band characters and those are missing the I & O and have special cases for Z,A,B & X.

Short example implementation:

    def cacl_UTM_zone_boundary(self, zone_number: int, zone_band: str):
        lng = ((zone_number - 1) * 6) - 180  # each zone is 6 degree wide and we want the western part
        # Tricky, there is no Zone I or O, Zone Z, A,B are wrong and Zone X is strange. So we map that stuff :D
        zone_band = zone_band.upper()
        lat_look_up = {"Z": 90, "X": 84, "W": 72, "V": 56, "U": 48, "T": 40, "S": 32, "R": 24, "Q": 16, "P": 8,
                       "N": 0, "M": -8, "L": -16, "K": -24, "J": -32, "H": -40, "G": -48, "F": -56, "E": -64,
                       "D": -72, "C": -80}  # Note: no special case for A,B,Z
        # I do not need A,B,Z yet. If I never need it I have to find a better way to calc that.
        lat = lat_look_up[zone_band]
        # NW, NO, SO, SW
        return [(lat, lng), (lat - 6, lng), (lat - 6, lng - 8), (lat, lng - 8)]

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions