[Proj] True North Angle

support.mn at elisanet.fi support.mn at elisanet.fi
Mon Jun 23 19:17:01 EDT 2008

> Hello,
> Does anyone know the formula to calculate the deviation angle between
> true north and Universal Transverse Mercator grid north?  Thanks.
> Willy Hersman


There is a way to avoid any specific calculations and make an universal
routine to do that (if you are using proj-4 as a library). You need first your
position on the map in lat/lon coordinates. Lets say this is P1.

Then you just make some helper point from that point, let's say for
example 50 meters north, let's call this P2

Based on lat/lon value of P1 the point P2 is easy to calculate: P2lon will
be the same as P1lon, but P2lat will be 1852*60*360/50 degrees more
north. So you do the addition. Now you have two points in lat/lon and you
know that this is the true north (or what ever) direction on the earth between
these points.

Then you just project them using the actual projection you have at that
moment. And now it is easy to calculate the projection north difference
from the actual true north (which is between P1 and P2), that is:

alpha_diff = atan( (P2north - P1north)/(P2east-P1east))

north/east values are the projected output coordinates from proj-4

and that difference is positive east wards... if I figured it out correctly.

But what ever, that is very easy and works with any projection. The only
limitation is that if it overflows near poles. But anywhere not closer than
50 meters to north pole it should work fine.

If you are closer than, let's say 100 m, to north pole you just reverse the
direction and find out what is the true south instead.

Regards: Janne

More information about the Proj mailing list