22{
23 TCLAP::CmdLine cmd(
24 "Converts ascii raster files (e.g. Surfer *.grd files or *.xyz files) "
25 "into ASC raster files.\n\n"
26 "OpenGeoSys-6 software, version " +
28 ".\n"
29 "Copyright (c) 2012-2025, OpenGeoSys Community "
30 "(http://www.opengeosys.org)",
32
33 TCLAP::ValueArg<std::string> output_arg(
34 "o", "output", "Output (.asc). Filename for output raster", true, "",
35 "OUTPUT_FILE");
36 cmd.add(output_arg);
37
38 TCLAP::ValueArg<std::string> input_arg(
39 "i", "input", "Input (.grd | .xyz). Filename for input raster", true,
40 "", "INPUT_FILE");
41 cmd.add(input_arg);
42
44 cmd.add(log_level_arg);
45 cmd.parse(argc, argv);
46
49
50 std::unique_ptr<GeoLib::Raster> raster(
52
53 if (raster == nullptr)
54 {
55 ERR(
"Couldn't read input raster file.");
56 return EXIT_FAILURE;
57 }
58
59 std::string output_name = output_arg.getValue();
60 if (output_name.substr(output_name.length() - 4, 4) != ".asc")
61 {
62 output_name = output_name.append(".asc");
63 }
64
66 return EXIT_SUCCESS;
67}
void ERR(fmt::format_string< Args... > fmt, Args &&... args)
static void writeRasterAsASC(GeoLib::Raster const &raster, std::string const &file_name)
Writes an Esri asc-file.
static GeoLib::Raster * readRaster(std::string const &fname)
TCLAP::ValueArg< std::string > makeLogLevelArg()
void initOGSLogger(std::string const &log_level)
GITINFOLIB_EXPORT const std::string ogs_version