aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_c_api.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-05-24 21:35:13 +0200
committerEven Rouault <even.rouault@spatialys.com>2020-05-24 21:35:13 +0200
commitbf50f76e1d1e45d65b79229c060fe66df8ef289c (patch)
tree8105eeac022527c7c35a209f78af8683833c0f58 /test/unit/test_c_api.cpp
parentc2654aaf0fc5192b141a5a34f60c226ff45b375c (diff)
downloadPROJ-bf50f76e1d1e45d65b79229c060fe66df8ef289c.tar.gz
PROJ-bf50f76e1d1e45d65b79229c060fe66df8ef289c.zip
Database: import scope and remarks for conversion (fixes #2237)
Diffstat (limited to 'test/unit/test_c_api.cpp')
-rw-r--r--test/unit/test_c_api.cpp55
1 files changed, 44 insertions, 11 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp
index e0473d4f..a294550e 100644
--- a/test/unit/test_c_api.cpp
+++ b/test/unit/test_c_api.cpp
@@ -3711,22 +3711,39 @@ TEST_F(CApi, proj_coordoperation_create_inverse) {
// ---------------------------------------------------------------------------
TEST_F(CApi, proj_get_remarks) {
- auto co = proj_create_from_database(m_ctxt, "EPSG", "8048",
- PJ_CATEGORY_COORDINATE_OPERATION, false,
- nullptr);
- ObjectKeeper keeper(co);
- ASSERT_NE(co, nullptr);
-
- auto remarks = proj_get_remarks(co);
- ASSERT_NE(remarks, nullptr);
- EXPECT_TRUE(std::string(remarks).find(
- "Scale difference in ppb where 1/billion = 1E-9.") == 0)
- << remarks;
+ // Transformation
+ {
+ auto co = proj_create_from_database(m_ctxt, "EPSG", "8048",
+ PJ_CATEGORY_COORDINATE_OPERATION,
+ false, nullptr);
+ ObjectKeeper keeper(co);
+ ASSERT_NE(co, nullptr);
+
+ auto remarks = proj_get_remarks(co);
+ ASSERT_NE(remarks, nullptr);
+ EXPECT_TRUE(std::string(remarks).find(
+ "Scale difference in ppb where 1/billion = 1E-9.") == 0)
+ << remarks;
+ }
+
+ // Conversion
+ {
+ auto co = proj_create_from_database(m_ctxt, "EPSG", "3811",
+ PJ_CATEGORY_COORDINATE_OPERATION,
+ false, nullptr);
+ ObjectKeeper keeper(co);
+ ASSERT_NE(co, nullptr);
+
+ auto remarks = proj_get_remarks(co);
+ ASSERT_NE(remarks, nullptr);
+ EXPECT_EQ(remarks, std::string("Replaces Lambert 2005."));
+ }
}
// ---------------------------------------------------------------------------
TEST_F(CApi, proj_get_scope) {
+ // Transformation
{
auto co = proj_create_from_database(m_ctxt, "EPSG", "8048",
PJ_CATEGORY_COORDINATE_OPERATION,
@@ -3740,6 +3757,22 @@ TEST_F(CApi, proj_get_scope) {
std::string("Conformal transformation of GDA94 coordinates "
"that have been derived through GNSS CORS."));
}
+
+ // Conversion
+ {
+ auto co = proj_create_from_database(m_ctxt, "EPSG", "3811",
+ PJ_CATEGORY_COORDINATE_OPERATION,
+ false, nullptr);
+ ObjectKeeper keeper(co);
+ ASSERT_NE(co, nullptr);
+
+ auto scope = proj_get_scope(co);
+ ASSERT_NE(scope, nullptr);
+ EXPECT_EQ(scope,
+ std::string("Large and medium scale topographic mapping "
+ "and engineering survey."));
+ }
+
{
auto P = proj_create(m_ctxt, "+proj=noop");
ObjectKeeper keeper(P);