Search Postgresql Archives

input out of error with haversine formula

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following will return an input out of error as the acos() function cannot be -1 <= x <= 1.

SELECT * FROM
                (SELECT *, (3959 * acos(cos(radians(37.7438640)) * cos(radians(37.7438640)) * cos(radians(-97.4631299) - 
                radians(-97.4631299)) + sin(radians(37.7438640)) * sin(radians(37.7438640))))
                AS distance
                FROM foo) AS distances
                WHERE distance < 10
                ORDER BY distance

If I break this down the following returns 1:
SELECT (cos(radians(37.7438640)) * cos(radians(37.7438640)) * cos(radians(-97.4631299) - radians(-97.4631299)) + sin(radians(37.7438640)) * sin(radians(37.743864000)));

acos(1) would give me 0.

Thoughts or workaround suggestions?

Thanks.
--Vince--

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux