GEOD(1) General Commands Manual GEOD(1)
geod - direct geodesic computations
invgeod - inverse geodesic computations
geod +ellps=<ellipse> [ -afFIlptwW [ args ] ] [ +args ] file[s]
invgeod +ellps=<ellipse> [ -afFIlptwW [ args ] ] [ +args ] file[s]
Geod (direct) and invgeod (inverse) perform geodesic (Great Circle) computations for determining latitude, longitude and back azimuth of a
terminus point given a initial point latitude, longitude, azimuth and distance (direct) or the forward and back azimuths and distance
between an initial and terminus point latitudes and longitudes (inverse).
The following runline control parameters can appear in any order:
-I Specifies that the inverse geodesic computation is to be performed. May be used with execution of goed as an alternative to invgeod
-a Latitude and longitudes of the initial and terminal points, forward and back azimuths and distance are output.
-ta A specifies a character employed as the first character to denote a control line to be passed through without processing.
-le Gives a listing of all the ellipsoids that may be selected with the +ellps= option.
-lu Gives a listing of all the units that may be selected with the +units= option.
Format is a printf format string to control the output form of the geographic coordinate values (f) or distance value (F). The
default mode is DMS for geographic coordinates and "%.3f" for distance.
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 with leading zeroes.
-p This option causes the azimuthal values to be output as unsigned DMS numbers between 0 and 360 degrees. Also note -f.
The +args run-line arguments are associated with geodetic parameters for specifying the ellipsoidal or sphere to use. See proj documenta-
tion for full list of these parameters and controls. The options are processed in left to right order from the run line. Reentry of an
option is ignored with the first occurrence assumed to be the desired value.
One or more files (processed in left to right order) specify the source of data to be transformed. A - will specify the location of pro-
cessing standard input. If no files are specified, the input is assumed to be from stdin.
For direct determinations input data must be in latitude, longitude, azimuth and distance order and output will be latitude, longitude and
back azimuth of the terminus point. Latitude, longitude of the initial and terminus point are input for the inverse mode and respective
forward and back azimuth from the initial and terminus points are output along with the distance between the points.
Input geographic coordinates (latitude and longitude) and azimuthal data must be in DMS format and input distance data must be in units
consistent with the ellipsoid major axis or sphere radius units. Output geographic coordinates will be in DMS (if the -f switch is not
employed) to 0.001" with trailing, zero-valued minute-second fields deleted. Output distance data will be in the same units as the ellip-
soid or sphere radius.
The Earth's ellipsoidal figure may be selected in the same manner as program proj by using +ellps=, +a=, +es=, etc.
Geod may also be used to determine intermediate points along either a geodesic line between two points or along an arc of specified dis-
tance from a geographic point. In both cases an initial point must be specified with +lat_1=lat and +lon_1=lon parameters and either a
terminus point +lat_2=lat and +lon_2=lon or a distance and azimuth from the initial point with +S=distance and +A=azimuth must be speci-
If points along a geodesic are to be determined then either +n_S=integer specifying the number of intermediate points and/or +del_S=dis-
tance specifying the incremental distance between points must be specified.
To determine points along an arc equidistant from the initial point both +del_A=angle and +n_A=integer must be specified which determine
the respective angular increments and number of points to be determined.
The following script determines the geodesic azimuths and distance in U.S. stature miles from Boston, MA, to Portland, OR:
geod +ellps=clrk66 <<EOF -I +units=us-mi
42d15'N 71d07'W 45d31'N 123d41'W
which gives the results:
-66d31'50.141" 75d39'13.083" 2587.504
where the first two values are the azimuth from Boston to Portland, the back azimuth from Portland to Boston followed by the distance.
An example of forward geodesic use is to use the Boston location and determine Portland's location by azimuth and distance:
geod +ellps=clrk66 <<EOF +units=us-mi
42d15'N 71d07'W -66d31'50.141" 2587.504
45d31'0.003"N 123d40'59.985"W 75d39'13.094"
Note: lack of precision in the distance value compromises the precision of the Portland location.
Thomas, P.D., 1970, Spheroidal Geodesics, Reference Systems & Local Geometry: U.S. Naval Oceanographic Office, S-138.
2000/03/21 Rel. 4.4 GEOD(1)