Re: text to point conversion not working. ( cannot cast - Mailing list pgsql-general

From Stephan Szabo
Subject Re: text to point conversion not working. ( cannot cast
Date
Msg-id 20060928050022.K48861@megazone.bigpanda.com
Whole thread Raw
In response to text to point conversion not working. ( cannot cast type text to point )  (Dan Libby <dan@libby.com>)
List pgsql-general
On Wed, 27 Sep 2006, Dan Libby wrote:

> Background:
>
> I have a hierarchical table where I have coordinate data for only the leaf
> nodes.  I therefore want to find the center of all the leaf nodes under a
> given parent node, and set the parent node coordinate to that center point.
>
> I can calcululate that center point using aggregate functions (min, max) to
> find the necessary x,y values.    So my query would look something like this:
>
> update parent_table set col =
> (select (max(pnt[0])-min(pnt[0]))/2+min(pnt[0]) || ',' ||
> max(pnt[1])-max(pnt[1])/2+min(pnt[1])  from point_tmp where condition)
> where condition2 ;
>
> Where point_tmp.tmp is defined as a point column.
>
> However, when I try to do it, I get a similar error:
>
>    column "col" is of type point but expression is of type text
>
> If the above task can be performed some other way, perhaps I don't require
> string concatenation....

I don't have 8.0.x to check, but there's likely a
point(double precision, double precision) function you can use.

pgsql-general by date:

Previous
From: "A. Kretschmer"
Date:
Subject: Re: Definition of return types for own functions?
Next
From: Tom Lane
Date:
Subject: Re: 'pg_ctl -w' times out when unix_socket_directory is