как получить азимут и высоту из векторов enu - PullRequest
1 голос
/ 04 апреля 2019

Как вы получаете азимут и высоту от одного вектора enu к другому вектору enu?

Будет полезна ссылка на формулу или фрагмент кода. Я не получаю много информации при поиске.

1 Ответ

0 голосов
/ 04 апреля 2019

Вы можете рассчитать азимут и углы места между векторами Восток-Север (x,y,z) и (u,v,w), используя следующее:

  1. Вычтите векторы: (x,y,z) - (u,v,w) = (x-u,y-v,z-w) = (x',y',z')
  2. Вычислить угол азимута: a = arctan(x'/y') = arctan((x-u)/(y-v))
  3. Вычислить угол места: e = arctan(z'/y') = arctan((z-w)/(y-v))

В Python:

v1 = np.array([3,4,4])
v2 = np.array([1,2,6])
v = v1 - v2

a = np.degrees(np.arctan(v[0]/v[1]))
e = np.degrees(np.arctan(v[2]/v[1]))

print('azimuth = '+str(a)+', elevation = '+str(e))

Вывод:

azimuth = 45.0, elevation = -45.0

Azimuth and Elevation

(Источник изображения)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...