terriajs
Version:
Geospatial data visualization platform.
26 lines (21 loc) • 703 B
text/typescript
import proj4 from "proj4";
/**
* Turns the longitude / latitude in degrees into a human readable pretty UTM zone representation.
*/
export default function prettifyProjection(
longitude: number,
latitude: number,
proj4Projection: string,
proj4longlat: string,
projectionUnits: string
) {
const zone = 1 + Math.floor((longitude + 180) / 6);
const projection =
proj4Projection + " +zone=" + zone + (latitude < 0 ? " +south" : "");
const projPoint = proj4(proj4longlat, projection, [longitude, latitude]);
return {
utmZone: zone + (latitude < 0.0 ? "S" : "N"),
north: projPoint[1].toFixed(2) + projectionUnits,
east: projPoint[0].toFixed(2) + projectionUnits
};
}