aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-08-25 20:02:33 +0200
committerEven Rouault <even.rouault@spatialys.com>2019-08-25 20:02:33 +0200
commit4d972f5d93857437c1b1b4912cc803df27f45a26 (patch)
tree80797d56949b8d1ad4e808c2af7a61f956ed0fa4
parent3119518b76dad0ff4a72e5410c955585e3b5b803 (diff)
downloadPROJ-4d972f5d93857437c1b1b4912cc803df27f45a26.tar.gz
PROJ-4d972f5d93857437c1b1b4912cc803df27f45a26.zip
Import WebMercator from PROJ string: make sure the WGS84 datum is set
-rw-r--r--src/iso19111/io.cpp4
-rw-r--r--test/unit/test_io.cpp3
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;
}
// ---------------------------------------------------------------------------