diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-08-25 20:02:33 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-08-25 20:02:33 +0200 |
| commit | 4d972f5d93857437c1b1b4912cc803df27f45a26 (patch) | |
| tree | 80797d56949b8d1ad4e808c2af7a61f956ed0fa4 | |
| parent | 3119518b76dad0ff4a72e5410c955585e3b5b803 (diff) | |
| download | PROJ-4d972f5d93857437c1b1b4912cc803df27f45a26.tar.gz PROJ-4d972f5d93857437c1b1b4912cc803df27f45a26.zip | |
Import WebMercator from PROJ string: make sure the WGS84 datum is set
| -rw-r--r-- | src/iso19111/io.cpp | 4 | ||||
| -rw-r--r-- | test/unit/test_io.cpp | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/iso19111/io.cpp b/src/iso19111/io.cpp index ddef9796..f4d93ef4 100644 --- a/src/iso19111/io.cpp +++ b/src/iso19111/io.cpp @@ -8350,6 +8350,10 @@ CRSNNPtr PROJStringParser::Private::buildProjectedCRS( break; } } + if (getNumericValue(getParamValue(step, "a")) == 6378137) { + return createPseudoMercator(PropertyMap().set( + IdentifiedObject::NAME_KEY, "WGS 84 / Pseudo-Mercator")); + } } else if (hasParamValue(step, "lat_ts")) { mapping = getMapping(EPSG_CODE_METHOD_MERCATOR_VARIANT_B); } else { diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp index 7a3e6729..0239d74a 100644 --- a/test/unit/test_io.cpp +++ b/test/unit/test_io.cpp @@ -7929,6 +7929,9 @@ TEST(io, projparse_merc_google_mercator) { EXPECT_TRUE(wkt.find("METHOD[\"Popular Visualisation Pseudo " "Mercator\",ID[\"EPSG\",1024]") != std::string::npos) << wkt; + EXPECT_TRUE(wkt.find("DATUM[\"World Geodetic System 1984\"") != + std::string::npos) + << wkt; } // --------------------------------------------------------------------------- |
