From 149366116ad0ffb936eaa042823211731e9dcdee Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Fri, 16 Oct 2020 00:10:05 +0200 Subject: Add multi-line PROJ string export capability, and use it by default in projinfo (unless --single-line is specified) (fixes #1543) --- src/apps/projinfo.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src/apps/projinfo.cpp') diff --git a/src/apps/projinfo.cpp b/src/apps/projinfo.cpp index 966de03d..f36674fd 100644 --- a/src/apps/projinfo.cpp +++ b/src/apps/projinfo.cpp @@ -350,11 +350,10 @@ static void outputObject( objToExport = projStringExportable; } - std::cout << objToExport->exportToPROJString( - PROJStringFormatter::create( - PROJStringFormatter::Convention::PROJ_5, - dbContext) - .get()) + auto formatter = PROJStringFormatter::create( + PROJStringFormatter::Convention::PROJ_5, dbContext); + formatter->setMultiLine(!outputOpt.singleLine); + std::cout << objToExport->exportToPROJString(formatter.get()) << std::endl; } catch (const std::exception &e) { std::cerr << "Error when exporting to PROJ string: " << e.what() @@ -376,9 +375,7 @@ static void outputObject( } auto formatter = WKTFormatter::create(WKTFormatter::Convention::WKT2_2015); - if (outputOpt.singleLine) { - formatter->setMultiLine(false); - } + formatter->setMultiLine(!outputOpt.singleLine); formatter->setStrict(outputOpt.strict); auto wkt = wktExportable->exportToWKT(formatter.get()); if (outputOpt.c_ify) { -- cgit v1.2.3 From d981e01e3f4de4f582ac2442c5c1987650e86877 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Fri, 16 Oct 2020 00:21:43 +0200 Subject: projinfo: restrict PROJ multiline output to coordinate operations only --- src/apps/projinfo.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/apps/projinfo.cpp') diff --git a/src/apps/projinfo.cpp b/src/apps/projinfo.cpp index f36674fd..ee48a69c 100644 --- a/src/apps/projinfo.cpp +++ b/src/apps/projinfo.cpp @@ -352,7 +352,8 @@ static void outputObject( auto formatter = PROJStringFormatter::create( PROJStringFormatter::Convention::PROJ_5, dbContext); - formatter->setMultiLine(!outputOpt.singleLine); + formatter->setMultiLine(!outputOpt.singleLine && + crs == nullptr); std::cout << objToExport->exportToPROJString(formatter.get()) << std::endl; } catch (const std::exception &e) { -- cgit v1.2.3