manpagez: man pages & more
man gmtsimplify(1)
Home | html | info | man
gmtsimplify(1)                        GMT                       gmtsimplify(1)




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  seg-
       ment,  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/algo-
       rithm_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 a|)
              Select verbosity level [c].

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

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

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

       -e[~]^<i>apattern^<i>a | -e[~]/regexp/[i] (more a|)
              Only accept data records that match the given pattern.

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

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

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

       -icols[+l][+sscale][+ooffset][,^<i>a|] (more a|)
              Select input columns and transformations (0 is first column).

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

       -:[i|o] (more a|)
              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 explana-
              tion 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 aFlat Eartha 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  FOR-
       MAT_DATE_OUT and FORMAT_CLOCK_OUT, whereas general floating point  val-
       ues are formatted according to FORMAT_FLOAT_OUT. Be aware that the for-
       mat 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 set-
       ting.


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  consid-
       ered  polygons,  otherwise we treat them as line segments.  Hence, seg-
       ments 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  carica-
       ture, 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(1), gmt.conf(5), gmtconnect(1), gmtconvert(1), gmtselect(1)


COPYRIGHT

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



5.4.2                            Jun 24, 2017                   gmtsimplify(1)

gmt5 5.4.2 - Generated Wed Jun 28 18:02:21 CDT 2017
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.