Provided by: gmt-manpages_3.4.4-1_all bug

NAME

       mapproject - Forward and Inverse map transformation of 2-D coordinates

SYNOPSIS

       mapproject  infiles  -Jparameters  -Rwest/east/south/north[r]  [  -C  ]  [  -Dc|i|m|p  ] [
       -F[k|m|n|i|c|p] ] [ -H[nrec] ] [ -I ] [ -M[flag] ] [ -S ] [ -V ] [ -: ] [  -bi[s][n]  ]  [
       -bo[s][n] ]

DESCRIPTION

       mapproject  reads  (longitude,  latitude)  positions  from infiles [or standard input] and
       computes (x,y) coordinates using the specified map projection and scales.  Optionally,  it
       can  read  (x,y)  positions  and  compute  (longitude,  latitude) values doing the inverse
       transformation. This can be used to transform linear (x,y) points obtained by digitizing a
       map of known projection to geographical coordinates.  Additional data fields are permitted
       after the first 2 columns which must have (longitude,latitude) or (x,y).  See option -: on
       how to read (latitude,longitude) files.
               No  space between the option flag and the associated arguments. Use upper case for
       the option flags and lower case for modifiers.

       infiles
              Data file(s) to be transformed. If not given, standard input is read.

       -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

       infile(s)
              input file(s) with 2 or more columns. If no file(s) is given, mapproject will  read
              standard input.

       -C     Set  center  of  projected  coordinates  to be at map projection center [Default is
              lower left corner].

       -D     Temporarily override MEASURE_UNIT and use  c  (cm),  i  (inch),  m  (meter),  or  p
              (points) instead. Cannot be used with -F.

       -F     Force  1:1  scaling,  i.e.,  output (or input, see -I) data are in actual projected
              meters. To specify other units, append  k  (km),  m  (mile),n  (nautical  mile),  i
              (inch),  c  (cm),  or p (points).  Without -F, the output (or input, see -I) are in
              the units specified by MEASURE_UNIT (but see -D).

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

       -I     Do the Inverse transformation, i.e. get (longitude,latitude) from (x,y) data.

       -M     Multiple  segment  file(s).  Segments are separated by a special record.  For ASCII
              files the first character must be flag [Default is  '>'].   For  binary  files  all
              fields must be NaN.

       -S     Suppress points that fall outside the region.

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

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

       -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 2 input columns]

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

EXAMPLES

       To transform a file with (longitude,latitude) into (x,y) positions in  cm  on  a  Mercator
       grid for a given scale of 0.5 cm per degree, run

       mapproject lonlatfile -R20/50/12/25 -Jm0.5c > xyfile

       To  transform  several  2-column, binary, double precision files with (latitude,longitude)
       into (x,y) positions in inch on a Transverse Mercator grid  (central  longitude  75W)  for
       scale = 1:500000 and suppress those points that would fall outside the map area, run

       mapproject tracks.* -R-80/-70/20/40 -Jt-75/1:500000 -: -S -Di -bo -bi2 > tmfile.b

RESTRICTIONS

       The  rectangular input region set with -R will in general be mapped into a non-rectangular
       grid. Unless -C is set, the leftmost point  on  this  grid  has  xvalue  =  0.0,  and  the
       lowermost  point  will have yvalue = 0.0. Thus, before you digitize a map, run the extreme
       map coordinates through mapproject using the appropriate scale and see what  (x,y)  values
       they are mapped onto. Use these values when setting up for digitizing in order to have the
       inverse transformation work correctly, or alternatively, use awk to scale  and  shift  the
       (x,y) values before transforming.

ELLIPSOIDS AND SPHEROIDS

       GMT  will  use  ellipsoidal formulae if they are implemented and the user have selected an
       ellipsoid as the reference shape (see gmtdefaults). The user needs to be aware  of  a  few
       potential  pitfalls:  (1)  For  some projections, such as Transverse Mercator, Albers, and
       Lamberts conformal conic we use the ellipsoidal expressions  when  the  areas  mapped  are
       small, and switch to the spherical expressions (and substituting the appropriate auxillary
       latitudes) for larger maps. The ellipsoidal formulae are used are follows: (a)  Transverse
       Mercator: When all points are within 10 degrees of central meridian, (b) Conic projections
       when longitudinal range is less than 90 degrees, (c) Cassini projection  when  all  points
       are within 4 degrees of central meridian. (2) When you are trying to match some historical
       data (e.g., coordinates obtained  with  a  certain  projection  and  a  certain  reference
       ellipsoid)  you  may  find  that GMT gives results that are slightly different. One likely
       source of this mismatch is that older calculations often used less significant digits. For
       instance, Snyder's examples often use the Clarke 1866 ellipsoid (defined by him as' having
       a flattening f = 1/294.98). From f we get the eccentricity  squared  to  be  0.00676862818
       (this  is what GMT uses), while Snyder rounds off and uses 0.00676866. This difference can
       give discrepancies of several 10 of cm.  If you need to  reproduce  coordinates  projected
       with  this slightly different eccentricity, you should specify your own ellipsoid with the
       same parameters as Clarke 1866, but with f = 1/294.97861076.

SEE ALSO

       gmtdefaults(1gmt), gmt(1gmt), project(1gmt)

REFERENCES

       Snyder, J. P., 1987, Map Projections - A Working  Manual,  U.S.  Geological  Survey  Prof.
       Paper 1395.

                                            1 Jan 2004                              MAPPROJECT(l)