xenial (1) gmtsimplify.1gmt.gz

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

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