Subroutine to calculate a latitude and longitude given
a distance and direction from a known latitude and longitude
or from a known UTMy and UTMx.
"a" = argument, "r" = referenced, "s" = set
call deadreckon (with the following arguments)
OldLatitude [variable r*8 r]
OldLongitude [variable r*8 r]
Course [variable r*4 r]
Distance [variable r*4 r]
NewLatitude [variable r*8 s]
NewLongitude [variable r*8 s]
where all variables are passed into subroutine...
OldLatitude, OldLongitude = last known position
in decimal degrees or UTM's
Course = positive, clockwise degrees from north (0.0 --> 359.
Distance = distance in meters from old position
passed out of subroutine...
NewLatitude, NewLongitude = new position in decimal degrees
dble (FORTRAN intrinsic function)
dsind (FORTRAN intrinsic function)
dcosd (FORTRAN intrinsic function)
sngl (FORTRAN intrinsic function)
geoutm (External DAPS shareable subroutine)
Although this program has been used by the U.S. Geological Survey,
no warranty, expressed or implied, is made by the Survey as to the
accuracy and functioning of the program and related program
material nor shall the fact of distribution constitute any such
warranty, and no responsibility is assured by the Survey in
Clint Steele 6/23/88
modified from gridco by...
Paul Celluzzi 4/01/76 original GDCO and UTMCON
IBM 370 under 360 O/S
Paul Celluzzi 6/01/77 conversion to Honeywell/Multics
Clint Steele 1/31/84 conversion to VAX/VMS
B. Blubaugh 11/04/85 rewrite output formats
Clint Steele 3/23/92 added ability to input UTMs
Michael Hamer 2/17/94 fixed positive long. utm zone calc.
Michael Hamer 2/17/94 corrected azimuth calculation
Michael Hamer 8/11/97 made course and distance doubles
Carolyn Degnan 9/23/04 Added implicit none.
read (5, '(i)') Zone
* ( 1, OldLatitude, OldLongitude, UTMX, UTMY, Zone)
* (2, NewLatitude, NewLongitude, UTMX, UTMY, ZONE)