diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-10-25 11:04:16 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-10-25 11:04:16 +0200 |
| commit | a7ba8069084f898f25c5befbeac5fd9589e20808 (patch) | |
| tree | c2e40b78189a6817536b9c83debd6c75edb414ff /src/iso19111/io.cpp | |
| parent | e14651b83158b83b6a8d55e8054aae78d5d2b09d (diff) | |
| download | PROJ-a7ba8069084f898f25c5befbeac5fd9589e20808.tar.gz PROJ-a7ba8069084f898f25c5befbeac5fd9589e20808.zip | |
importFromWkt(): fix axis orientation for non-standard ESRI WKT (fixes #1690)
Diffstat (limited to 'src/iso19111/io.cpp')
| -rw-r--r-- | src/iso19111/io.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/iso19111/io.cpp b/src/iso19111/io.cpp index 0c5b2f1a..fc66b6c9 100644 --- a/src/iso19111/io.cpp +++ b/src/iso19111/io.cpp @@ -3185,7 +3185,16 @@ ConversionNNPtr WKTParser::Private::buildProjectionFromESRI( } } - const auto *wkt2_mapping = getMapping(esriMapping->wkt2_name); + const char *projectionMethodWkt2Name = esriMapping->wkt2_name; + if (ci_equal(esriProjectionName, "Krovak")) { + const std::string projCRSName = + stripQuotes(projCRSNode->GP()->children()[0]); + if (projCRSName.find("_East_North") != std::string::npos) { + projectionMethodWkt2Name = EPSG_NAME_METHOD_KROVAK_NORTH_ORIENTED; + } + } + + const auto *wkt2_mapping = getMapping(projectionMethodWkt2Name); if (ci_equal(esriProjectionName, "Stereographic")) { try { if (std::fabs(io::asDouble( |
