I want to convert Lat Long (in WGS84) to UTM zone40N (EPSG::32640) in Excel. So I'm creating a macro for it by following the EPSG Guidance Note 7, part 2.

I'm following the JHS Formula for Transverse Mercator mentioned in page 52 and the examples after it. It seams easy to just calculate the constants for my area and put them in the formula.

The info I have now is: (reference )

Latitude of Origin (Lat0) = 0
Longitude of Origin (Lng0) = 57
Scale of factor = 0.9996
False Easting= 500,000
False Northing= 0

To calculate the first constant I have the formula

QO = asinh(tan(LatO)) – [e atanh(e sin(LatO))]

And the later constants can be calculated from it, But to calculate Q0, I don't know the values 'a' and 'e'.

In the example 'a' and 'e' are calculated as a parameter of the ellipsoid used for Projected Coordinate Reference System OSGB 1936. I'm assuming the values will be different for my projection system.

Please help me from where can I get these values.

Also let me know if I'm moving in the right direction or not, or if there's another way for achieving my goal. God bless the libraries like ArcPy and GDAL for saving me from calculations like these for so long.

  • ok so a is not a constant, asin itself is Sin inverse. Didn't know that. That leaves me with e now
    – Tayyab Mir
    Jun 14, 2020 at 5:13

1 Answer 1


Your links are broken but I have just had to do the same, i think this page may be helpful if you want to implement from scratch: https://www.linz.govt.nz/data/geodetic-services/coordinate-conversion/projection-conversions/transverse-mercator-transformation-formulae

Alternatively, if you're using a language that has an implementation of the proj package, it will make your life much easier rather than implementing the algorithms from scratch

E.g. Python: https://github.com/pyproj4/pyproj

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.