Re: Problem with function...

From: Jie Liang <jliang(at)jliang(dot)ipinc(dot)com>
To: jkakar(at)expressus(dot)com
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Problem with function...
Date: 2000-12-19 03:21:23
Message-ID: Pine.BSF.4.21.0012181917240.40098-100000@jliang.ipinc.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi, there,

modify the code as following.

Jie LIANG

Internet Products Inc.

10350 Science Center Drive
Suite 100, San Diego, CA 92121
Office:(858)320-4873

jliang(at)ipinc(dot)com
www.ipinc.com

On Mon, 18 Dec 2000 jkakar(at)expressus(dot)com wrote:

> Hi,
>
> I hope my question is appropriate for this list. I'm trying to create
> a function that calculates the distance between a pair of
> latitude/longitude points. This is what I have:
>
> /* latlon_distance.pgsql
> * by Jamu Kakar <jkakar(at)expressus(dot)com>, Dec 18, 2000.
> *
> * Calculates the distance between 2 lat/lon pairs. Syntax:
> * distance (lat1, lon1, lat2, lon2) where parameters are in decimal degrees.
> */
>
> CREATE FUNCTION distance (float8, float8, float8, float8) RETURNS float8 AS '
> DECLARE
> radius constant float8 := 6378;
> distance float8;
> lat1 ALIAS FOR $1;
> lon1 ALIAS FOR $2;
> lat2 ALIAS FOR $3;
> lon2 ALIAS FOR $4;
> BEGIN
> distance := radius * acos ((sin (radians (lat1)) * sin (radians (lat2))) +
> (cos (radians (lat1)) * cos (radians (lat2)) *
> cos (radians (lon1) - radians (lon2))));
> -- RETURN ''distance''; -- here means text instead of float8 which
-- you defined.

===> RETURN distance;
> END;
> ' LANGUAGE 'plpgsql';
>
> When I try a:
>
> select distance(49.0,-122.0,50.0,-123.0) as distance;
>
> I get:
>
> ERROR: Bad float8 input format 'distance'
>
> I've tried a variety of ways of specifying the values and I've hunted
> through the mailing lists but haven't turned up anything useful. Any
> help would be appreciated.
>
> Thanks,
> Jamu.
>
> --
> Jamu Kakar (Developer) Expressus Design Studio, Inc.
> jkakar(at)expressus(dot)com 708-1641 Lonsdale Avenue
> V: (604) 988-6999 North Vancouver, BC, V7M 2J5
>

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Howard Hiew 2000-12-19 05:52:12 question on SELECT
Previous Message jkakar 2000-12-19 01:11:34 Bounds checking on an alias