Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

incorrect convergence calculation for lcc projection. #16

proj4-bot opened this issue May 22, 2015 · 2 comments

incorrect convergence calculation for lcc projection. #16

proj4-bot opened this issue May 22, 2015 · 2 comments


Copy link

@proj4-bot proj4-bot commented May 22, 2015

Reported by keesk on 22 Sep 2008 08:36 UTC

Convergence calculation for lcc seems to have an incorrect sign. The convention for convergence is:

  meridian convergence = bearing of grid north (measured clockwise from true north)

  so: true bearing = grid bearing + convergence

To demonstrate this i modified proj.exe so it prints the convergence (in
deg) at the end of the line when using the -S flag:

C:\proj-4.6.1\src>proj -vS +proj=lcc +datum=WGS84 +lat_0=52 +lon_0=3
+lat_1=50 +lat_2=54
#Lambert Conformal Conic
# Conic, Sph&Ell
# lat_1= and lat_2= or lat_0
# +proj=lcc +datum=WGS84 +lat_0=52 +lon_0=3 +lat_1=50 +lat_2=54 +ellps=WGS84
# +towgs84=0,0,0
2 52
-68634.11 472.08 <0.999392 0.999392 0.998785 0.000355057 0.999395
0.999389 0.788173>
4 52
68634.11 472.08 <0.999392 0.999392 0.998785 0.000355708 0.999395
0.999389 -0.788173>
4 52.1
68481.15 11591.10 <0.999393 0.999393 0.998787 0.000434814
0.999397 0.99939 -0.788173>

When i calculate two positions along a longitude east of the origin (point E4N52 and point E4N52.1) the easting reduces when going northwards. According te the convention the convergence should be positive and not negative.

Testing with a UTM projection gives the expected results:

C:\proj-4.6.1\src>proj -vS +proj=utm +datum=WGS84 +lon_0=3
#Universal Transverse Mercator (UTM)
# Cyl, Sph
# zone= south
# +proj=utm +datum=WGS84 +lon_0=3 +ellps=WGS84 +towgs84=0,0,0
2 52
431350.30 5761510.32 <0.999658 0.999658 0.999316 1.20783e-006
0.999658 0.999658 -0.788041>
4 52
568649.70 5761510.32 <0.999658 0.999658 0.999316 8.54066e-007
0.999658 0.999658 0.788041>
4 52.1
568496.62 5772632.28 <0.999658 0.999658 0.999315 0 0.999658
0.999658 0.789115>

From the above results it seems that for utm the convergence is
negative when west and positive when east of lon_0.
If you calculate two utm positions along the same longitude east of
lon_0, you see that the easting reduces when going northwards.

From this is seems that TrueNorth = GridNorth + convergence which complies with the convention.


Kees Krikke

Last Modified by warmerdam on 22 Sep 2008 14:54 UTC


Copy link

@proj4-bot proj4-bot commented May 22, 2015

Comment by warmerdam on 22 Sep 2008 14:54 UTC
This is related to the thread:

with the (current) conclusion:

I'll wait for Gerald to complete his analysis and then look to apply the same fix he does.

Copy link

@dtutic dtutic commented Jul 12, 2017

My findings also confirm that LCC gives opposite sign for meridian convergence if we accept the definition: "meridian convergence on a map, at a given point, is the angle measured clockwise from
the tangent to the projection of the meridian to the northing coordinate line (grid north)—also
called map angle or mapping angle."

Solution is to replace the line:

fac->conv = - Q->n * lp.lam;


fac->conv = Q->n * lp.lam;

in PJ_lcc.c

@kbevers kbevers closed this in 1c9e795 Jul 13, 2017
kbevers added a commit that referenced this issue Jul 13, 2017
Correcting convergence formula for LCC. Fixes #16.
@kbevers kbevers moved this from Bugs to Done in 2017 release Jul 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants