aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-01-10 19:04:32 +0100
committerEven Rouault <even.rouault@spatialys.com>2020-01-11 11:56:57 +0100
commit7d46771382e394586477b0edd7833a89369bb248 (patch)
treea9f3f7f782c64995fa9f0c2fb569a405a8358a23 /test
parent91e360027bad225b7914b1fe7bdecfa73124a39c (diff)
downloadPROJ-7d46771382e394586477b0edd7833a89369bb248.tar.gz
PROJ-7d46771382e394586477b0edd7833a89369bb248.zip
CompoundCRS::identify(): avoid exception when horiz/vertical part is a BoundCRS
The exception only affects C++ users. It was caught by the C layer.
Diffstat (limited to 'test')
-rw-r--r--test/unit/test_crs.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/unit/test_crs.cpp b/test/unit/test_crs.cpp
index 88a7813a..82eb4562 100644
--- a/test/unit/test_crs.cpp
+++ b/test/unit/test_crs.cpp
@@ -3493,6 +3493,17 @@ TEST(crs, compoundCRS_identify_db) {
EXPECT_EQ(res.front().first->getEPSGCode(), 8769);
EXPECT_EQ(res.front().second, 70);
}
+ {
+ auto obj = PROJStringParser().createFromPROJString(
+ "+proj=tmerc +lat_0=0 +lon_0=72.05 +k=1 +x_0=3500000 "
+ "+y_0=-5811057.63 +ellps=krass "
+ "+towgs84=23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22 "
+ "+geoidgrids=egm08_25.gtx +units=m +no_defs +type=crs");
+ auto crs = nn_dynamic_pointer_cast<CompoundCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ // Just check we don't get an exception
+ crs->identify(factory);
+ }
}
// ---------------------------------------------------------------------------