aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_io.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-10-10 15:38:54 +0200
committerGitHub <noreply@github.com>2020-10-10 15:38:54 +0200
commit9751f31ca9aa42d075421b038f93fe1b1640ffd3 (patch)
treef99750451df364d1410c6e17073d8b513cb6b82e /test/unit/test_io.cpp
parenta5dd7bbb8512a10280001491bd3fecc599fd4eca (diff)
parent5163741254088b7f3fbb651349463cd2942df4f6 (diff)
downloadPROJ-9751f31ca9aa42d075421b038f93fe1b1640ffd3.tar.gz
PROJ-9751f31ca9aa42d075421b038f93fe1b1640ffd3.zip
Merge pull request #2372 from rouault/datum_with_pm
WKT2:2019 import/export: handle DATUM (at top level object) with PRIMEM
Diffstat (limited to 'test/unit/test_io.cpp')
-rw-r--r--test/unit/test_io.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp
index 34396fcf..47e574c5 100644
--- a/test/unit/test_io.cpp
+++ b/test/unit/test_io.cpp
@@ -190,6 +190,28 @@ TEST(wkt_parse, datum_with_ANCHOR) {
// ---------------------------------------------------------------------------
+TEST(wkt_parse, datum_with_pm) {
+ const char *wkt =
+ "DATUM[\"Nouvelle Triangulation Francaise (Paris)\",\n"
+ " ELLIPSOID[\"Clarke 1880 (IGN)\",6378249.2,293.466021293627,\n"
+ " LENGTHUNIT[\"metre\",1]],\n"
+ " ID[\"EPSG\",6807]],\n"
+ "PRIMEM[\"Paris\",2.5969213,\n"
+ " ANGLEUNIT[\"grad\",0.0157079632679489],\n"
+ " ID[\"EPSG\",8903]]";
+
+ auto obj = WKTParser().createFromWKT(wkt);
+ auto datum = nn_dynamic_pointer_cast<GeodeticReferenceFrame>(obj);
+ ASSERT_TRUE(datum != nullptr);
+ EXPECT_EQ(datum->primeMeridian()->nameStr(), "Paris");
+ EXPECT_EQ(
+ datum->exportToWKT(
+ WKTFormatter::create(WKTFormatter::Convention::WKT2_2019).get()),
+ wkt);
+}
+
+// ---------------------------------------------------------------------------
+
TEST(wkt_parse, datum_no_pm_not_earth) {
auto obj = WKTParser().createFromWKT("DATUM[\"unnamed\",\n"
" ELLIPSOID[\"unnamed\",1,0,\n"