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
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).
-Jtlon0/scale or -JTlon0/width (TM - Transverse Mercator [C])
Give the central meridian 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).
-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).
-Jklon0/scale or -JKlon0/width (Eckert VI [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).
-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
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 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 -Jk180/0.025i -B30g30/15g15:."Eckert VI": >
eckert4.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
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
Man(1) output converted with
man2html