NAME

     triangulate - Perform  optimal  Delauney  triangulation  and
     gridding


SYNOPSIS

     triangulate infiles [ -Dx|y ] [ -Eempty ] [  -Ggrdfile  ]  [
     -H[nrec]  ] [ -Ix_inc[m|c][/y_inc[m|c]] ] [ -Jparameters ] [
     -M[flag] ] [ -Rwest/east/south/north[r] ] [ -V ] [ -Z ] [ -:
     ] [ -bi[s][n] ] [ -bo[s] ]


DESCRIPTION

     triangulate reads one or more ASCII [or  binary]  files  (or
     standard  input)  containing  x,y[,z]  and performs Delauney
     triangulation, i.e., it find how the points should  be  con-
     nected  to give the most equilateral triangulation possible.
     If a map projection is chosen then it is applied before  the
     triangulation is calculated.  By default, the output is tri-
     plets of point id numbers that make up each triangle and  is
     written  to  standard  output.   The id numbers refer to the
     points position in the input file.  As an  option,  you  may
     choose  to  create a multiple segment file that can be piped
     through psxy to draw the triangulation network.   If  -G  -I
     are  set  a  grid  will  be  calculated based on the surface
     defined by the planar triangles.  The actual algorithm  used
     in  the  triangulations  is  either  that  of  Watson [1982]
     [Default] or Shewchuck [1996] (if installed).   This  choice
     is made during the GMT installation.

     infiles
          Data files with the  point  coordinates  in  ASCII  (or
          binary;  see  -b).   If no files are given the standard
          input is read.


OPTIONS

     -D   Take  either  the  x-  or  y-derivatives   of   surface
          represented  by the planar facets (only used when -G is
          set).

     -E   Set the value assigned to empty nodes when  -G  is  set
          [NaN].

     -G   Use triangulation to grid the data onto  an  even  grid
          (specified with -I, -R).  Append the name of the output
          grid file.  The interpolation is performed in the  ori-
          ginal  coordinates,  so  if your triangles are close to
          the poles you are better off projecting all data  to  a
          local  coordinate system before using triangulate (this
          is true of all gridding routines).

     -H   Input file(s) has Header record(s).  Number  of  header
          records  can  be  changed  by editing your .gmtdefaults
          file.  If used, GMT default is 1 header record.

     -I   x_inc [and optionally y_inc] sets the  grid   size  for
          optional  grid  output  (see -G).  Append m to indicate
          minutes or c to indicate seconds.

     -J   Selects  the  map  projection.  Scale  is  UNIT/degree,
          1:xxxxx,  or width in UNIT (upper case modifier).  UNIT
          is cm, inch, or m, depending on the  MEASURE_UNIT  set-
          ting in .gmtdefaults, but this can be overridden on the
          command line by  appending  the  c,  i,  or  m  to  the
          scale/width value.

          CYLINDRICAL PROJECTIONS:

          -Jclon0/lat0/scale (Cassini)
          -Jjlon0/scale (Miller)
          -Jmscale (Mercator - Greenwich and Equator as origin)
          -Jmlon0/lat0/scale (Mercator - Give meridian and  stan-
          dard parallel)
          -Joalon0/lat0/azimuth/scale (Oblique Mercator  -  point
          and azimuth)
          -Joblon0/lat0/lon1/lat1/scale (Oblique Mercator  -  two
          points)
          -Joclon0/lat0/lonp/latp/scale (Oblique Mercator - point
          and pole)
          -Jqlon0/scale   (Equidistant   Cylindrical   Projection
          (Plate Carree))
          -Jtlon0/scale (TM - Transverse Mercator,  with  Equator
          as y = 0)
          -Jtlon0/lat0/scale (TM - Transverse Mercator, set  ori-
          gin)
          -Juzone/scale (UTM - Universal Transverse Mercator)
          -Jylon0/lats/scale (Basic Cylindrical Projection)

          AZIMUTHAL PROJECTIONS:

          -Jalon0/lat0/scale (Lambert).
          -Jelon0/lat0/scale (Equidistant).
          -Jflon0/lat0/horizon/scale (Gnomonic).
          -Jglon0/lat0/scale (Orthographic).
          -Jslon0/lat0/scale (General Stereographic)

          CONIC PROJECTIONS:

          -Jblon0/lat0/lat1/lat2/scale (Albers)
          -Jdlon0/lat0/lat1/lat2/scale (Equidistant)
          -Jllon0/lat0/lat1/lat2/scale (Lambert)

          MISCELLANEOUS PROJECTIONS:

          -Jhlon0/scale (Hammer)
          -Jilon0/scale (Sinusoidal)
          -Jk[f|s]lon0/scale (Eckert IV (f) and VI (s))
          -Jnlon0/scale (Robinson)
          -Jrlon0/scale (Winkel Tripel)
          -Jvlon0/scale (Van der Grinten)
          -Jwlon0/scale (Mollweide)

          NON-GEOGRAPHICAL PROJECTIONS:

          -Jpscale[/origin] (polar (theta,r) coordinates, option-
          ally offset theta [0])
          -Jxx-scale[l|ppow][/y-scale[l|ppow]] (Linear, log,  and
          power scaling)
          More details can be found in the psbasemap manpages.

     -M   Output triangulation network as multiple line  segments
          separated  by  a  record  whose first character is flag
          [>].  To plot, use psxy with the -M option  (see  Exam-
          ples).

     -R   west, east, south, and  north  specify  the  Region  of
          interest.  To specify boundaries in degrees and minutes
          [and seconds], use the dd:mm[:ss] format.  Append r  if
          lower  left  and  upper right map coordinates are given
          instead of wesn.

     -V   Selects verbose mode, which will send progress  reports
          to stderr [Default runs "silently"].

     -Z   Controls whether binary data  file  has  two  or  three
          columns [2].  Ignored if -b is not set.

     -:   Toggles      between      (longitude,latitude)      and
          (latitude,longitude)    input/output.     [Default   is
          (longitude,latitude)].

     -bi  Selects binary input.  Append s  for  single  precision
          [Default  is  double].   Append  n  for  the  number of
          columns in the binary file(s).   [Default  is  2  input
          columns].

     -bo  Selects binary output.  Append s for  single  precision
          [Default  is double].  Node ids are stored as binary 4-
          byte  integer  triplets.   -bo  is  ignored  if  -M  is
          selected.


EXAMPLES

     To triangulate the points in the file samples.xyz, store the
     triangle  information  in a binary file, and make a grid for
     the given area and spacing, try

     triangulate samples.xyz -bo  -R0/30/0/30  -I2  -Gsurf.grd  >
     samples.ijk

     To draw the optimal Delauney triangulation network based  on
     the same file using a 15-cm-wide Mercator map, try

     triangulate samples.xyz -M -R-100/-90/30/34 -JM15c | psxy -M
     -R-100/-90/30/34 -JM15c -W0.5p -B1 > network.ps


SEE ALSO

     gmt(l), pscontour(l)


REFERENCES

     Watson, D. F., 1982,  Acord:  Automatic  contouring  of  raw
     data, Comp. & Geosci., 8, 97-101.
     Shewchuck, J. R., 1996, Triangle: Engineering a  2D  Quality
     Mesh  Generator and Delaunay Triangulator, First Workshop on
     Applied Computational Geometry (Philadelphia, PA),  124-133,
     ACM, May 1996.
     www.cs.cmu.edu/~quake/triangle.html