## 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] ] [ -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 substrings 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 direction 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) in inch, else the scale argument(s) is
               the map scale (see its definition for each projection).  Choose
               one of the following projections (The E or C after projection
               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 inch/degree).
               -Jjlon0/scale or -JJlon0/width (Miller Cylindrical Projection)
                    Give the central meridian and scale (1:xxxx or inch/degree).
               -Jmparameters (Mercator [C]).  Specify one of:
                    -Jmscale or -JMwidth
                         Give scale along equator (1:xxxx or inch/degree).
                    -Jmlon0/lat0/scale or -JMlon0/lat0/width
                         Give central meridian, standard latitude and scale
               along parallel (1:xxxx or inch/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 projection, and
               scale.
                    Give scale along oblique equator (1:xxxx or inch/degree).
               -Jqlon0/scale or -JQlon0/width (Equidistant Cylindrical
               Projection (Plate Carree))
                    Give the central meridian and scale (1:xxxx or inch/degree).
               -Jtparameters (Transverse Mercator [C]).  Specify one of:
                    -Jtlon0/scale or -JTlon0/width
                         Give the central meridian and scale (1:xxxx or
               inch/degree).
                    -Jtlon0/lat0/scale or -JTlon0/lat0/width
                         Give projection center and scale (1:xxxx or
               inch/degree).
               -Juzone/scale or -JUzone/width (UTM - Universal Transverse
               Mercator [C])
                    Give the zone number and scale (1:xxxx or inch/degree).
                    Use negative zone numbers for the southern hemisphere.
               -Jylon0/lats/scale or -JYlon0/lats/width (Basic Cylindrical
               Projections [E])
                    Give the central meridian, standard parallel, and scale
               (1:xxxx or inch/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 inch 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 inch 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 inch from origin to the oblique latitude lat.
               -Jglon0/lat0/scale or -JGlon0/lat0/width (Orthographic).
                    lon0/lat0 specifies the projection center.
                    Give scale as 1:xxxx or radius/lat, where radius is distance
                    in inch 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 inch 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 inch/degree).
               -Jdlon0/lat0/lat1/lat2/scale or -JDlon0/lat0/lat1/lat2/width
               (Equidistant)
                    Give projection center, two standard parallels, and scale
               (1:xxxx or inch/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 inch/degree).

               MISCELLANEOUS PROJECTIONS:

               -Jhlon0/scale or -JHlon0/width (Hammer [E])
                    Give the central meridian and scale along equator (1:xxxx or
               inch/degree).
               -Jilon0/scale or -JIlon0/width (Sinusoidal [E])
                    Give the central meridian and scale along equator (1:xxxx or
               inch/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
               inch/degree).
               -Jnlon0/scale or -JNlon0/width (Robinson)
                    Give the central meridian and scale along equator (1:xxxx or
               inch/degree).
               -Jrlon0/scale -JRlon0/width (Winkel Tripel)
                    Give the central meridian and scale along equator (1:xxxx or
               inch/degree).
               -Jvlon0/scale or -JVlon0/width (Van der Grinten)
                    Give the central meridian and scale along equator (1:xxxx or
               inch/degree).
               -Jwlon0/scale or -JWlon0/width (Mollweide [E])
                    Give the central meridian and scale along equator (1:xxxx or
               inch/degree).

               NON-GEOGRAPHICAL PROJECTIONS:

               -Jpscale or -JPwidth (Linear projection for polar (theta,r)
               coordinates)
                    Give scale in inch/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 inch/x-unit and y-scale in inch/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 inch.
               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 gmtdefaults 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 perspective 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 position in inch instead.  Scale is calculated 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 in inch [Default is (-0.75i/-
               0.75i)].  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) inch  [Default is
               (a1i,a1i) for new plots, (0,0) for overlays].  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 in inch
          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 9 inch and annotated every 1-2-5 and the y-axis is 6 inch
          and anotated every power of 10 but has tickmarks every 0.1, try

          psbasemap -R1/10000/1e20/1e25 -JX9il/6il
          -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 4-inch-wide basemap using the Cassini projection may be obtained by
          psbasemap -R20/50/20/35 -JC35/28/4i -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 (centered 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.025id -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 9 inch
          wide global basemap centered on the 130E meridian is made by

          psbasemap -R-50/310/-90/90 -JQ130/9i -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.1i -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 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 6-inch-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/6i -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 6-inch-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/6i -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 = 5 inch
          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/5i/-60 -B5g1:."Salinity
          measurements": > stereo1.ps

          To make a 5-inch-wide stereographic basemap for Australia from an
          arbitrary view point (not the poles), and use a rectangular boundary,
          we must give the pole for the new projection and use the -R option to
          indicate the lower left and upper right corners (in lon/lat) that will
          define our rectangle.  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/5i -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 centered 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.025i -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.025i -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/9i -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 10-inch-wide world map centered
          on the Dateline, try

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

## Van der Grinten

          The Van der Grinten projection is also mostly used for global 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 applications (see examples).

## SEE ALSO

          gmtdefaults, gmt