Mercator

The Mercator projection is a cylindrical map projection that origins from the 16th century. It is widely recognized as the first regularly used map projection. It is a conformal projection in which the equator projects to a straight line at constant scale. The projection has the property that a rhumb line, a course of constant heading, projects to a straight line. This makes it suitable for navigational purposes.

Classification

Conformal cylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global, but best used near the equator

Alias

merc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

Mercator

proj-string: +proj=merc

Usage

Applications should be limited to equatorial regions, but is frequently used for navigational charts with latitude of true scale (+lat_ts) specified within or near chart's boundaries. It is considered to be inappropriate for world maps because of the gross distortions in area; for example the projected area of Greenland is larger than that of South America, despite the fact that Greenland's area is \(\frac18\) that of South America [Snyder1987].

Example using latitude of true scale:

$ echo 56.35 12.32 | proj +proj=merc +lat_ts=56.5
3470306.37    759599.90

Example using scaling factor:

echo 56.35 12.32 | proj +proj=merc +k_0=2
12545706.61     2746073.80

Note that +lat_ts and +k_0 are mutually exclusive. If used together, +lat_ts takes precedence over +k_0.

Parameters

Note

All parameters for the projection are optional.

+lat_ts=<value>

Latitude of true scale. Defines the latitude where scale is not distorted. Takes precedence over +k_0 if both options are used together.

Defaults to 0.0.

Note

The default convention is to interpret this value as decimal degrees. To specify radians instead, follow the value with the "r" character.

Example: +lat_ts=1.570796r

See Projection Units for more information.

+k_0=<value>

Scale factor. Determines scale factor used in the projection.

Defaults to 1.0.

+lon_0=<value>

Central meridian/longitude of natural origin, longitude of origin or longitude of false origin (naming and meaning depend on the projection method).

Defaults to 0.0.

Note

The default convention is to interpret this value as decimal degrees. To specify radians instead, follow the value with the "r" character.

Example: +lon_0=1.570796r

See Projection Units for more information.

+x_0=<value>

False easting, easting at false origin or easting at projection centre (naming and meaning depend on the projection method). Always in meters.

Defaults to 0.0.

+y_0=<value>

False northing, northing at false origin or northing at projection centre (naming and meaning depend on the projection method). Always in meters.

Defaults to 0.0.

+ellps=<value>

The name of a built-in ellipsoid definition.

See Ellipsoids for more information, or execute proj -le for a list of built-in ellipsoid names.

Defaults to "GRS80".

+R=<value>

Radius of the sphere, given in meters. If used in conjunction with +ellps, +R takes precedence.

See Ellipsoid size parameters for more information.

Mathematical definition

Spherical form

For the spherical form of the projection we introduce the scaling factor:

\[k_0 = \cos \phi_{ts}\]

Forward projection

\[x = k_0R \lambda; \qquad y = k_0R \psi\]
\[\begin{split}\psi &= \ln \tan \biggl(\frac{\pi}{4} + \frac{\phi}{2} \biggr)\\ &= \sinh^{-1}\tan\phi\end{split}\]

The quantity \(\psi\) is the isometric latitude.

Inverse projection

\[\lambda = \frac{x}{k_0R}; \qquad \psi = \frac{y}{k_0R}\]
\[\begin{split}\phi &= \frac{\pi}{2} - 2 \tan^{-1} \exp(-\psi)\\ &= \tan^{-1}\sinh\psi\end{split}\]

Ellipsoidal form

For the ellipsoidal form of the projection we introduce the scaling factor:

\[k_0 = m( \phi_{ts} )\]

where

\[m(\phi) = \frac{\cos\phi}{\sqrt{1 - e^2\sin^2\phi}}\]

\(a\,m(\phi)\) is the radius of the circle of latitude \(\phi\).

Forward projection

\[x = k_0 a \lambda; \qquad y = k_0 a \psi\]
\[\begin{split}\psi &= \ln\tan\biggl(\frac\pi4 + \frac{\phi}2\biggr) -\frac12 e \ln \biggl(\frac{1 + e \sin\phi}{1 - e \sin\phi}\biggr)\\ &= \sinh^{-1}\tan\phi - e \tanh^{-1}(e \sin\phi)\end{split}\]

Inverse projection

\[\lambda = \frac{x}{k_0 a}; \quad \psi = \frac{y}{k_0 a}\]

The latitude \(\phi\) is found by inverting the equation for \(\psi\). This follows the method given by [Karney2011tm]. Start by introducing the conformal latitude

\[\chi = \tan^{-1}\sinh\psi\]

The tangents of the latitudes \(\tau = \tan\phi\) and \(\tau' = \tan\chi = \sinh\psi\) are related by

\[\tau' = \tau \sqrt{1 + \sigma^2} - \sigma \sqrt{1 + \tau^2}\]

where

\[\sigma = \sinh\bigl(e \tanh^{-1}(e \tau/\sqrt{1 + \tau^2}) \bigr)\]

This is obtained by taking the \(\sinh\) of the equation for \(\psi\) and using the multiple argument formula. The equation for \(\tau'\) can be solved to give \(\tau\) using Newton's method using \(\tau = \tau'/(1 - e^2)\) as an initial guess and with the needed derivative given by

\[\frac{d\tau'}{d\tau} = \frac{1 - e^2}{1 + (1 - e^2)\tau^2} \sqrt{1 + \tau'^2} \sqrt{1 + \tau^2}\]

This converges after no more than 2 iterations. Finally set \(\phi=\tan^{-1}\tau\).

Further reading

  1. Wikipedia

  2. Wolfram Mathworld