diff options
| author | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2020-04-03 08:06:26 +0000 |
|---|---|---|
| committer | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2020-04-03 08:06:26 +0000 |
| commit | 09a936a29c68dc66c2f92221d52d469ca8a98c1e (patch) | |
| tree | cee9a4725fbf0715cb7371e7c7076c9fa8a56508 /test/unit/test_crs.cpp | |
| parent | 5bb88a1d8c4ac71a4c702ab877e4bc7aa9dc261c (diff) | |
| download | PROJ-09a936a29c68dc66c2f92221d52d469ca8a98c1e.tar.gz PROJ-09a936a29c68dc66c2f92221d52d469ca8a98c1e.zip | |
Make sure that importing a Projected 3D CRS from WKT:2019 keeps the base geographic CRS as 3D (fixes #2122)
Diffstat (limited to 'test/unit/test_crs.cpp')
| -rw-r--r-- | test/unit/test_crs.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/unit/test_crs.cpp b/test/unit/test_crs.cpp index 2498c533..6c334000 100644 --- a/test/unit/test_crs.cpp +++ b/test/unit/test_crs.cpp @@ -5559,6 +5559,22 @@ TEST(crs, promoteTo3D_and_demoteTo2D) { EXPECT_EQ( crs3DAsProjected->baseCRS()->coordinateSystem()->axisList().size(), 3U); + + // Check that importing an exported Projected 3D CRS as WKT keeps + // the 3D aspect of the baseCRS (see #2122) + { + WKTFormatterNNPtr f( + WKTFormatter::create(WKTFormatter::Convention::WKT2_2019)); + crs3DAsProjected->exportToWKT(f.get()); + auto obj = WKTParser().createFromWKT(f->toString()); + auto crsFromWkt = nn_dynamic_pointer_cast<ProjectedCRS>(obj); + ASSERT_TRUE(crsFromWkt != nullptr); + EXPECT_EQ(crsFromWkt->coordinateSystem()->axisList().size(), 3U); + EXPECT_EQ( + crsFromWkt->baseCRS()->coordinateSystem()->axisList().size(), + 3U); + } + EXPECT_TRUE(crs3D->promoteTo3D(std::string(), nullptr) ->isEquivalentTo(crs3D.get())); |
