valor errado da função atan2 no Excel

valor errado da função atan2 no Excel

Estou tentando calcular o ângulo entre duas latitudes e longitudes, mas estou obtendo resultados errados atan2(X,Y)quando usado no Excel.

β = atan2(X,Y) = atan2(0.05967668696, -0.00681261948)

Deveria ser 1,68 radiano (96,51°), mas no Excel está mostrando -0,113666736 (-6,512624235°)

β = atan2(X,Y),

onde, X e Y são duas quantidades e podem ser calculados como:

  • X =cos θb * sin ∆L
  • S =cos θa * sin θb – sin θa * cos θb * cos ∆L

    Latitude/Longitude(1): (Lat1,Lon1)= 39,099912, -94,581213

    Latitude/Longitude(2): (Lat2,Lon2)= 38,627089, -90,200203

    ‘L’            be the longitude,
    ‘∆L=lon2-lon1’ be the difference of longitude,
    ‘θ’            be latitude,
    ‘β‘            be Bearing
    

Responder1

O problema é que o Excel usa a função Atan2(sim,x) em vez de (x, y). Em C, Atan2 usa parâmetros (x,sim) que lhe dará a resposta que você esperava. Basta mudar seus parâmetros.

Cerca de seis anos atrasado para a resposta, mas espero que alguém ache isso útil haha.

Responder2

  1. Não há nada de errado com atan2(X,Y)a função no Excel: o ponto que você especificou '(0,05967668696, -0,00681261948)' está no quarto quadrante, ou seja, seu ângulo é na verdade '-6,51°'.

  2. Mas se você quiser calcular um valor 'absoluto' de ângulo entre dois pontos geográficos, você deve usar uma diferença absoluta entre coordenadas:

      β=ATAN2(ABS(0.05967668696), ABS(-0.00681261948))
    
  3. Lembre-se que se este cálculo for sobre uma esfera (Terra), é uma aproximação por causa do triângulo circular. Está tudo bem para ângulos pequenos.

informação relacionada