PSBASEMAP(l)

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. See psbasemap for details.

-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 definition 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 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 UNIT/degree).
    -Jjlon0/scale or -JJlon0/width (Miller Cylindrical Projection).
            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 projection, 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 (1-60) and scale (1:xxxx or UNIT/degree).
            zones: prepend - or + to enforce southern or northern hemisphere conventions [northern if south > 0].
    -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 (Orthographic).
            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 (true at pole) or slat/1:xxxx (true at standard parallel slat)
            or radius/lat (radius 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:

    -Jp[a]scale[/origin] or -JP[a]width[/origin] (Linear projection for polar (theta,r) coordinates, optionally insert a after -Jp [ or -JP] for azimuths CW from North instead of directions CCW from East [default], 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 a single d if data 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 gmtdefaults for more details). GMT default is WGS-84. Several GMT parameters can affect the projection: ELLIPSOID, INTERPOLANT, MAP_SCALE_FACTOR, and MEASURE_UNIT; see the gmtdefaults man page for details.

-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 x/y position iinstead. 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].

-bo Selects binary output. Append s for single precision [Default is double].

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

-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 tickmarks 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 (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.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 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/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 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.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 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(1gmt), gmt(1gmt)