## NAME

           psxyz - Plot lines, polygons, and symbols in 3-D

## SYNOPSIS

           psxyz files -Jparameters -Rwest/east/south/north/zmin/zmax[r] [ -Btick-
           info ] [ -Ccptfile ] [ -Eazimuth/elevation ] [ -Gfill ] [ -H[nrec] ]  [
           -K  ]  [  -L ] [ -M[flag] ] [ -N ] [ -O ] [ -P ] [ -S[symbol][size] ] [
           -U[/dx/dy/][label] ] [ -V ] [ -W[pen] ] [ -Xx-shift ] [ -Yy-shift  ]  [
           -Zzlevel ] [ -: ] [ -ccopies ] [ -bi[s][n] ]

## DESCRIPTION

           psxyz  reads (x,y,z) triplets from files [or standard input] and gener-
           ates PostScript code that will plot  lines,  polygons,  or  symbols  at
           those  locations  in  3-D.   If a symbol is selected and no symbol size
           given, then psxyz will interpret the fourth column of the input data as
           symbol  size. Symbols whose size is <= 0 are skipped. If no symbols are
           specified then the symbol code (see -S below) must be present  as  last
           column in the input. Multiple segment files may be plotted using the -M
           option.  If no symbols are selected, a line will be drawn.  To  explic-
           itly  close  polygons, use -L. Select a shade with -G. If -G is set, -W
           will control whether the polygon outline is drawn or not. If  a  symbol
           is  selected,  -G  and -W determines the fill color and outline/no out-
           line, respectively.  The PostScript code is written to standard output.

           files  List  one  or more file-names. If no files are given, psxyz will
                  read standard input.

           -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 setting 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 standard paral-
                  lel)
                  -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 Car-
                  ree))
                  -Jtlon0/scale (TM - Transverse Mercator, with Equator as y = 0)
                  -Jtlon0/lat0/scale (TM - Transverse Mercator, set origin)
                  -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/[slat/]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:

                  -Jp[a]scale[/origin] (polar (theta,r)  coordinates,  optional  a
                  for azimuths and 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.

           -Jz    Sets the vertical scaling (for 3-D maps). Same syntax as -Jx.

           -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.

## OPTIONS

           No space between the option flag and the associated arguments.

           -B     Sets map boundary tickmark intervals; see the psbasemap man page
                  for details.

           -C     Give a color palette file. If -S is set,  let  symbol  color  be
                  determined  by  the  t-value  in  the  fourth column. Additional
                  fields are shifted over by one column (optional size would be in
                  5th  rather than 4th field, etc.).  If -S is not set, then psxyz
                  expects a multisegment polygon file  (requires  -M)  where  each
                  segment  header  contains  a  -Zval string. The val controls the
                  polygon color via the cpt file.

           -E     Sets the viewpoint’s azimuth and elevation [180/90].’

           -G     Select filling  of  polygons  and  symbols.   Append  the  shade
                  (0-255),   color  (r/g/b),  or  P|pdpi/pattern  (polygons  only)
                  [Default is no fill].  Note when -M is chosen, psxyz will search
                  for  -G  and  -W strings in all the subheaders and let any found
                  values over-ride the command line settings.

           -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.

           -K     More PostScript code will be appended later [Default  terminates
                  the plot system].

           -L     Force  closed  polygons: will connect the endpoints of the line-
                  sement(s) and draw polygons.

           -M     Multiple segment file. Segments are separated by a record  whose
                  first character is flag.  [Default is ’>’].

           -N     Do  NOT skip symbols that fall outside map border [Default plots
                  points inside border only].

           -O     Selects Overlay plot mode [Default initializes a new  plot  sys-
                  tem].

           -P     Selects  Portrait  plotting  mode [GMT Default is Landscape, see
                  gmtdefaults to change this].

           -S     Plot symbols. size is symbol size in the  unit  set  in  .gmtde-
                  faults (unless c, i, m, or p is appended). The uppercase symbols
                  A, C, D, H, I, S, T are normalized to have the same  area  as  a
                  circle  of given size, while the corresponding lowercase symbols
                  are circumscribed by the circle.  Choose between:

           -S     Read symbol code (see below) from last column in the input data.
                  Cannot  be used in conjunction with -b. Optionally, append c, i,
                  m, p to indicate that the size information in the input data  is
                  in units of cm, inch, meter, or point, respectively. [Default is
                  MEASURE_UNIT].

           -Sa    star. size is diameter of circumscribing circle.

           -Sb    (b)ar extending from base to y. size is bar width. Append  u  if
                  size is in x-units [Default is plot-distance units]. By default,
                  base = 0. Append bbase to change this value.

           -Sc    (c)ircle. size is diameter of circle.

           -Sd    (d)iamond. size is diameter of circumscribing circle.

           -Se    ellipse. Direction (in degrees  counterclockwise  from  horizon-
                  tal),  major_axis, and minor_axis must be found in columns 4, 5,
                  and 6.

           -SE    Same as -Se, except azimuth (in degrees east of north) should be
                  given  instead  of direction. The azimuth will be mapped into an
                  angle based on the chosen map projection (-Se leaves the  direc-
                  tions unchanged.) Furthermore, the axes lengths must be given in
                  km instead of plot-distance units.

           -Sf    front.  -Sfgap/size[dir][type][:offset].  Supply  distance   gap
                  between  symbols  and  symbol  size.   If gap is negative, it is
                  interpreted to mean  the  number  of  symbols  along  the  front
                  instead. Append dir to plot symbols on the left or right side of
                  the front [Default is centered]. Append type  to  specify  which
                  symbol  to plot: box, circle, fault, slip, or triangle. [Default
                  is fault].  Slip means left-lateral or right-lateral strike-slip
                  arrows (centered is not an option). Append :offset to offset the
                  first symbol from the beginning of the front by that amount [0].

           -Sh    hexagon. size is diameter of circumscribing circle.

           -Si    inverted triangle. size is diameter of circumscribing circle.

           -Sl    letter  or text string (less than 64 characters). Give size, and
                  append /string after the  size.  Note  that  the  size  is  only
                  approximate; no individual scaling is done for different charac-
                  ters. Remember to escape special characters like *.  Optionally,
                  you  may  append  %font  to select a particular font [Default is
                  ANOT_FONT].

           -So    c(o)lumn (3-D) extending from base to z. size  sets  base  width
                  (Use  xsize/ysize  if  not  the same). Append u if size is in x-
                  units [Default is plot-distance units]. By default,  base  =  0.
                  Append bbase to change this value.

           -Sp    (p)oint. No size needs to be specified.

           -Ss    (s)quare. size is diameter of circumscribing circle.

           -St    (t)riangle. size is diameter of circumscribing circle.

           -Su    c(u)be (3-D). size sets length of all sides. Append u if size is
                  in x-units [Default is plot-distance units].

           -Sv    (v)ector. Direction and length must be found in columns 4 and 5.
                  size   means  arrowwidth/headlength/headwidth  in  [[Default  is
                  0.075c/0.3c/0.25c  (or  0.03i/0.12i/0.1i)].   By  default  arrow
                  attributes remains invariant to the length of the arrow. To have
                  the size of the vector scale down with decreasing  size,  append
                  nnorm,   where   vectors  shorter  than  norm  will  have  their
                  attributes scaled by length/norm.

           -SV    Same as -Sv, except azimuth should be given  instead  of  direc-
                  tion. The azimuth will be mapped into an angle based on the cho-
                  sen map projection (-Sv leaves the directions unchanged.)

           -Sw    pie wedge. Start and stop directions (in degrees  counter-clock-
                  wise  from  horizontal) for pie slice must be found in columns 4
                  and 5.

           -Sx    (x)cross. size is diameter of circumscribing circle.

           -U     Draw Unix System time stamp on plot. User may specify where  the
                  lower  left corner of the stamp should fall on the page relative
                  to lower left corner of plot. Optionally, append a label,  or  c
                  (which  will  plot  the  command  string.).  The  GMT parameters
                  UNIX_TIME and UNIX_TIME_POS can affect the appearance;  see  the
                  gmtdefaults man page for details.

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

           -W     Set pen attributes. [Defaults: width = 1, color = 0/0/0, texture
                  =  solid].  Implicitly draws the outline of symbol with selected
                  pen.

           -X -Y  Shift origin of plot by (x-shift,y-shift).  Prepend a for  abso-
                  lute coordinates; the default (r) will reset plot origin.

           -Z     For 3-D projections: Sets the z-level of the basemap [0].

           -:     Toggles  between  (longitude,latitude)  and (latitude,longitude)
                  input/output. [Default  is  (longitude,latitude)].   Applies  to
                  geographic coordinates only.

           -c     Specifies the number of plot copies. [Default is 1]

           -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 the required number of columns given the
                  settings].

## EXAMPLES

           To plot blue columns (width = 1.25 cm) at the positions listed  in  the
           file  heights.xyz  on  a  3-D  projection  of the space (0-10), (0-10),
           (0-100), with tickmarks every 2, 2, and 10, viewing it from the  south-
           east at 30 degree elevation, try:

           psxyz   heights.xyz   -R0/10/0/10/0/100   -Jx1.25c  -Jz0.125c  -So1.25c
           -G0/0/255 -B2:XLABEL:/2:YLABEL:/10:ZLABEL::."3-D PLOT":15 -E135/30  -Uc
           -W -P > heights.ps

## BUGS

           No  hidden  line  removal  is employed for polygons and lines. Symbols,
           however,  are  first  sorted  according  to  their  distance  from  the
           viewpoint  so  that  nearby  symbols  will  overprint more distant ones
           should they project to the same x,y position.
           psxyz cannot handle filling of polygons that contain the south or north
           pole.  For  such  a polygon, make a copy and split it into two and make
           each explicitly contain the polar point. The two polygons will  combine
           to  give the desired effect when filled; to draw outline use the origi-
           nal polygon.
           The -N option does not adjust the BoundingBox information  so  you  may
           have  to  post-process the PostScript outout with epstool or ps2epsi to
           obtain a correct BoundingBox.

## SEE ALSO

           gmt(l), psbasemap(l), psxy(l)

    GMT3.4.6                          1 Jan 2005                          PSXYZ(l)