Search Postgresql Archives

Re: calculating distance between longitude and latitude

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

 



On Wed, Jun 9, 2010 at 3:02 PM, Geoffrey <lists@xxxxxxxxxxxxxxxxxxxxx> wrote:
> Does postgresql have functions to calculate the distance between two sets of
> longitude and latitude.

for posterity, if you are not:
*) very interested in high performance (that is, ok w/sql implementation)
*) needing super accurate results (ok with GC distance)
*) wanting to deal with dependencies (postgis, earthdistance)
*) interested in gist for indexed spacial searches

try this:

create or replace function gc_dist(_lat1 float8, _lon1 float8, _lat2
float8, _lon2 float8) returns float8 as
$$
  select ACOS(SIN($1)*SIN($3)+COS($1)*COS($3)*COS($4-$2))*6371;
$$ language sql immutable;

I took that from here:
http://www.movable-type.co.uk/scripts/latlong.html

postgres=# select gc_dist(42, -74, 29, -81);
     gc_dist
------------------
 3725.88928230352

results in km.  for serious stuff postgis is definitely the way to go.

merlin

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[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