aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_factory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/test_factory.cpp')
-rw-r--r--test/unit/test_factory.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/unit/test_factory.cpp b/test/unit/test_factory.cpp
index 37013775..d7bb7a07 100644
--- a/test/unit/test_factory.cpp
+++ b/test/unit/test_factory.cpp
@@ -1326,6 +1326,26 @@ TEST(
// ---------------------------------------------------------------------------
+TEST(
+ factory,
+ AuthorityFactory_createCoordinateOperation_concatenated_operation_epsg_9731) {
+ auto factory = AuthorityFactory::create(DatabaseContext::create(), "EPSG");
+ auto op = factory->createCoordinateOperation("9731", false);
+ auto concatenated = nn_dynamic_pointer_cast<ConcatenatedOperation>(op);
+ ASSERT_TRUE(concatenated != nullptr);
+ EXPECT_EQ(
+ concatenated->exportToPROJString(PROJStringFormatter::create().get()),
+ "+proj=pipeline "
+ "+step +proj=axisswap +order=2,1 "
+ "+step +proj=unitconvert +xy_in=deg +xy_out=rad "
+ "+step +inv +proj=vgridshift +grids=geo_igm_mar06.grd +multiplier=1 "
+ "+step +proj=unitconvert +xy_in=rad +xy_out=deg "
+ "+step +proj=axisswap +order=2,1 "
+ "+step +proj=geogoffset +dh=0.141");
+}
+
+// ---------------------------------------------------------------------------
+
static bool in(const std::string &str, const std::vector<std::string> &list) {
for (const auto &listItem : list) {
if (str == listItem) {