aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_operationfactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/test_operationfactory.cpp')
-rw-r--r--test/unit/test_operationfactory.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/unit/test_operationfactory.cpp b/test/unit/test_operationfactory.cpp
index 218d8700..7e33ca72 100644
--- a/test/unit/test_operationfactory.cpp
+++ b/test/unit/test_operationfactory.cpp
@@ -1531,6 +1531,37 @@ TEST(operation, geocentric_to_geogCRS_3D_different_datum_context) {
// ---------------------------------------------------------------------------
+TEST(operation, createBetweenGeodeticCRSWithDatumBasedIntermediates) {
+ auto dbContext = DatabaseContext::create();
+ auto authFactoryEPSG = AuthorityFactory::create(dbContext, "EPSG");
+ auto ctxt =
+ CoordinateOperationContext::create(authFactoryEPSG, nullptr, 0.0);
+ auto list = CoordinateOperationFactory::create()->createOperations(
+ // IG05/12 Intermediate CRS
+ authFactoryEPSG->createCoordinateReferenceSystem("6990"),
+ // ITRF2014
+ authFactoryEPSG->createCoordinateReferenceSystem("9000"), ctxt);
+ ASSERT_EQ(list.size(), 1U);
+ EXPECT_EQ(list[0]->nameStr(),
+ "Inverse of ITRF2008 to IG05/12 Intermediate CRS + "
+ "Conversion from ITRF2008 (geog2D) to ITRF2008 (geocentric) + "
+ "ITRF2008 to ITRF2014 (1) + "
+ "Conversion from ITRF2014 (geocentric) to ITRF2014 (geog2D)");
+
+ auto listInv = CoordinateOperationFactory::create()->createOperations(
+ // ITRF2014
+ authFactoryEPSG->createCoordinateReferenceSystem("9000"),
+ // IG05/12 Intermediate CRS
+ authFactoryEPSG->createCoordinateReferenceSystem("6990"), ctxt);
+ ASSERT_EQ(listInv.size(), 1U);
+ EXPECT_EQ(listInv[0]->nameStr(),
+ "Conversion from ITRF2014 (geog2D) to ITRF2014 (geocentric) + "
+ "Inverse of ITRF2008 to ITRF2014 (1) + "
+ "Conversion from ITRF2008 (geocentric) to ITRF2008 (geog2D) + "
+ "ITRF2008 to IG05/12 Intermediate CRS");
+}
+
+// ---------------------------------------------------------------------------
TEST(operation, esri_projectedCRS_to_geogCRS_with_ITRF_intermediate_context) {
auto dbContext = DatabaseContext::create();
auto authFactoryEPSG = AuthorityFactory::create(dbContext, "EPSG");