diff options
| -rw-r--r-- | src/iso19111/coordinateoperation.cpp | 8 | ||||
| -rw-r--r-- | test/unit/test_operation.cpp | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/iso19111/coordinateoperation.cpp b/src/iso19111/coordinateoperation.cpp index 53fa64bf..f429c328 100644 --- a/src/iso19111/coordinateoperation.cpp +++ b/src/iso19111/coordinateoperation.cpp @@ -2129,6 +2129,14 @@ std::list<std::string> SingleOperation::validateParameters() const { } if (!opv) { + if ((methodEPSGCode == EPSG_CODE_METHOD_EQUIDISTANT_CYLINDRICAL || + methodEPSGCode == + EPSG_CODE_METHOD_EQUIDISTANT_CYLINDRICAL_SPHERICAL) && + paramMapping == ¶mLatitudeNatOrigin) { + // extension of EPSG used by GDAL/PROJ, so we should not + // warn on its absence. + continue; + } std::string msg("Cannot find expected parameter "); msg += paramMapping->wkt2_name; res.emplace_back(msg); diff --git a/test/unit/test_operation.cpp b/test/unit/test_operation.cpp index d4d1768e..30d52806 100644 --- a/test/unit/test_operation.cpp +++ b/test/unit/test_operation.cpp @@ -2090,6 +2090,8 @@ TEST(operation, createEquidistantCylindrical) { "PARAMETER[\"central_meridian\",2],\n" "PARAMETER[\"false_easting\",3],\n" "PARAMETER[\"false_northing\",4]"); + + EXPECT_TRUE(conv->validateParameters().empty()); } // --------------------------------------------------------------------------- @@ -2127,6 +2129,8 @@ TEST(operation, createEquidistantCylindricalSpherical) { "PARAMETER[\"central_meridian\",2],\n" "PARAMETER[\"false_easting\",3],\n" "PARAMETER[\"false_northing\",4]"); + + EXPECT_TRUE(conv->validateParameters().empty()); } // --------------------------------------------------------------------------- |
