2014-11-25 4 views
0

Я прочитал некоторый код и увидел этот метод:Почему distanceTo() недостаточно для вычисления расстояния?

private double calculateDistance(Coordinate coordinate1, Coordinate coordinate2) { 
    return coordinate1.distance(coordinate2) * (Math.PI * 6371.0)/ 180; 
} 

Do кто имеет представление о том, почему это последняя часть, необходимую для расчета?

* (Math.PI * 6371.0)/ 180;?

+1

[Galileo] (http://en.wikipedia.org/wiki/Galileo_Galilei) (т. Е. Земля не плоская) –

+3

@RC Heresy! Еретик! –

ответ

1

6371.0 выглядит как the Earth's radius in km. Умножение на Math.PI/180 преобразует градусы в радианы.

Это расстояние в радианах до километров.