Source: https://guthlabs.ai/docs/instruments/lat-lon-utm-converter/implementation/

instrument implementation / implementation-contract

# Lat/Lon ↔ UTM Converter implementation

A source-bound implementation contract for Lat/Lon ↔ UTM Converter; deployment and executable qualification remain separate.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **implementation-contract**

## Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

**Record owner**: Guth Instruments

**Lifecycle**: verified-with-binding-errata

**Evidence ID**: t6-060

**Effect**: Computation or source lookup only

## Input and validation requirements

- Reject or route latitudes outside approximately 80 degrees south to 84 degrees north to UPS; do not silently return ordinary UTM coordinates near the poles.

- Validate longitude range and define normalization, especially longitude 180 degrees and values outside [-180,180].

- Zone must be an integer from 1 through 60; inverse conversion also requires an explicit hemisphere.

- Do not confuse UTM false northing with signed northing. Southern UTM northings near the equator are close to 10000000 m.

- Central-meridian and zone-boundary behavior needs a documented convention; the Norway and Svalbard special zones must be implemented if automatic zone selection is claimed.

- Floating-point precision and series order affect sub-metre results; the instrument should expose or document its accuracy and rounding policy.

- A malformed zone, hemisphere, latitude, longitude, easting, or northing should produce a validation error rather than a plausible-looking coordinate.

## Required corrections

````
[
  {
    "vector": 3,
    "field": "northing_m",
    "wrong": 5411943.794,
    "correct": 5411932.678,
    "cause": "hand-evaluated TM series slip (~11 m); my series verified exactly on v1/v2"
  },
  {
    "vector": 4,
    "field": "northing_m",
    "wrong": 6347211.686,
    "correct": 6348713.056,
    "cause": "1.5 km error in the southern-hemisphere northing; numeric meridian-arc integral gives 3,652,748.04 m for 33 deg -> N = 1e7 - 0.9996*M = 6,348,713.06"
  }
]
````

## Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

````
{
  "inputs": {
    "direction": "forward",
    "latitude_deg": 0,
    "longitude_deg": 3,
    "zone": 31,
    "hemisphere": "N",
    "datum": "WGS84"
  },
  "expected_outputs": {
    "zone": 31,
    "hemisphere": "N",
    "easting_m": 500000,
    "northing_m": 0
  },
  "working": "Zone 31 central meridian = 6(31) - 183 = 3 degrees. Therefore longitude difference dlon = 3 - 3 = 0 degrees. At latitude phi = 0, meridional arc M = 0, and every transverse-Mercator correction containing dlon is 0. E = 500000 + k0*(0) = 500000 m. N = k0*M = 0 m."
}
````

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/lat-lon-utm-converter/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/lat-lon-utm-converter/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/lat-lon-utm-converter/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche6/tranche6-results.json`

- `tranche errata record`
