Wygląda na to, że mierzysz odległość (R) w metrach, a łożysko (theta) przeciwnie do ruchu wskazówek zegara z powodu na wschód. I dla twoich potrzeb (setki metrów) geometria samolotu powinna być wystarczająco dokładna. W tym przypadku,
dx = R*cos(theta) ; theta measured counterclockwise from due east
dy = R*sin(theta) ; dx, dy same units as R
Jeśli teta jest mierzona w prawo od na północ (na przykład łożysk kompas) obliczenie dla dx i dy jest nieco inna:
dx = R*sin(theta) ; theta measured clockwise from due north
dy = R*cos(theta) ; dx, dy same units as R
w każdym przypadku zmiana stopnia długości i szerokości jest:
delta_longitude = dx/(111320*cos(latitude)) ; dx, dy in meters
delta_latitude = dy/110540 ; result in degrees long/lat
różnica pomiędzy stałymi 110540 i 111320 są ze względu na ziemi spłaszczenia (obwody biegunowe i równikowe są różne).
Oto obrobionych przykład, za pomocą parametrów z późniejszym pytanie do Ciebie:
Biorąc pod uwagę położenie startu na długości -87.62788 stopni, szerokość geograficzna 41.88592 stopni, znaleźć współrzędne punktu 500 metrów na północny zachód od początku Lokalizacja.
Jeśli mierzymy kąty w kierunku przeciwnym do ruchu wskazówek zegara od wschodu, "północny zachód" odpowiada na theta = 135 stopni. R to 500 metrów.
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
Może to jest pomocne http://www.meridianworlddata.com/Distance-Calculation.asp – stacker