Groovy - Distância no plano esférico entre coordendas latitude longitude
- Shimotsu Lyu
- 7 de ago. de 2022
- 1 min de leitura
Exemplo 1
re = 6371
ajuste = 1
A = Math.cos(Math.toRadians(posto[0]))Math.cos(Math.toRadians(posto[1]))Math.cos(Math.toRadians(usuario[0]))Math.cos(Math.toRadians(usuario[1]))
B = Math.cos(Math.toRadians(posto[0]))Math.sin(Math.toRadians(posto[1]))Math.cos(Math.toRadians(usuario[0]))Math.sin(Math.toRadians(usuario[1]))
C = Math.sin(Math.toRadians(posto[0]))Math.sin(Math.toRadians(usuario[0]))
distancia = reMath.acos(A+B+C)ajuste;
println "\n${distancia}"
Exemplo 2
re = 6371
ajuste = 1.1515
A = Math.sin(Math.toRadians(posto[0]))Math.sin(Math.toRadians(usuario[0]))
B = Math.cos(Math.toRadians(posto[0]))Math.cos(Math.toRadians(usuario[0]))Math.cos(Math.toRadians(posto[1]-usuario[1]))
distancia = Math.acos(A+B)
distancia = distancia * re * ajuste
distancia = distancia * 0.8684
println "\n${distancia}"
Comentarios