USER DOCUMENTATION
Programs : INVERSE, FORWARD, INVERS3D, FORWRD3D
Versions 2.0


Introduction
The geodetic inverse, program INVERSE, is the tool for computing the geodetic azimuth and distance between two points, given their latitudes and longitudes.

The geodetic forward, program FORWARD, is the tool for computing the latitude and longitude of a point, given the latitude and longitude of a starting point and the geodetic azimuth and geodetic distance between the points.

The three-dimensional versions of the geodetic inverse and geodetic forward, programs INVERS3D and FORWRD3D, include the ellipsoid height component. Also included in the 3D programs are:

1) Conversions between geodetic positions (latitude, longitude, and ellipsoid height) and rectangular coordinates (X,Y,Z in the Conventional Terrestrial Reference System).

2) Conversions between the following four observation sets: Hardware Requirements
Programs INVERSE, FORWARD, INVERS3D, and FORWRD3D are all written in Fortran77 and compiled on an IBM-PC or compatible. User Instructions
All four programs run interactively; prompts are given for input, and the output is directed to the screen. Simply type the name of the desired program, then answer the prompts as they appear. Once all the prompts have been answered, the output will appear on the screen. A prompt is given for saving the output into a file, if desired.

Programs INVERSE and FORWARD allow the user to select from the following list of reference ellipsoids for the computations:

Please note that the GRS80 and WGS84 are considered to be the same. Actually, there is a very small difference in the flattening which results in the semi-minor axis, b, being different by 0.0001 meters. There is no known application for which this difference is significant.

The user is given the option of defining their own reference ellipsoid in whatever units they prefer. (If, for example, the user wishes to define the semi-major and semi-minor axes in miles, they may do so. The units for the geodetic distance would then be given in miles also.) The units for all the listed reference ellipsoid are given in meters, and therefore the distances are also in meters.

Programs INVERS3D and FORWRD3D work exclusively on the GRS80 ellipsoid and the units are meters.

Note 1
Program FORWRD3D will do a conversion from mark-to-mark distance to ellipsoidal distance, if a mark-to-mark distance is given as input. The first approximation is computed using formulas given in the NOAA Technical Memorandum NOS NGS-10, Use of Calibration Baselines, pages 26-27. These formulas are generally good for distances less than 100 kilometers. The program will then do a forward computation using the computed ellipsoidal distance. The mark-to-mark distance is then recomputed from the resulting DX,DY,DZ. If the difference between the computed mark-to-mark distance and the original mark-to-mark distance is greater than one millimeter, then the difference is applied to the ellipsoidal distance and another forward computation is performed. The program will continue iterating in this fashion until convergence.

Note 2
All four programs read the input geodetic positions as real numbers (latitudes are positive North, and longitudes are positive East), then convert them to radians for internal computations. The conversion is done as follows:

radians = ( pi / 180 ) * (degrees + minutes/60 + seconds/3600)

The programs return the input values after :

Note 3
The standpoint and forepoint cannot be either the North or South pole.



Some example latitude inputs are:


Some example longitude inputs are:



Sample Outputs From Programs INVERSE and FORWARD

Example 1:






Example 2:





Sample Outputs From Programs INVERS3D and FORWRD3D

Example 3 (FORWRD3D):

For Sample Input:

Sample Output:

For Sample Input:

Sample Output: