aboutsummaryrefslogtreecommitdiff
path: root/test/unit/proj_angular_io_test.cpp
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2020-04-11 12:13:46 +0200
committerKristian Evers <kristianevers@gmail.com>2020-04-12 12:20:44 +0200
commit925ae56c40b0cfa7d861f55e4332cb5603168a2c (patch)
treea116f540e214a6f4568b8fa0c4877d6d71649b89 /test/unit/proj_angular_io_test.cpp
parent21ebdfb89bc4b222c4fb78815971b19192a2a09e (diff)
downloadPROJ-925ae56c40b0cfa7d861f55e4332cb5603168a2c.tar.gz
PROJ-925ae56c40b0cfa7d861f55e4332cb5603168a2c.zip
Add proj_degree_input() and proj_degree_output()
Equivalent to proj_angular_input() and proj_angular_output() but checking for degree units instead. proj_create_crs_to_crs() rarely, if ever, returns pipelines that has radians as input or output so using proj_angular_*() is not a useful check for io units of pipelines. These two new functions should make life a bit easier for users that generally store there angular coordinates in radians. Closes #2027
Diffstat (limited to 'test/unit/proj_angular_io_test.cpp')
-rw-r--r--test/unit/proj_angular_io_test.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/unit/proj_angular_io_test.cpp b/test/unit/proj_angular_io_test.cpp
index dbf09986..30eae298 100644
--- a/test/unit/proj_angular_io_test.cpp
+++ b/test/unit/proj_angular_io_test.cpp
@@ -98,4 +98,23 @@ TEST(AngularUnits, Pipelines3) {
proj_context_destroy(ctx);
}
+TEST(AngularUnits, Degrees) {
+ auto ctx = proj_context_create();
+ auto P = proj_create(
+ ctx,
+ "+proj=pipeline "
+ "+step +inv +proj=utm +zone=32 +ellps=GRS80 "
+ "+step +proj=unitconvert +xy_in=rad +xy_out=deg "
+ );
+
+ EXPECT_FALSE(proj_degree_input(P, PJ_FWD));
+ EXPECT_TRUE(proj_degree_input(P, PJ_INV));
+ EXPECT_TRUE(proj_degree_output(P, PJ_FWD));
+ EXPECT_FALSE(proj_degree_output(P, PJ_INV));
+
+ proj_destroy(P);
+ proj_context_destroy(ctx);
+
+}
+
} // namespace