Рассчитать расстояние между точками заданными географическими координатами.
тоесть, есть 2 точки А и В координаты А(latitude,longitude) и В(latitude,longitude)
latitude-шырота
longitude- долгота
нужно получить расстояние между етими точками точками в милях
И ещо, нужно вычислить окружность по компасу между етими географическими точками.
Уменя эсть код функции на java вотCode
public double distanceTo(GeoPoint gp) {
if (gp!=null){
double pi_div_180=Math.PI/180;
double lat1=latitude*pi_div_180;
double lon1=longitude*pi_div_180;
double lat2=gp.latitude*pi_div_180;
double lon2=gp.longitude*pi_div_180;
double Rz=6371*0.621371192;//радиус земли в милях
double d=Math.sin(lat1)*Math.sin(lat2)+Math.cos(lat1)*Math.cos(lat2)*Math.cos(lon1-lon2);
d=Math.acos(d);
d=d*Rz;
return d;//*/
}
throw new RuntimeException("Not yet implemented");
}
но она щитает не всегда верно, не могу поняь причину....
Буду рад любой инфе....
Зарание спасибо!!!!