Remove branches/gpst-breakfix/, it has its own branch now.
[gpstools.git] / branches / gpst.xml-option / postgres / create_funcs.sql
blob3eea4232f7a7dc313d3d95d9b11a7ebad703bde0
1 -- $Id$
3 -- Returnerer navnet på det nærmeste veipunktet i wayp.
4 DROP FUNCTION clname(point);
5 CREATE OR REPLACE FUNCTION clname(point) RETURNS text
6 AS $$
7 SELECT name FROM (
8         SELECT
9             name,
10             ($1 <-> coor)
11             AS avs
12             FROM wayp
13             WHERE ($1 <-> coor) < 0.05
14             ORDER BY avs
15             LIMIT 1
16     ) AS s;
17 $$ LANGUAGE SQL;
19 -- Returnerer avstanden (i grader) til det nærmeste veipunktet i wayp.
20 DROP FUNCTION cldist(point);
21 CREATE OR REPLACE FUNCTION cldist(point) RETURNS numeric
22 AS $$
23 SELECT round(avs::numeric, 5) FROM (
24         SELECT
25             ($1 <-> coor)
26             AS avs
27             FROM wayp
28             WHERE ($1 <-> coor) < 0.05
29             ORDER BY avs
30             LIMIT 1
31     ) AS s;
32 $$ LANGUAGE SQL;
34 -- Returnerer antall sekunder sia midnatt for en dato.
35 DROP FUNCTION secmidnight(timestamptz);
36 CREATE OR REPLACE FUNCTION secmidnight(timestamptz) RETURNS double precision
37 AS $$
38 SELECT extract(hour from $1) * 3600 + extract(minute from $1) * 60 + extract(second from $1);
39 $$ LANGUAGE SQL;