Ticket #3962 (new defect)

Opened 2 years ago

Last modified 4 months ago

Revisiting Web Mercator

Reported by: warmerdam Owned by: warmerdam
Priority: normal Milestone:
Component: OGR_SRS Version: unspecified
Severity: normal Keywords: web mercator.
Cc:

Description

ESRI now uses the following definition for web mercator:

PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",
    GEOGCS["GCS_WGS_1984",
        DATUM["D_WGS_1984",
            SPHEROID["WGS_1984",6378137.0,298.257223563]],
        PRIMEM["Greenwich",0.0],
        UNIT["Degree",0.0174532925199433]],
    PROJECTION["Mercator_Auxiliary_Sphere"],
    PARAMETER["False_Easting",0.0],
    PARAMETER["False_Northing",0.0],
    PARAMETER["Central_Meridian",0.0],
    PARAMETER["Standard_Parallel_1",0.0],
    PARAMETER["Auxiliary_Sphere_Type",0.0],
    UNIT["Meter",1.0],
    AUTHORITY["ESRI","102100"]]

NOTE: The Auxiliary Sphere Type parameter accepts 0 (use semimajor axis or radius of the geographic coordinate system), 1 (use semiminor axis or radius), 2 (calculate and use authalic radius), or 3 (use authalic radius and convert geodetic latitudes to authalic latitudes).

Erdas is now using the EPRJ_PSEUDO_MERCATOR:

"Pseudo Mercator" {
	Internal 68
	"Spheroid" <spheroid>
	"Longitude of central meridian" <4:angle ew:dd>
	"Latitude of true scale" <5:angle ns:dd>
	"False easting at central meridian" <6:distance ew:meters>
	"False northing at origin" <7:distance ns:meters>
}

EPSG now has a custom projection method, 1024, for google mercator (assuming major axis sphere I believe).

GDAL currently translates EPSG:3857 as:

PROJCS["WGS 84 / Pseudo-Mercator",
    GEOGCS["WGS 84",
        DATUM["WGS_1984",
            SPHEROID["WGS 84",6378137,298.257223563,
                AUTHORITY["EPSG","7030"]],
            AUTHORITY["EPSG","6326"]],
        PRIMEM["Greenwich",0,
            AUTHORITY["EPSG","8901"]],
        UNIT["degree",0.0174532925199433,
            AUTHORITY["EPSG","9122"]],
        AUTHORITY["EPSG","4326"]],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    PROJECTION["Mercator_1SP"],
    PARAMETER["central_meridian",0],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",0],
    PARAMETER["false_northing",0],
    EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs"],
    AUTHORITY["EPSG","3857"],
    AXIS["X",EAST],
    AXIS["Y",NORTH]]

The EXTENSION element with a special proj.4 string that forces use of the semi-major sphere for projection calculations, but treated as WGS84.

I am thinking that we should move to treating the pseudo-mercator projection method better in WKT, and tying the various systems together properly. Either use a custom projection like ESRI ("Mercator_Auxiliary_Sphere") or introduce the "Auxilary_Sphere_Type" parameter to standard Mercator.

Change History

Changed 4 months ago by mrosen

I think the name of the projection method we want is "Popular Visualisation Pseudo Mercator" (no hyphen) ... that is what the EPSG Registry for 3857  http://www.epsg-registry.org/report.htm?type=selection&entity=urn:ogc:def:crs:EPSG::3857&reportDetail=short&style=urn:uuid:report-style:default-with-code&style_name=OGP%20Default%20With%20Code&title=epsg%203857 says.

I believe this issue has affected customers using GDAL to reproject files to 3857 ... the resulting WKT is misinterpretted by ArcGIS causing displacement errors.

Changed 4 months ago by mrosen

Apparently Spatialite users are also affected:  http://lists.osgeo.org/pipermail/gdal-dev/2012-December/034978.html

Note: See TracTickets for help on using tickets.