4

When I project longitude -60, latitude 0 to mercator, I get the expected answer:

 
> echo "-60 0" | cs2cs +proj=lonlat +to +proj=merc
-6679169.45     0.00 0.00 

However, when I project it to oblique mercator with very similar parameters, I get a very different result:

 
> echo "-60 0" | cs2cs +proj=lonlat +to +proj=omerc +k=1.0 +lat_0=0 +alpha=0.0001 +lonc=0.00001
-8416502.68     -4.68 0.00

Shouldn't the results be approximately equal?

I couldn't use exactly 0 for parameters, since omerc won't initialize there.

I sense I'm doing omerc wrong: what's the right way?

EDIT: I am aware that omerc might have a minor bug for alpha<0: http://permalink.gmane.org/gmane.comp.gis.proj-4.devel/5773 but this shouldn't affect what I'm doing.

1
  • Version 7.1 of proj/cs2cs accepts zeros for alpha: echo "-60 0" | cs2cs +proj=lonlat +to +proj=omerc +k=1.0 +lat_0=0 +alpha=0 +lonc=0 gives -8416500.44 0.00 0.00 – Dave X Oct 29 '20 at 14:58
3

According to Snyder's "Map Projections - A Working Manual" (Pg 68) - "It should be remembered that the regular Mercator is in fact a limiting form of the Oblique Mercator with the Equator as the central line". This means you should set your +alpha to -90 or +90.

enter image description here

3
  • 1
    alpha=0 is more close to a transverse mercator projection. – AndreJ Feb 17 '18 at 9:02
  • Agreed. For readers' benefits - if you need omerc's +alpha to be 0 deg, then use +proj=tmerc instead since omerc's +alpha can never be 0. – Ralph Tee Feb 17 '18 at 9:26
  • @RalphTee: omerc's alpha can be 0: echo "-60 0" | cs2cs +proj=lonlat +to +proj=omerc +k=1.0 +lat_0=0 +alpha=0 +lonc=0 gives -8416500.44 0.00 0.00 – Dave X Oct 29 '20 at 15:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy