views:

116

answers:

3

I'm trying to solve this assignment and it's taking too much time:

Here's my try, it's just a snippet of my code:

final double RADIUS = 6371.01;
double temp = Math.cos(Math.toRadians(latA))
            * Math.cos(Math.toRadians(latB))
            * Math.cos(Math.toRadians((latB) - (latA)))
            + Math.sin(Math.toRadians(latA))
            * Math.sin(Math.toRadians(latB));
    return temp * RADIUS * Math.PI / 180;

I am using this formulae to get the latitude and longitude: x = Deg + (Min + Sec / 60) / 60)

I would like to say that I have no idea what I am doing, I just wanna finish this part so I can concentrate on the rest.

Thanks

+3  A: 

Here is a page with javascript examples for various spherical calculations. The very first one on the page should give you what you need.

http://www.movable-type.co.uk/scripts/latlong.html

Here is the Javascript code

var R = 6371; // km
var dLat = (lat2-lat1).toRad();
var dLon = (lon2-lon1).toRad(); 
var a = Math.sin(dLat/2) * Math.sin(dLat/2) + 
        Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) *
        Math.sin(dLon/2) * Math.sin(dLon/2); 
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
var d = R * c;

Where 'd' will hold the distance.

Chris Taylor
A: 

This wikipedia article provides the formulae and an example. The text is in german, but the calculations speak for themselves.

zellus