aboutsummaryrefslogtreecommitdiff
path: root/contrib/earthdistance/earthdistance.sql.in
blob: fdb4552f8aab630797628ebd6734bf137b151d8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
--------------- geo_distance

DROP FUNCTION geo_distance (point, point);
CREATE FUNCTION geo_distance (point, point) RETURNS float8
  AS 'MODULE_PATHNAME' LANGUAGE 'c';

SELECT geo_distance ('(1,2)'::point, '(3,4)'::point);

--------------- geo_distance as operator <@>

DROP OPERATOR <@> (point, point);
CREATE OPERATOR <@> (
  leftarg = point,
  rightarg = point,
  procedure = geo_distance,
  commutator = <@>
);

-- ( 87.6, 41.8) is in Chicago
-- (106.7, 35.1) is in Albuquerque
-- The cities are about 1100 miles apart
SELECT '(87.6,41.8)'::point <@> '(106.7,35.1)'::point;