proj - forward cartographic projection filter
invproj - inverse cartographic projection filter
proj [ -bceEfiIlmorsStTvVwW [ args ] ] [ +args ] file[s]
invproj [ -bceEfiIlmorsStTwW [ args ] ] [ +args ] file[s]
Proj and invproj perform respective forward and inverse transformation
of cartographic data to or from cartesian data with a wide range of
selectable projection functions.
The following control parameters can appear in any order:
-b Special option for binary coordinate data input and output
through standard input and standard output. Data is assumed to
be in system type double floating point words. This option is
to be used when proj is a son process and allows bypassing
-i Selects binary input only (see -b option).
-I alternate method to specify inverse projection. Redundant when
used with invproj.
-o Selects binary output only (see -b option).
-ta A specifies a character employed as the first character to
denote a control line to be passed through without processing.
This option applicable to ascii input only. (# is the default
String is an arbitrary string to be output if an error is
detected during data transformations. The default value is:
*\t*. Note that if the -b, -i or -o options are employed, an
error is returned as HUGE_VAL value for both return values.
-E causes the input coordinates to be copied to the output line
prior to printing the converted values.
List projection identifiers with -l, -lp or -lP (expanded) that
can be selected with +proj. -l=id gives expanded description of
projection id. List ellipsoid identifiers with -le, that can be
selected with +ellps, -lu list of cartesian to meter conversion
factors that can be selected with +units or -ld list of datums
that can be selected with +datum.
-r This options reverses the order of the expected input from
longitude-latitude or x-y to latitude-longitude or y-x.
-s This options reverses the order of the output from x-y or
longitude-latitude to y-x or latitude-longitude.
-S Causes estimation of meridinal and parallel scale factors, area
scale factor and angular distortion, and maximum and minimum
scale factors to be listed between <> for each input point. For
conformal projections meridinal and parallel scales factors will
be equal and angular distortion zero. Equal area projections
will have an area factor of 1.
The cartesian data may be scaled by the mult parameter. When
processing data in a forward projection mode the cartesian
output values are multiplied by mult otherwise the input
cartesian values are divided by mult before inverse projection.
If the first two characters of mult are 1/ or 1: then the
reciprocal value of mult is employed.
Format is a printf format string to control the form of the
output values. For inverse projections, the output will be in
degrees when this option is employed. The default format is
"%.2f" for forward projection and DMS for inverse.
N is the number of significant fractional digits to employ for
seconds output (when the option is not specified, -w3 is
assumed). When -W is employed the fields will be constant width
and with leading zeroes.
-v causes a listing of cartographic control parameters tested for
and used by the program to be printed prior to input data.
Should not be used with the -T option.
-V This option causes an expanded annotated listing of the
characteristics of the projected point. -v is implied with this
This option creates a set of bivariate Chebyshev polynomial
coefficients that approximate the selected cartographic
projection on stdout. The values low and hi denote the range of
the input where the u or v prefixes apply to respective
longitude-x or latitude-y depending upon whether a forward or
inverse projection is selected. Res is an integer number
specifying the power of 10 precision of the approximation. For
example, a res of -3 specifies an approximation with an accuracy
better than .001. Umax, and vmax specify maximum degree of the
polynomials (default: 15). See also: fproj(1).
The +args run-line arguments are associated with cartographic
parameters and usage varies with projection and for a complete
description see Cartographic Projection Procedures for the UNIX
EnvironmentA Users Manual ) and supplementary documentation for
Additional projection control parameters may be contained in two
auxiliary control files: the first is optionally referenced with the
+init=file:id and the second is always processed after the name of the
projection has been established from either the run-line or the
contents of +init file. The environment parameter PROJ_LIB establishes
the default directory for a file reference without an absolute path.
This is also used for supporting files like datum shift files.
One or more files (processed in left to right order) specify the source
of data to be transformed. A - will specify the location of processing
standard input. If no files are specified, the input is assumed to be
from stdin. For ASCII input data the two data values must be in the
first two white space separated fields and when both input and output
are ASCII all trailing portions of the input line are appended to the
Input geographic data (longitude and latitude) must be in DMS format
and input cartesian data must be in units consistent with the ellipsoid
major axis or sphere radius units. Output geographic coordinates will
be in DMS (if the -w switch is not employed) and precise to 0.001" with
trailing, zero-valued minute-second fields deleted.
The following script
proj +proj=utm +lon_0=112w +ellps=clrk66 -r <<EOF
will perform UTM forward projection with a standard UTM central
meridian nearest longitude 112°W. The geographic values of this
example are equivalent and meant as examples of various forms of DMS
input. The x-y output data will appear as three lines of:
The proj program is limited to converting between geographic and
projection coordinates within one datum.
The cs2cs program operates similarly, but allows translation between
any pair of definable coordinate systems, including support for datum
The nad2nad program provides for translation between NAD27 and NAD83
(also available in cs2cs) in a convenient manner.
The geod program provides the ability to compute geodesic (Great
cs2cs(1U), nad2nad(1U), geod(1U), pj_init(3U),
Cartographic Projection Procedures for the UNIX EnvironmentA Users
Manual, (Evenden, 1990, Open-file report 90-284).
Map Projections Used by the U. S. Geological Survey (Snyder, 1984, USGS
Map ProjectionsA Working Manual (Snyder, 1988, USGS Prof. Paper 1395).
An Album of Map Projections (Snyder & Voxland, 1989, USGS Prof. Paper
2000/03/21 Rel. 4.4 PROJ(1)