aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_io.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-12-04 14:46:41 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-12-04 14:46:41 +0100
commitd06c1c55c1c3fc7209abdbdfbf2e3cf34f18cf98 (patch)
tree98fe336a41f1397280ee665d08040339967d711b /test/unit/test_io.cpp
parentaddf30e4446fd39891fd5bdcb22413ed41e0913b (diff)
downloadPROJ-d06c1c55c1c3fc7209abdbdfbf2e3cf34f18cf98.tar.gz
PROJ-d06c1c55c1c3fc7209abdbdfbf2e3cf34f18cf98.zip
Improve recognition of WKT1 datum names
Diffstat (limited to 'test/unit/test_io.cpp')
-rw-r--r--test/unit/test_io.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp
index 606d57a3..243add6f 100644
--- a/test/unit/test_io.cpp
+++ b/test/unit/test_io.cpp
@@ -460,6 +460,59 @@ TEST(wkt_parse, wkt1_EPSG_4807_grad_mess) {
// ---------------------------------------------------------------------------
+TEST(wkt_parse, wkt1_geographic_old_datum_name_from_EPSG_code) {
+ auto wkt =
+ "GEOGCS[\"S-JTSK (Ferro)\",\n"
+ " "
+ "DATUM[\"System_Jednotne_Trigonometricke_Site_Katastralni_Ferro\",\n"
+ " SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,\n"
+ " AUTHORITY[\"EPSG\",\"7004\"]],\n"
+ " AUTHORITY[\"EPSG\",\"6818\"]],\n"
+ " PRIMEM[\"Ferro\",-17.66666666666667,\n"
+ " AUTHORITY[\"EPSG\",\"8909\"]],\n"
+ " UNIT[\"degree\",0.0174532925199433,\n"
+ " AUTHORITY[\"EPSG\",\"9122\"]],\n"
+ " AUTHORITY[\"EPSG\",\"4818\"]]";
+ auto obj = WKTParser()
+ .attachDatabaseContext(DatabaseContext::create())
+ .createFromWKT(wkt);
+ auto crs = nn_dynamic_pointer_cast<GeographicCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+
+ auto datum = crs->datum();
+ EXPECT_EQ(
+ datum->nameStr(),
+ "System of the Unified Trigonometrical Cadastral Network (Ferro)");
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(wkt_parse, wkt1_geographic_old_datum_name_witout_EPSG_code) {
+ auto wkt =
+ "GEOGCS[\"S-JTSK (Ferro)\",\n"
+ " "
+ "DATUM[\"System_Jednotne_Trigonometricke_Site_Katastralni_Ferro\",\n"
+ " SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,\n"
+ " AUTHORITY[\"EPSG\",\"7004\"]]],\n"
+ " PRIMEM[\"Ferro\",-17.66666666666667,\n"
+ " AUTHORITY[\"EPSG\",\"8909\"]],\n"
+ " UNIT[\"degree\",0.0174532925199433,\n"
+ " AUTHORITY[\"EPSG\",\"9122\"]],\n"
+ " AUTHORITY[\"EPSG\",\"4818\"]]";
+ auto obj = WKTParser()
+ .attachDatabaseContext(DatabaseContext::create())
+ .createFromWKT(wkt);
+ auto crs = nn_dynamic_pointer_cast<GeographicCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+
+ auto datum = crs->datum();
+ EXPECT_EQ(
+ datum->nameStr(),
+ "System of the Unified Trigonometrical Cadastral Network (Ferro)");
+}
+
+// ---------------------------------------------------------------------------
+
static std::string contentWKT2_EPSG_4326(
"[\"WGS 84\",\n"
" DATUM[\"World Geodetic System 1984\",\n"