diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-12-15 18:30:50 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2020-12-15 18:30:50 +0100 |
| commit | 37755e4edc53e09286cd2bb962299d0f5118fc77 (patch) | |
| tree | 8775122e8344ea9cb453b3c90f7fa782abb12ff3 /test/unit | |
| parent | e5706305795ed822a5197bda51e75a44ec14728b (diff) | |
| download | PROJ-37755e4edc53e09286cd2bb962299d0f5118fc77.tar.gz PROJ-37755e4edc53e09286cd2bb962299d0f5118fc77.zip | |
proj_create_crs_to_crs_from_pj(): add ACCURACY and ALLOW_BALLPARK options
Diffstat (limited to 'test/unit')
| -rw-r--r-- | test/unit/test_c_api.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp index c417371d..e54c6fa7 100644 --- a/test/unit/test_c_api.cpp +++ b/test/unit/test_c_api.cpp @@ -4196,6 +4196,64 @@ TEST_F(CApi, proj_create_crs_to_crs_from_pj) { // --------------------------------------------------------------------------- +TEST_F(CApi, proj_create_crs_to_crs_from_pj_accuracy_filter) { + + auto src = proj_create(m_ctxt, "EPSG:4326"); // WGS 84 + ObjectKeeper keeper_src(src); + ASSERT_NE(src, nullptr); + + auto dst = proj_create(m_ctxt, "EPSG:4258"); // ETRS89 + ObjectKeeper keeper_dst(dst); + ASSERT_NE(dst, nullptr); + + // No options + { + auto P = + proj_create_crs_to_crs_from_pj(m_ctxt, src, dst, nullptr, nullptr); + ObjectKeeper keeper_P(P); + ASSERT_NE(P, nullptr); + } + + { + const char *const options[] = {"ACCURACY=0.05", nullptr}; + auto P = + proj_create_crs_to_crs_from_pj(m_ctxt, src, dst, nullptr, options); + ObjectKeeper keeper_P(P); + ASSERT_EQ(P, nullptr); + } +} + +// --------------------------------------------------------------------------- + +TEST_F(CApi, proj_create_crs_to_crs_from_pj_ballpark_filter) { + + auto src = proj_create(m_ctxt, "EPSG:4267"); // NAD 27 + ObjectKeeper keeper_src(src); + ASSERT_NE(src, nullptr); + + auto dst = proj_create(m_ctxt, "EPSG:4258"); // ETRS89 + ObjectKeeper keeper_dst(dst); + ASSERT_NE(dst, nullptr); + + // No options + { + auto P = + proj_create_crs_to_crs_from_pj(m_ctxt, src, dst, nullptr, nullptr); + ObjectKeeper keeper_P(P); + ASSERT_NE(P, nullptr); + } + + { + const char *const options[] = {"ALLOW_BALLPARK=NO", nullptr}; + auto P = + proj_create_crs_to_crs_from_pj(m_ctxt, src, dst, nullptr, options); + ObjectKeeper keeper_P(P); + ASSERT_EQ(P, nullptr); + } +} + +// --------------------------------------------------------------------------- + static void check_axis_is_latitude(PJ_CONTEXT *ctx, PJ *cs, int axis_number, const char *unit_name = "degree", |
