Provided by: gmt-common_5.2.1+dfsg-3build1_all bug

NAME

       gmtsimplify - Line reduction using the Douglas-Peucker algorithm

SYNOPSIS

       gmtsimplify  [  table  ]  tolerance[unit]  [  [level]  ]  [  -b<binary> ] [ -d<nodata> ] [
       -f<flags> ] [ -g<gaps> ] [ -h<headers> ] [ -i<flags> ] [ -o<flags> ] [ -:[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.

       -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 (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
              use just -).

       -+ 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 options, then
              exits.

       --version
              Print GMT version and exit.

       --show-datadir
              Print full path to GMT share directory and exit.

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,  whereas  other
       values are formatted according to FORMAT_FLOAT_OUT. Be aware that the format in effect can
       lead to loss of precision in the 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

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