aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_io.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-04-22 13:15:02 +0200
committerEven Rouault <even.rouault@spatialys.com>2019-04-22 15:49:31 +0200
commitd8526d7870e4b91238c9a7b652ed03c21b77e884 (patch)
treeccd8cfe10d750f60bc81050f42847f218855dcb5 /test/unit/test_io.cpp
parente63f206d994658995505ce322d644fba0b807d5b (diff)
downloadPROJ-d8526d7870e4b91238c9a7b652ed03c21b77e884.tar.gz
PROJ-d8526d7870e4b91238c9a7b652ed03c21b77e884.zip
ESRI_WKT: preserve Gauss_Kruger in conversion name for round-tripping
Diffstat (limited to 'test/unit/test_io.cpp')
-rw-r--r--test/unit/test_io.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp
index 30e0b427..c4178f20 100644
--- a/test/unit/test_io.cpp
+++ b/test/unit/test_io.cpp
@@ -5180,6 +5180,43 @@ TEST(wkt_parse, wkt1_esri_ups_south) {
// ---------------------------------------------------------------------------
+TEST(wkt_parse, wkt1_esri_gauss_kruger) {
+ auto wkt = "PROJCS[\"ETRS_1989_UWPP_2000_PAS_8\",GEOGCS[\"GCS_ETRS_1989\","
+ "DATUM[\"D_ETRS_1989\","
+ "SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],"
+ "PRIMEM[\"Greenwich\",0.0],"
+ "UNIT[\"Degree\",0.0174532925199433]],"
+ "PROJECTION[\"Gauss_Kruger\"],"
+ "PARAMETER[\"False_Easting\",8500000.0],"
+ "PARAMETER[\"False_Northing\",0.0],"
+ "PARAMETER[\"Central_Meridian\",24.0],"
+ "PARAMETER[\"Scale_Factor\",0.999923],"
+ "PARAMETER[\"Latitude_Of_Origin\",0.0],"
+ "UNIT[\"Meter\",1.0]]";
+
+ auto dbContext = DatabaseContext::create();
+ auto obj = WKTParser().attachDatabaseContext(dbContext).createFromWKT(wkt);
+ auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+
+ EXPECT_EQ(
+ crs->exportToWKT(
+ WKTFormatter::create(WKTFormatter::Convention::WKT1_ESRI, dbContext)
+ .get()),
+ wkt);
+
+ auto crs2 = AuthorityFactory::create(dbContext, "ESRI")
+ ->createProjectedCRS("102177");
+
+ EXPECT_EQ(
+ crs2->exportToWKT(
+ WKTFormatter::create(WKTFormatter::Convention::WKT1_ESRI, dbContext)
+ .get()),
+ wkt);
+}
+
+// ---------------------------------------------------------------------------
+
TEST(wkt_parse, invalid) {
EXPECT_THROW(WKTParser().createFromWKT(""), ParsingException);
EXPECT_THROW(WKTParser().createFromWKT("A"), ParsingException);