aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/PJ_merc.c17
-rw-r--r--src/pj_list.h1
2 files changed, 18 insertions, 0 deletions
diff --git a/src/PJ_merc.c b/src/PJ_merc.c
index 18303c45..a3e5e846 100644
--- a/src/PJ_merc.c
+++ b/src/PJ_merc.c
@@ -1,8 +1,10 @@
#define PJ_LIB__
+#include "proj_internal.h"
#include "proj.h"
#include "projects.h"
PROJ_HEAD(merc, "Mercator") "\n\tCyl, Sph&Ell\n\tlat_ts=";
+PROJ_HEAD(webmerc, "Web Mercator / Pseudo Mercator") "\n\tCyl, Sph\n\t";
#define EPS10 1.e-10
@@ -76,3 +78,18 @@ PJ *PROJECTION(merc) {
return P;
}
+PJ *PROJECTION(webmerc) {
+
+ /* Overriding k_0, lat_0 and lon_0 with fixed parameters */
+ P->k0 = 1.0;
+ P->phi0 = 0.0;
+ P->lam0 = 0.0;
+
+ P->b = P->a;
+ /* Clean up the ellipsoidal parameters to reflect the sphere */
+ P->es = P->e = P->f = 0;
+ pj_calc_ellipsoid_params (P, P->a, 0);
+ P->inv = s_inverse;
+ P->fwd = s_forward;
+ return P;
+}
diff --git a/src/pj_list.h b/src/pj_list.h
index 09a66034..440f7972 100644
--- a/src/pj_list.h
+++ b/src/pj_list.h
@@ -156,6 +156,7 @@ PROJ_HEAD(wag4, "Wagner IV")
PROJ_HEAD(wag5, "Wagner V")
PROJ_HEAD(wag6, "Wagner VI")
PROJ_HEAD(wag7, "Wagner VII")
+PROJ_HEAD(webmerc, "Web Mercator / Pseudo Mercator")
PROJ_HEAD(weren, "Werenskiold I")
PROJ_HEAD(wink1, "Winkel I")
PROJ_HEAD(wink2, "Winkel II")