On Sat, Oct 02, 2004 at 07:09:25PM -0400, Tom Lane wrote:
> mike cox <[EMAIL PROTECTED]> writes:
> > The distance from Portland to Seattle is not 128862
> > miles.
> 
> How about 128.8 kilometers?  The earthdistance docs say it's in meters
> unless you've redefined the base unit.

128.8 kilometers is about 80 miles; the distance from Portland to
Seattle is more like 150 miles.

> > earth_distance(ll_to_earth('122.55688','45.513746'),ll_to_earth('122.396357','47.648845'));

I haven't played with earthdistance, but I'd guess that the arguments
to ll_to_earth should be (latitude, longitude) instead of (longitude,
latitude).

Here are some queries from my own implementation of the haversine
function, which is another way to measure distances on a sphere:

=> select haversine(122.55688, 45.513746, 122.396357, 47.648845);
    haversine     
------------------
 79.9258188445352

That distance is miles, which is almost exactly equivalent to the
128.8km figure from earth_distance().  Correcting the order of the
arguments gives this:

=> select haversine(45.513746, 122.55688, 47.648845, 122.396357);
    haversine     
------------------
 147.614987754694

That's more like the true distance in miles between Portland and
Seattle

-- 
Michael Fuhr
http://www.fuhr.org/~mfuhr/

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to