Parece que está midiendo la distancia (R) en metros, y teniendo (theta) en sentido antihorario desde el este hacia el este. Y para sus propósitos (cientos de metros), la geometría del plano debería ser lo suficientemente precisa. En ese caso,
dx = R*cos(theta) ; theta measured counterclockwise from due east
dy = R*sin(theta) ; dx, dy same units as R
Si theta se mide en sentido horario desde el norte (por ejemplo, cojinetes de brújula), el cálculo para dx y dy es ligeramente diferente:
dx = R*sin(theta) ; theta measured clockwise from due north
dy = R*cos(theta) ; dx, dy same units as R
En cualquier caso, la cambio en grados de longitud y latitud es:
delta_longitude = dx/(111320*cos(latitude)) ; dx, dy in meters
delta_latitude = dy/110540 ; result in degrees long/lat
la diferencia entre las constantes 110540 y 111320 se debe a la tierra de achatamiento (las circunferencias polares y ecuatoriales son diferentes).
Aquí está un ejemplo práctico, utilizando los parámetros de una pregunta posterior de los suyos:
Dada una ubicación de inicio en longitud -87.62788 grados, latitud 41.88592 grados, encontrar las coordenadas del punto 500 metros al noroeste desde el principio ubicación.
Si estamos midiendo los ángulos en sentido antihorario desde el este hacia el este, "noroeste" corresponde a theta = 135 grados. R es 500 metros.
dx = R*cos(theta)
= 500 * cos(135 deg)
= -353.55 meters
dy = R*sin(theta)
= 500 * sin(135 deg)
= +353.55 meters
delta_longitude = dx/(111320*cos(latitude))
= -353.55/(111320*cos(41.88592 deg))
= -.004266 deg (approx -15.36 arcsec)
delta_latitude = dy/110540
= 353.55/110540
= .003198 deg (approx 11.51 arcsec)
Final longitude = start_longitude + delta_longitude
= -87.62788 - .004266
= -87.632146
Final latitude = start_latitude + delta_latitude
= 41.88592 + .003198
= 41.889118
Tal vez esto sea útil http://www.meridianworlddata.com/Distance-Calculation.asp – stacker