diff options
Diffstat (limited to 'test/unit')
| -rw-r--r-- | test/unit/test_c_api.cpp | 4 | ||||
| -rw-r--r-- | test/unit/test_factory.cpp | 38 | ||||
| -rw-r--r-- | test/unit/test_operation.cpp | 7 | ||||
| -rw-r--r-- | test/unit/test_operationfactory.cpp | 18 |
4 files changed, 54 insertions, 13 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp index fa69c9aa..8fa1b228 100644 --- a/test/unit/test_c_api.cpp +++ b/test/unit/test_c_api.cpp @@ -5021,7 +5021,7 @@ TEST_F(CApi, proj_create_vertical_crs_ex) { ASSERT_TRUE(name != nullptr); EXPECT_EQ(name, std::string("Inverse of UTM zone 11N + " - "Transformation from myVertCRS (ftUS) to myVertCRS + " + "Conversion from myVertCRS (ftUS) to myVertCRS + " "Transformation from myVertCRS to NAD83(2011)")); auto proj_5 = proj_as_proj_string(m_ctxt, P, PJ_PROJ_5, nullptr); @@ -5090,7 +5090,7 @@ TEST_F(CApi, proj_create_vertical_crs_ex_with_geog_crs) { name, std::string("Inverse of UTM zone 11N + " "Ballpark geographic offset from NAD83(2011) to WGS 84 + " - "Transformation from myVertCRS to myVertCRS (metre) + " + "Conversion from myVertCRS to myVertCRS (metre) + " "Transformation from myVertCRS (metre) to WGS 84 + " "Ballpark geographic offset from WGS 84 to NAD83(2011)")); diff --git a/test/unit/test_factory.cpp b/test/unit/test_factory.cpp index 02033a8a..c10c4697 100644 --- a/test/unit/test_factory.cpp +++ b/test/unit/test_factory.cpp @@ -1261,7 +1261,7 @@ TEST( auto operations = concatenated->operations(); ASSERT_EQ(operations.size(), 2U); EXPECT_TRUE(operations[0]->isEquivalentTo( - factory->createCoordinateOperation("7972", false).get())); + factory->createCoordinateOperation("7813", false).get())); EXPECT_TRUE(operations[1]->isEquivalentTo( factory->createCoordinateOperation("7969", false).get())); } @@ -1270,6 +1270,42 @@ TEST( TEST( factory, + AuthorityFactory_createCoordinateOperation_concatenated_operation_step_2_and_3_are_conversion) { + auto factory = AuthorityFactory::create(DatabaseContext::create(), "EPSG"); + auto op = factory->createCoordinateOperation("7987", false); + auto concatenated = nn_dynamic_pointer_cast<ConcatenatedOperation>(op); + ASSERT_TRUE(concatenated != nullptr); + auto operations = concatenated->operations(); + ASSERT_EQ(operations.size(), 3U); + EXPECT_TRUE(operations[0]->isEquivalentTo( + factory->createCoordinateOperation("7980", false).get())); + EXPECT_TRUE(operations[1]->isEquivalentTo( + factory->createCoordinateOperation("7812", false).get())); + EXPECT_TRUE(operations[2]->isEquivalentTo( + factory->createCoordinateOperation("7813", false).get())); + + EXPECT_EQ(operations[1]->targetCRS()->nameStr(), "KOC WD depth"); + EXPECT_EQ(operations[2]->sourceCRS()->nameStr(), + operations[1]->targetCRS()->nameStr()); + EXPECT_EQ( + concatenated->exportToPROJString(PROJStringFormatter::create().get()), + "+proj=pipeline " + "+step +proj=geogoffset +dh=-4.74 " + "+step +proj=axisswap +order=1,2,-3 " + "+step +proj=unitconvert +z_in=m +z_out=ft"); + + EXPECT_EQ(concatenated->inverse()->exportToPROJString( + PROJStringFormatter::create().get()), + "+proj=pipeline " + "+step +proj=unitconvert +z_in=ft +z_out=m " + "+step +proj=axisswap +order=1,2,-3 " + "+step +proj=geogoffset +dh=4.74"); +} + +// --------------------------------------------------------------------------- + +TEST( + factory, AuthorityFactory_createCoordinateOperation_concatenated_operation_epsg_9103) { auto factory = AuthorityFactory::create(DatabaseContext::create(), "EPSG"); auto op = factory->createCoordinateOperation("9103", false); diff --git a/test/unit/test_operation.cpp b/test/unit/test_operation.cpp index 2830ea94..f76647e2 100644 --- a/test/unit/test_operation.cpp +++ b/test/unit/test_operation.cpp @@ -5302,6 +5302,13 @@ TEST(operation, createChangeVerticalUnit) { // --------------------------------------------------------------------------- +TEST(operation, createChangeVerticalUnitNoconvFactor) { + auto conv = Conversion::createChangeVerticalUnit(PropertyMap()); + EXPECT_TRUE(conv->validateParameters().empty()); +} + +// --------------------------------------------------------------------------- + TEST(operation, createGeographicGeocentric) { auto conv = Conversion::createGeographicGeocentric(PropertyMap()); EXPECT_TRUE(conv->validateParameters().empty()); diff --git a/test/unit/test_operationfactory.cpp b/test/unit/test_operationfactory.cpp index 4c204c21..8ef59eb0 100644 --- a/test/unit/test_operationfactory.cpp +++ b/test/unit/test_operationfactory.cpp @@ -3357,7 +3357,7 @@ TEST(operation, NN_NO_CHECK(src), GeographicCRS::EPSG_4979); ASSERT_TRUE(op != nullptr); EXPECT_EQ(op->nameStr(), "axis order change (2D) + " - "Transformation from unknown to unknown + " + "Conversion from unknown to unknown + " "unknown to WGS84 ellipsoidal height"); EXPECT_EQ( op->exportToPROJString(PROJStringFormatter::create().get()), @@ -3719,7 +3719,7 @@ TEST(operation, "Inverse of unnamed + " "Transformation from NAD83 to WGS84 + " "Ballpark geographic offset from WGS 84 to NAD83(2011) + " - "Transformation from NAVD88 height (ftUS) to NAVD88 height + " + "Conversion from NAVD88 height (ftUS) to NAVD88 height + " "Inverse of NAD83(2011) to NAVD88 height (1) + " "Conversion from NAD83(2011) (geog3D) to NAD83(2011) " "(geocentric)") { @@ -4101,7 +4101,7 @@ TEST( EXPECT_EQ(list[0]->nameStr(), "Inverse of unnamed + " "Transformation from NAD83 to WGS84 + " - "NAVD88 height to NAVD88 height (ftUS) + " + "Conversion from NAVD88 height to NAVD88 height (ftUS) + " "Inverse of Transformation from NAD83 to WGS84 + " "unnamed"); auto grids = list[0]->gridsNeeded(dbContext, false); @@ -5304,7 +5304,7 @@ TEST(operation, compoundCRS_to_geogCRS_with_vertical_unit_change) { ASSERT_EQ(listCompoundToGeog.size(), listCompoundMetreToGeog.size()); EXPECT_EQ(listCompoundToGeog[0]->nameStr(), - "Inverse of NAVD88 height to NAVD88 height (ftUS) + " + + "Conversion from NAVD88 height (ftUS) to NAVD88 height + " + listCompoundMetreToGeog[0]->nameStr()); EXPECT_EQ( listCompoundToGeog[0]->exportToPROJString( @@ -5369,7 +5369,7 @@ TEST( ASSERT_GE(listCompoundToGeog.size(), 1U); EXPECT_EQ(listCompoundToGeog[0]->nameStr(), - "Inverse of NAVD88 height to NAVD88 height (ftUS) + " + + "Conversion from NAVD88 height (ftUS) to NAVD88 height + " + listCompoundMetreToGeog[0]->nameStr()); EXPECT_EQ( listCompoundToGeog[0]->exportToPROJString( @@ -5425,7 +5425,7 @@ TEST(operation, compoundCRS_to_geogCRS_with_height_depth_reversal) { ASSERT_EQ(listCompoundToGeog.size(), listCompoundMetreToGeog.size()); EXPECT_EQ(listCompoundToGeog[0]->nameStr(), - "Inverse of NAVD88 height to NAVD88 depth + " + + "Conversion from NAVD88 depth to NAVD88 height + " + listCompoundMetreToGeog[0]->nameStr()); EXPECT_EQ( listCompoundToGeog[0]->exportToPROJString( @@ -5489,8 +5489,7 @@ TEST( ASSERT_EQ(listCompoundToGeog.size(), listCompoundMetreToGeog.size()); EXPECT_EQ(listCompoundToGeog[0]->nameStr(), - "Inverse of NAVD88 height (ftUS) to NAVD88 depth (ftUS) + " - "Inverse of NAVD88 height to NAVD88 height (ftUS) + " + + "Conversion from NAVD88 depth (ftUS) to NAVD88 height + " + listCompoundMetreToGeog[0]->nameStr()); EXPECT_EQ( listCompoundToGeog[0]->exportToPROJString( @@ -5504,8 +5503,7 @@ TEST( .get()), "+step +proj=unitconvert +xy_in=deg +xy_out=rad", "+step +proj=unitconvert +xy_in=deg +xy_out=rad " - "+step +proj=axisswap +order=1,2,-3 " - "+step +proj=unitconvert +z_in=us-ft +z_out=m")); + "+step +proj=affine +s33=-0.304800609601219")); // Check reverse path auto listGeogToCompound = |
