NAME

     psbasemap - To plot PostScript basemaps


SYNOPSIS

     psbasemap -Btickinfo -Jparameters -Rwest/east/south/north[r]
     [   -Eazimuth/elevation   ]   [   -Gfill   ]   [   -K   ]  [
     -L[f][x]lon0/lat0/slat/length[m|n|k] ] [  -O  ]  [  -P  ]  [
     -U[/dx/dy/][label]  ]  [  -V ] [ -Xx-shift ] [ -Yy-shift ] [
     -Xy-level ] [ -Zzlevel ] [ -ccopies ]


DESCRIPTION

     psbasemap  creates  PostScript  code  that  will  produce  a
     basemap.   Several  map  projections  are available, and the
     user may specify separate tickmark  intervals  for  boundary
     annotation,  ticking,  and [optionally] gridlines.  A simple
     map scale may also be plotted.
          No space between the option  flag  and  the  associated
     arguments.   Use  upper  case for the option flags and lower
     case for modifiers.

     -B   Sets map boundary tickmark  intervals.  tickinfo  is  a
          textstring  made  up  of  one or more concatenated sub-
          strings of the  form  [which]tick[m|c].   The  optional
          which   can   be   either  a  for  annotation  interval
          [Default], f for frame tick interval, or g for gridline
          interval.   If frame interval is not set, it is assumed
          to be the same as  annotation  interval.  tick  is  the
          desired  tick  interval.   The  optional  m|c indicates
          minutes (m) or seconds (c).  To specify separate x  and
          y  ticks,  separate  the substrings that apply to the x
          and y axes with a  slash  [/]  (If  a  3-D  basemap  is
          selected  with -E, -Jz, a third substring pertaining to
          the   vertical   axis   may    be    appended.)     For
          linear/log/power  projections  (-Jx):  Labels  for each
          axis can be added by surrounding them with colons.   If
          the  first character in the label is a period, then the
          label is used as plot title; if it is a comma then  the
          label is appended to each anotation (start label with -
          to avoid space between anotation and unit); else it  is
          the axis label.  If the label consists of more than one
          word, enclose the entire label in double quotes  (e.g.,
          :"my label":).
          By default, all 4 boundaries are plotted  (referred  to
          as W, E, S, N).  To change the default, append the code
          for those you want (e.g., WS for standard lower-left x-
          and  y-axis  system).   Upper case (e.g., W) means draw
          axis/tickmarks AND  annotate  it,  whereas  lower  case
          (e.g.,  w)  will  only  draw axis/tickmarks.  (If a 3-D
          basemap is selected with -E and -Jz, append Z or  z  to
          control  the  appearance  of the vertical axis.  Append
          '+' to draw the outline of the cube defined by -R)
          For non-geographical projections:  Give negative  scale
          (in  -Jx)  or axis length (in -JX) to change the direc-
          tion of increasing coordinates (i.e., to  make  the  y-
          axis  positive down).  For log10 axes:  Annotations can
          be specified in one of three ways:  (1) tick can be  1,
          2,  or  3.  Annotations will then occur at 1, 1-2-5, or
          1-2-3-4-...-9, respectively.  This option can  also  be
          used  for  the  frame  and grid intervals.  (2) An l is
          appended to the tickinfo string.  Then,  log10  of  the
          tick  value  is  plotted  at every integer log10 value.
          (3) A p is appended  to  the  tickinfo  string.   Then,
          annotations  appear  as  10 raised to log10 of the tick
          value.  For power axes: Annotations can be specified in
          one  of two ways:  (1) tick sets the regular annotation
          interval.  (2) A p is appended to the tickinfo  string.
          Then,  the  annotation  interval  is  expected to be in
          transformed units, but the  annotation  value  will  be
          plotted  as untransformed units.  E.g., if tick = 1 and
          power = 0.5 (i.e., sqrt), then equidistant  annotations
          labeled 1-4-9... will appear.

     -J   Selects the map projection.   The  following  character
          determines  the  projection.  If the character is upper
          case then  the  argument(s)  supplied  as  scale(s)  is
          interpreted to be the map width (or axis lengths), else
          the scale argument(s) is the map scale (see its defini-
          tion  for  each  projection).   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 c, i, or m to the scale/width values.  Choose
          one of the following projections (The E or C after pro-
          jection names  stands  for  Equal-Area  and  Conformal,
          respectively):

          CYLINDRICAL PROJECTIONS:

          -Jclon0/lat0/scale or -JClon0/lat0/width (Cassini)
               Give  projection  center  and  scale  (1:xxxx   or
          UNIT/degree).
          -Jjlon0/scale or -JJlon0/width (Miller Cylindrical Pro-
          jection)
               Give the central meridian  and  scale  (1:xxxx  or
          UNIT/degree).
          -Jmparameters (Mercator [C]).  Specify one of:
               -Jmscale or -JMwidth
                    Give   scale   along   equator   (1:xxxx   or
          UNIT/degree).
               -Jmlon0/lat0/scale or -JMlon0/lat0/width
                    Give central meridian, standard latitude  and
          scale along parallel (1:xxxx or UNIT/degree).
          -Joparameters (Oblique Mercator [C]).  Specify one of:
               -Joalon0/lat0/azimuth/scale                     or
          -JOalon0/lat0/azimuth/width
                    Set projection  center,  azimuth  of  oblique
          equator, and scale.
               -Joblon0/lat0/lon1/lat1/scale                   or
          -JOblon0/lat0/lon1/lat1/scale
                    Set projection center, another point  on  the
          oblique equator, and scale.
               -Joclon0/lat0/lonp/latp/scale                   or
          -JOclon0/lat0/lonp/latp/scale
                    Set projection center, pole of  oblique  pro-
          jection, and scale.
               Give  scale  along  oblique  equator  (1:xxxx   or
          UNIT/degree).
          -Jqlon0/scale or -JQlon0/width (Equidistant Cylindrical
          Projection (Plate Carree))
               Give the central meridian  and  scale  (1:xxxx  or
          UNIT/degree).
          -Jtparameters (Transverse Mercator [C]).   Specify  one
          of:
               -Jtlon0/scale or -JTlon0/width
                    Give the central meridian and  scale  (1:xxxx
          or UNIT/degree).
               -Jtlon0/lat0/scale or -JTlon0/lat0/width
                    Give projection center and scale  (1:xxxx  or
          UNIT/degree).
          -Juzone/scale  or  -JUzone/width   (UTM   -   Universal
          Transverse Mercator [C])
               Give  the  zone  number  and  scale   (1:xxxx   or
          UNIT/degree).
               Use negative zone numbers for the  southern  hemi-
          sphere.
          -Jylon0/lats/scale   or    -JYlon0/lats/width    (Basic
          Cylindrical Projections [E])
               Give the central meridian, standard parallel,  and
          scale (1:xxxx or UNIT/degree).
               The standard parallel is typically  one  of  these
          (but can be any value):
               45   - The Peters projection
               37.4 - The Trystan Edwards projection
               30   - The Behrman projection
               0    - The Lambert projection

          AZIMUTHAL PROJECTIONS:

          -Jalon0/lat0/scale or -JAlon0/lat0/width (Lambert [E]).
               lon0/lat0 specifies the projection center.
               Give scale as 1:xxxx or radius/lat,  where  radius
          is distance
               in UNIT from origin to the oblique latitude lat.
          -Jelon0/lat0/scale or -JElon0/lat0/width (Equidistant).
               lon0/lat0 specifies the projection center.
               Give scale as 1:xxxx or radius/lat,  where  radius
          is distance
               in UNIT from origin to the oblique latitude lat.
          -Jflon0/lat0/horizon/scale                           or
          -JFlon0/lat0/horizon/width (Gnomonic).
               lon0/lat0 specifies the projection center.
               horizon specifies the max distance from projection
          center (in degrees, < 90).
               Give scale as 1:xxxx or radius/lat,  where  radius
          is distance
               in UNIT from origin to the oblique latitude lat.
          -Jglon0/lat0/scale   or   -JGlon0/lat0/width    (Ortho-
          graphic).
               lon0/lat0 specifies the projection center.
               Give scale as 1:xxxx or radius/lat,  where  radius
          is distance
               in UNIT from origin to the oblique latitude lat.
          -Jslon0/lat0/scale   or   -JSlon0/lat0/width   (General
          Stereographic [C])
               lon0/lat0 specifies the projection center.
               Give scale as 1:xxxx or radius/lat,  where  radius
          is distance
               in UNIT from origin to the oblique latitude lat.

          CONIC PROJECTIONS:

          -Jblon0/lat0/lat1/lat2/scale                         or
          -JBlon0/lat0/lat1/lat2/width (Albers [E])
               Give projection center,  two  standard  parallels,
          and scale (1:xxxx or UNIT/degree).
          -Jdlon0/lat0/lat1/lat2/scale                         or
          -JDlon0/lat0/lat1/lat2/width (Equidistant)
               Give projection center,  two  standard  parallels,
          and scale (1:xxxx or UNIT/degree).
          -Jllon0/lat0/lat1/lat2/scale                         or
          -JLlon0/lat0/lat1/lat2/width (Lambert [C])
               Give origin, 2 standard parallels, and scale along
          these (1:xxxx or UNIT/degree).

          MISCELLANEOUS PROJECTIONS:

          -Jhlon0/scale or -JHlon0/width (Hammer [E])
               Give the central meridian and scale along  equator
          (1:xxxx or UNIT/degree).
          -Jilon0/scale or -JIlon0/width (Sinusoidal [E])
               Give the central meridian and scale along  equator
          (1:xxxx or UNIT/degree).
          -Jk[f|s]lon0/scale or -JK[f|s]lon0/width (Eckert IV (f)
          and VI (s) [E])
               Give the central meridian and scale along  equator
          (1:xxxx or UNIT/degree).
          -Jnlon0/scale or -JNlon0/width (Robinson)
               Give the central meridian and scale along  equator
          (1:xxxx or UNIT/degree).
          -Jrlon0/scale -JRlon0/width (Winkel Tripel)
               Give the central meridian and scale along  equator
          (1:xxxx or UNIT/degree).
          -Jvlon0/scale or -JVlon0/width (Van der Grinten)
               Give the central meridian and scale along  equator
          (1:xxxx or UNIT/degree).
          -Jwlon0/scale or -JWlon0/width (Mollweide [E])
               Give the central meridian and scale along  equator
          (1:xxxx or UNIT/degree).

          NON-GEOGRAPHICAL PROJECTIONS:

          -Jpscale[/origin] or -JPwidth[/origin] (Linear  projec-
          tion for polar (theta,r) coordinates, optionally append
          /origin in degrees to indicate an angular offset [0]).
               Give scale in UNIT/r-unit.
          -Jxx-scale[/y-scale] or -JXwidth[/height]
          scale [or width] can be any of the following 3 types:
               -Jxscale       - Regular linear scaling.
               -Jxscalel - Take log10 of values before scaling.
               -Jxscaleppower -  Raise  values  to  power  before
          scaling.
          Give x-scale in UNIT/x-unit and y-scale in UNIT/y-unit.
          (y-scale  =  x-scale if not specified separately).  Use
          negative scale(s) to reverse the direction of  an  axis
          (e.g., to have y be positive down).

          Append d if x and y  are  geographical  coordinates  in
          degrees.  Default axes lengths (see gmtdefaults) can be
          invoked using -JXh (for landscape); -JXv (for portrait)
          will  swap  the x- and y-axes lengths.  The GMT default
          unit for this installation is UNIT.  However,  you  may
          change  this  by editing your .gmtdefaults file(s) (run
          gmtdefaults to create one if you don't have it).
               The ellipsoid  used  in  the  map  projections  is
          user-definable by editing the .gmtdefaults file in your
          home directory.  13  commonly  used  ellipsoids  and  a
          spheroid  are  currently  supported, and users may also
          specify their own ellipsoid parameters (see man  gmtde-
          faults for more details).  GMT default is WGS-84.

     -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

     -E   Sets the viewpoint's azimuth and  elevation  (for  per-
          spective view) [180/90]

     -G   Paint inside of basemap. [Default is no fill].  Specify
          the shade (0-255) or color (r/g/b, each in 0-255).

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

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

     -L   Draws a simple map scale centered  on  lon0/lat0.   Use
          -Lx  to specify x/y position iinstead.  Scale is calcu-
          lated at latitude slat, length is in km [miles if m  is
          appended; nautical miles if n is appended].  Use -Lf to
          get a "fancy" scale [Default is plain].

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

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

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

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

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

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

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


EXAMPLES

     The following section illustrates the use of the options  by
     giving  some  examples  for  the  available map projections.
     Note how scales may  be  given  in  several  different  ways
     depending  on  the  projection.   Also note the use of upper
     case letters to specify map width instead of map scale.



NON-GEOGRAPHICAL PROJECTIONS


Linear x-y plot

     To make a linear x/y frame with all axes, but with only left
     and  bottom  axes  annotated,  using  xscale = yscale = 1.0,
     ticking every 1 unit  and  annotating  every  2,  and  using
     xlabel = "Distance" and ylabel = "No of samples", try

     psbasemap   -R0/9/0/5    -Jx1    -Bf1a2:Distance:/:"No    of
     samples":WeSn > linear.ps


log-log plot

     To make a log-log frame with only the left and bottom  axes,
     where  the x-axis is 25 cm and annotated every 1-2-5 and the
     y-axis is 15 cm and anotated every power of 10 but has tick-
     marks every 0.1, try

     psbasemap          -R1/10000/1e20/1e25          -JX25cl/15cl
     -B2:Wavelength:/a1pf3:Power:WS > loglog.ps


power axes

     To design an axis system to be used  for  a  depth-sqrt(age)
     plot  with  depth  positive down, ticked and annotated every
     500m, and ages annotated at 1 my, 4 my, 9 my etc, try

     psbasemap   -R0/100/0/5000   -Jx1p0.5/-0.001   -B1p:"Crustal
     age":/500:Depth: > power.ps


Polar (theta,r) plot

     For a base map for use with  polar  coordinates,  where  the
     radius  from  0 to 1000 should correspond to 3 inch and with
     gridlines and ticks every 30 degrees and 100 units, try

     psbasemap -R0/360/0/1000 -JP6i -B30p/100 > polar.ps



CYLINDRICAL MAP PROJECTIONS


Cassini

     A 10-cm-wide basemap using the  Cassini  projection  may  be
     obtained by

     psbasemap -R20/50/20/35 -JC35/28/10c  -P  -B5g5:.Cassini:  >
     cassini.ps


Mercator [conformal]

     A Mercator map with scale 0.025 inch/degree  along  equator,
     and  showing  the  length of 5000 km along the equator (cen-
     tered on 1/1 inch), may be plotted as

     psbasemap   -R90/180/-50/50   -Jm0.025i   -B30g30:.Mercator:
     -Lx1i/1i/0/5000 > mercator.ps


Miller

     A global Miller cylindrical map  with  scale  1:200,000,000,
     may be plotted as

     psbasemap -R0/360/-90/90 -Jj1:200000000  -B30g30:.Miller:  >
     miller.ps


Oblique Mercator [conformal]

     To create a page-size global oblique Mercator basemap for  a
     pole at (90,30) with gridlines every 30 degrees, try

     psbasemap        -R0/360/-70/70        -Joc0/0/90/30/0.064cd
     -B30g30:."Oblique Mercator": > oblmerc.ps


Transverse Mercator [conformal]

     A regular Transverse Mercator basemap for  some  region  may
     look like

     psbasemap      -R69:30/71:45/-17/-15:15      -Jt70/1:1000000
     -B15m:."Survey area": -P > transmerc.ps


Equidistant Cylindrical Projection

     This projection only needs the central meridian  and  scale.
     A 25 cm wide global basemap centered on the 130E meridian is
     made by

     psbasemap -R-50/310/-90/90 -JQ130/25c  -B30g30:."Equidistant
     Cylindrical": > cyl_eqdist.ps



Universal Transverse Mercator [conformal]

     To use this projection you must know the  UTM  zone  number,
     which  defines  the  central  meridian.   A  UTM basemap for
     Indo-China can be plotted as

     psbasemap  -R95/5/108/20r  -Ju46/1:10000000  -B3g3:.UTM:   >
     utm.ps


Basic Cylindrical [equal-area]

     First select which of the cylindrical equal-area projections
     you want by deciding on the standard parallel.  Here we will
     use 45 degrees which gives the Peters projection.  A 9  inch
     wide global basemap centered on the Pacific is made by

     psbasemap  -R0/360/-90/90  -JY180/45/9i  -B30g30:.Peters:  >
     peters.ps



CONIC MAP PROJECTIONS


Albers [equal-area]

     A basemap for middle Europe may be created by

     psbasemap -R0/90/25/55 -Jb45/20/32/45/0.25c -B10g10:."Albers
     Equal-area": > albers.ps


Lambert [conformal]

     Another basemap for middle Europe may be created by

     psbasemap -R0/90/25/55 -Jl45/20/32/45/0.1i -B10g10:."Lambert
     Conformal Conic": > lambertc.ps


Equidistant

     Yet another basemap of width 6 inch for middle Europe may be
     created by

     psbasemap           -R0/90/25/55           -JD45/20/32/45/6i
     -B10g10:."Equidistant conic": > econic.ps



AZIMUTHAL MAP PROJECTIONS


Lambert [equal-area]

     A 15-cm-wide global view of the world from the vantage point
     -80/-30 will give the following basemap:

     psbasemap           -R0/360-/-90/90           -JA-80/-30/15c
     -B30g30/15g15:."Lambert Azimuthal": > lamberta.ps

     Follow the instructions for stereographic projection if  you
     want  to  impose  rectangular  boundaries  on  the azimuthal
     equal-area map but substitute -Ja for -Js.


Equidistant

     A 15-cm-wide global map in which distances from  the  center
     (here 125/10) to any point is true can be obtained by:

     psbasemap           -R0/360-/-90/90            -JE125/10/15c
     -B30g30/15g15:."Equidistant": > equi.ps


Gnomonic

     A view of the world from the vantage point -100/40 out to  a
     horizon  of 60 degrees from the center can be made using the
     Gnomonic projection:

     psbasemap          -R0/360-/-90/90          -JF-100/40/60/6i
     -B30g30/15g15:."Gnomonic": > gnomonic.ps


Orthographic

     A global perspective (from infinite distance)  view  of  the
     world  from the vantage point 125/10 will give the following
     6-inch-wide basemap:

     psbasemap            -R0/360-/-90/90            -JG125/10/6i
     -B30g30/15g15:."Orthographic": > ortho.ps


Stereographic [conformal]

     To make a Polar stereographic projection basemap with radius
     =  12  cm  to -60 degree latitude, with plot title "Salinity
     measurements", using 5 degrees annotation/tick interval  and
     1 degree gridlines, try

     psbasemap -R-45/45/-90/-60 -Js0/-90/12c/-60 -B5g1:."Salinity
     measurements": > stereo1.ps

     To make a 12-cm-wide  stereographic  basemap  for  Australia
     from an arbitrary view point (not the poles), and use a rec-
     tangular boundary, we must give the pole for the new projec-
     tion  and  use  the -R option to indicate the lower left and
     upper right corners (in lon/lat) that will define  our  rec-
     tangle.   We  choose  a  pole at 130/-30 and use 100/-45 and
     160/-5 as our corners.  The command becomes

     psbasemap          -R100/-45/160/-5r          -JS130/-30/12c
     -B30g30/15g15:."General Stereographic View": > stereo2.ps



MISCELLANEOUS MAP PROJECTIONS


Hammer [equal-aera]

     The Hammer projection is mostly used  for  global  maps  and
     thus  the  spherical  form is used.  To get a world map cen-
     tered on Greenwich at a scale of 1:200000000, try

     psbasemap         -R0/360/-90/90          -Jh180/1:200000000
     -B30g30/15g15:.Hammer: > hammer.ps


Sinusoidal [equal-aera]

     To make a sinusiodal world map centered on Greenwich, with a
     scale along the equator of 0.02 inch/degree, try

     psbasemap             -R0/360/-90/90              -Ji0/0.02i
     -B30g30/15g15:."Sinusoidal": > sinus1.ps

     To make an interrupted sinusiodal world map with  breaks  at
     160W,  20W,  and 60E, with a scale along the equator of 0.02
     inch/degree, try the following sequence of commands:

     psbasemap -R-160/-20/-90/90  -Ji-90/0.02i  -B30g30/15g15Wesn
     -K > sinus_i.ps
     psbasemap -R-20/60/-90/90 -Ji20/0.02i  -B30g30/15g15wesn  -O
     -K -X2.8i >> sinus_i.ps
     psbasemap -R60/200/-90/90 -Ji130/0.02i -B30g30/15g15wEsn  -O
     -X1.6i >> sinus_i.ps


Eckert IVI [equal-aera]

     Pseudo-cylindrical projection typically used for global maps
     only.  Set the central longitude and scale, e.g.,

     psbasemap           -R0/360/-90/90            -Jkf180/0.064c
     -B30g30/15g15:."Eckert IV": > eckert4.ps


Eckert VI [equal-aera]

     Another pseudo-cylindrical  projection  typically  used  for
     global  maps  only.   Set  the  central longitude and scale,
     e.g.,
     psbasemap           -R0/360/-90/90            -Jks180/0.064c
     -B30g30/15g15:."Eckert VI": > eckert6.ps


Robinson

     Projection designed to make global maps "look  right".   Set
     the central longitude and width, e.g.,

     psbasemap             -R-180/180/-90/90              -JN0/8i
     -B30g30/15g15:."Robinson": > robinson.ps


Winkel Tripel

     Yet another projection typically used for global maps  only.
     You can set the central longitude, e.g.,

     psbasemap -R90/450/-90/90 -JR270/25c  -B30g30/15g15:."Winkel
     Tripel": > winkel.ps


Mollweide [equal-aera]

     The Mollweide projection is also mostly used for global maps
     and  thus  the  spherical form is used.  To get a 25-cm-wide
     world map centered on the Dateline, try

     psbasemap             -R0/360/-90/90              -JW180/25c
     -B30g30/15g15:.Mollweide: > mollweide.ps


Van der Grinten

     The Van der Grinten projection is also mostly used for  glo-
     bal  maps and thus the spherical form is used.  To get a 10-
     inch-wide world map centered on the Dateline, try

     psbasemap -R0/360/-90/90 -JV180/10i -B30g30/15g15:."Van  der
     Grinten": > grinten.ps


RESTRICTIONS

     For  some  projections,  a  spherical  earth  is  implicitly
     assumed.  A warning will notify the user if -V is set.


BUGS

     The  -B  option  is  somewhat  complicated  to  explain  and
     comprehend.   However, it is fairly simple for most applica-
     tions (see examples).


SEE ALSO

     gmtdefaults(l), gmt(l)