aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2021-10-05 19:20:32 +0200
committerGitHub <noreply@github.com>2021-10-05 19:20:32 +0200
commit6b58adb4b7396b9c2aff2fa26aae2340d5a62d21 (patch)
tree49cf819dfe3128c9b217a3c222256b6577208a30 /test
parent44771f483249c872ad2959c8092450a06c1dd001 (diff)
parent47b9629c56bd97022c1a7161cedc32b97b360957 (diff)
downloadPROJ-6b58adb4b7396b9c2aff2fa26aae2340d5a62d21.tar.gz
PROJ-6b58adb4b7396b9c2aff2fa26aae2340d5a62d21.zip
Merge pull request #2868 from rouault/proj_factors_with_projected_crs
proj_factors(): accept P to be a projected CRS (fixes #2854)
Diffstat (limited to 'test')
-rw-r--r--test/unit/gie_self_tests.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/unit/gie_self_tests.cpp b/test/unit/gie_self_tests.cpp
index 5fc8f0f1..5f96a93a 100644
--- a/test/unit/gie_self_tests.cpp
+++ b/test/unit/gie_self_tests.cpp
@@ -475,6 +475,33 @@ TEST(gie, info_functions) {
proj_destroy(P);
+ // Test with a projected CRS
+ {
+ P = proj_create(PJ_DEFAULT_CTX, "EPSG:3395");
+
+ const auto factors2 = proj_factors(P, a);
+
+ EXPECT_EQ(factors.angular_distortion, factors2.angular_distortion);
+ EXPECT_EQ(factors.meridian_parallel_angle,
+ factors2.meridian_parallel_angle);
+ EXPECT_EQ(factors.meridian_convergence, factors2.meridian_convergence);
+ EXPECT_EQ(factors.tissot_semimajor, factors2.tissot_semimajor);
+
+ proj_destroy(P);
+ }
+
+ // Test with a geographic CRS --> error
+ {
+ P = proj_create(PJ_DEFAULT_CTX, "EPSG:4326");
+
+ const auto factors2 = proj_factors(P, a);
+ EXPECT_NE(proj_errno(P), 0);
+ proj_errno_reset(P);
+ EXPECT_EQ(factors2.meridian_parallel_angle, 0);
+
+ proj_destroy(P);
+ }
+
/* Check that proj_list_* functions work by looping through them */
size_t n = 0;
for (oper_list = proj_list_operations(); oper_list->id; ++oper_list)