From 5c9bd6e722e2ccfd4048633239756b85b901c9f2 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Thu, 9 Jul 2020 00:11:28 +0200 Subject: PROJ string export of +proj=krovak +czech: make sure we export +czech instead of +axis=swu (fixes #2299) --- test/unit/test_io.cpp | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) (limited to 'test/unit/test_io.cpp') diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp index e6e56d44..433e3e6d 100644 --- a/test/unit/test_io.cpp +++ b/test/unit/test_io.cpp @@ -1305,13 +1305,6 @@ TEST(wkt_parse, wkt1_krovak_south_west) { EXPECT_EQ(crs2->exportToPROJString(PROJStringFormatter::create().get()), expectedPROJString); - obj = PROJStringParser().createFromPROJString( - "+proj=krovak +czech +type=crs"); - crs2 = nn_dynamic_pointer_cast(obj); - ASSERT_TRUE(crs2 != nullptr); - EXPECT_EQ(crs2->exportToPROJString(PROJStringFormatter::create().get()), - expectedPROJString); - obj = PROJStringParser().createFromPROJString( "+type=crs +proj=pipeline +step +proj=unitconvert +xy_in=deg " "+xy_out=rad " @@ -8709,6 +8702,33 @@ TEST(io, projparse_krovak_axis_swu) { // --------------------------------------------------------------------------- +TEST(io, projparse_krovak_czech) { + auto obj = PROJStringParser().createFromPROJString( + "+proj=krovak +czech +type=crs"); + auto crs = nn_dynamic_pointer_cast(obj); + ASSERT_TRUE(crs != nullptr); + EXPECT_EQ(crs->exportToPROJString(PROJStringFormatter::create().get()), + "+proj=krovak +czech +lat_0=49.5 +lon_0=24.8333333333333 " + "+alpha=30.2881397527778 +k=0.9999 +x_0=0 +y_0=0 " + "+ellps=bessel +units=m +no_defs +type=crs"); + WKTFormatterNNPtr f(WKTFormatter::create()); + f->simulCurNodeHasId(); + f->setMultiLine(false); + crs->exportToWKT(f.get()); + auto wkt = f->toString(); + EXPECT_TRUE(wkt.find("METHOD[\"Krovak\",ID[\"EPSG\",9819]]") != + std::string::npos) + << wkt; + EXPECT_TRUE(wkt.find(",AXIS[\"westing\",west,ORDER[1]") != + std::string::npos) + << wkt; + EXPECT_TRUE(wkt.find(",AXIS[\"southing\",south,ORDER[2]") != + std::string::npos) + << wkt; +} + +// --------------------------------------------------------------------------- + TEST(io, projparse_etmerc) { auto obj = PROJStringParser().createFromPROJString("+proj=etmerc +type=crs"); -- cgit v1.2.3