help-gnu-emacs
[Top][All Lists]

## Re: distance from Easter Island to Chile

 From: Emanuel Berg Subject: Re: distance from Easter Island to Chile Date: Mon, 21 Apr 2014 03:40:06 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

```address@hidden writes:

>> I get an answer of 4301.199
>
> me too

I get that too. We all get the same result - it is a
function that maps input (in a deterministic way) to
output. Provided the implementation is correct that's
what you get with the Haversine method.

> (progn
>   (defun d2r (x) (/ (* pi x) 180))
>   (defun spherical-law-of-cosines (p1 p2)
>     "http://en.wikipedia.org/wiki/Great-circle_distance#Formulas";
>     (let ((lat1 (car p1)) (lon1 (cadr p1))
>         (lat2 (car p2)) (lon2 (cadr p2)))
>       (acos (+ (* (sin lat1) (sin lat2))
>              (* (cos lat1) (cos lat2) (cos (- lon2 lon1)))))))
>
>   (setq santiago (mapcar 'd2r '(33.4500  70.6667)))
>   (setq easter_i (mapcar 'd2r '(27.1167 109.3667)))
>   (insert (format "\nEaster Island to Santiago distance is%8.2f km."
>                   (* (spherical-law-of-cosines
>   santiago easter_i) 6378.1))))

That's uncanny close to the Googled distance! - that
means the Earth is very, very spherical, I take it?

This is so exact it *could* be used in those "school
essays" (in which I told not to use the Haversine
method) - one is even tempted to suspect that this
formula is what they used - possibly adding or
subtracting some (empirical) constant?

Awesome stuff!