Re: Problem with function... - Mailing list pgsql-sql

From Jie Liang
Subject Re: Problem with function...
Date
Msg-id Pine.BSF.4.21.0012181917240.40098-100000@jliang.ipinc.com
Whole thread Raw
In response to Problem with function...  (jkakar@expressus.com)
List 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@ipinc.com
www.ipinc.com

On Mon, 18 Dec 2000 jkakar@expressus.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@expressus.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@expressus.com            708-1641 Lonsdale Avenue
> V: (604) 988-6999            North Vancouver, BC, V7M 2J5
> 



pgsql-sql by date:

Previous
From: Howard Hiew
Date:
Subject: question on SELECT
Next
From: kumar1@home.com (Prasanth A. Kumar)
Date:
Subject: Re: question on SELECT