Provided by: gmt-common_5.4.3+dfsg-1_all bug

NAME

       gmtsimplify - Line reduction using the Douglas-Peucker algorithm

SYNOPSIS

       gmtsimplify  [  table  ]   -Ttolerance[unit]  [   -V[level]  ] [ -bbinary ] [ -dnodata ] [
       -eregexp ] [ -fflags ] [ -ggaps ] [ -hheaders ] [ -iflags ] [ -oflags ] [ -:[i|o] ]

       Note: No space is allowed between the option flag and the associated arguments.

DESCRIPTION

       gmtsimplify reads one or more data files and apply the Douglas-Peucker line simplification
       algorithm.  The  method  recursively  subdivides  a  polygon  until a run of points can be
       replaced by a straight line segment, with no point in that run deviating from the straight
       line  by  more than the tolerance. Have a look at this site to get a visual insight on how
       the                       algorithm                        works                        (‐
       http://geometryalgorithms.com/Archive/algorithm_0205/algorithm_0205.htm)

REQUIRED ARGUMENTS

       -Ttolerance[unit]
              Specifies  the  maximum  mismatch  tolerance  in the user units. If the data is not
              Cartesian then append the distance unit (see UNITS).

OPTIONAL ARGUMENTS

       table  One or more ASCII (or binary, see -bi[ncols][type]) data table  file(s)  holding  a
              number of data columns. If no tables are given then we read from standard input.

       -V[level] (more …)
              Select verbosity level [c].

       -bi[ncols][t] (more …)
              Select native binary input. [Default is 2 input columns].

       -bo[ncols][type] (more …)
              Select native binary output. [Default is same as input].

       -d[i|o]nodata (more …)
              Replace input columns that equal nodata with NaN and do the reverse on output.

       -e[~]”pattern” | -e[~]/regexp/[i] (more …)
              Only accept data records that match the given pattern.

       -f[i|o]colinfo (more …)
              Specify data types of input and/or output columns.

       -g[a]x|y|d|X|Y|D|[col]z[+|-]gap[u] (more …)
              Determine data gaps and line breaks.

       -h[i|o][n][+c][+d][+rremark][+rtitle] (more …)
              Skip or produce header record(s).

       -icols[+l][+sscale][+ooffset][,] (more …)
              Select input columns and transformations (0 is first column).

       -ocols[,…] (more …)
              Select output columns (0 is first column).

       -:[i|o] (more …)
              Swap 1st and 2nd column on input and/or output.

       -^ or just -
              Print a short message about the syntax of the command, then exits (NOTE: on Windows
              just use -).

       -+ or just +
              Print  an  extensive  usage  (help)  message,  including  the  explanation  of  any
              module-specific option (but not the GMT common options), then exits.

       -? or no arguments
              Print  a  complete  usage (help) message, including the explanation of all options,
              then exits.

UNITS

       For map distance unit, append unit d for arc degree, m for  arc  minute,  and  s  for  arc
       second, or e for meter [Default], f for foot, k for km, M for statute mile, n for nautical
       mile, and u for US survey foot. By default we compute such  distances  using  a  spherical
       approximation  with  great circles. Prepend - to a distance (or the unit is no distance is
       given) to perform “Flat Earth” calculations (quicker but less accurate) or  prepend  +  to
       perform exact geodesic calculations (slower but more accurate).

ASCII FORMAT PRECISION

       The  ASCII  output formats of numerical data are controlled by parameters in your gmt.conf
       file. Longitude and latitude are formatted according to FORMAT_GEO_OUT, absolute  time  is
       under  the control of FORMAT_DATE_OUT and FORMAT_CLOCK_OUT, whereas general floating point
       values are formatted according to FORMAT_FLOAT_OUT. Be aware that the format in effect can
       lead  to loss of precision in ASCII output, which can lead to various problems downstream.
       If you find the output is not written with enough precision, consider switching to  binary
       output (-bo if available) or specify more decimals using the FORMAT_FLOAT_OUT setting.

EXAMPLES

       To reduce the geographic line segment.d using a tolerance of 2 km, run

              gmt simplify segment.d -T2k > new_segment.d

       To  reduce  the  Cartesian lines xylines.d using a tolerance of 0.45 and write the reduced
       lines to file new_xylines.d, run

              gmt simplify xylines.d -T0.45 > new_xylines.d

NOTES

       There is a slight difference in how gmtsimplify processes lines  versus  closed  polygons.
       Segments  that  are explicitly closed will be considered polygons, otherwise we treat them
       as line segments.  Hence, segments recognized as polygons may reduce to a 3-point  polygon
       with no area; these are suppressed from the output.

BUGS

       One  known  issue  with  the  Douglas-Peucker has to do with crossovers.  Specifically, it
       cannot be guaranteed that the reduced line does not cross itself. Depending  on  how  many
       lines  you  are  considering  it  is  also possible that reduced lines may intersect other
       reduced lines. Finally, the current implementation only does Flat Earth calculations  even
       if  you specify spherical; gmtsimplify will issue a warning and reset the calculation mode
       to Flat Earth.

REFERENCES

       Douglas, D. H., and T. K. Peucker, Algorithms for the reduction of the  number  of  points
       required  to  represent  a  digitized  line of its caricature, Can. Cartogr., 10, 112-122,
       1973.

       This implementation of the algorithm has been kindly provided by Dr.   Gary  J.  Robinson,
       Department  of  Meteorology,  University of Reading, Reading, UK; his subroutine forms the
       basis for this program.

SEE ALSO

       gmt, gmt.conf, gmtconnect, gmtconvert, gmtselect

COPYRIGHT

       2018, P. Wessel, W. H. F. Smith, R. Scharroo, J. Luis, and F. Wobbe