Ответ 1
Кажется, вы измеряете расстояние (R) в метрах и подшипник (тета) против часовой стрелки от востока. И для ваших целей (глубины метров) плоская геометрия должна быть достаточно точной. В этом случае
dx = R*cos(theta) ; theta measured counterclockwise from due east
dy = R*sin(theta) ; dx, dy same units as R
Если theta измеряется по часовой стрелке из-за севера (например, подшипники компаса), расчет для dx и dy несколько отличается:
dx = R*sin(theta) ; theta measured clockwise from due north
dy = R*cos(theta) ; dx, dy same units as R
В любом случае изменение в градусах долготы и широты:
delta_longitude = dx/(111320*cos(latitude)) ; dx, dy in meters
delta_latitude = dy/110540 ; result in degrees long/lat
Разница между константами 110540 и 111320 обусловлена срывом земли (полярная и экваториальная окружности различны).
Здесь приведенный пример, используя параметры из более позднего вашего вопроса:
Учитывая начальное местоположение на долготе -87.62788 градусов, широта 41.88592 градусов, найдите координаты точки в 500 метрах к северо-западу от места начала.
Если мы измеряем углы против часовой стрелки из-за востока, "северо-запад" соответствует до тета = 135 градусов. R - 500 метров.
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