bionic (1) gmtsimplify.1gmt.gz

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

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