postgres 9.2.2 point conversion from polygon doesn't always give accurate center - Mailing list pgsql-bugs

From Colin Dunklau
Subject postgres 9.2.2 point conversion from polygon doesn't always give accurate center
Date
Msg-id CAMTx_3Aa-JYja-=yUqtRQ92DNLVrbmrFBEySPV2h1sMwZZaDJw@mail.gmail.com
Whole thread Raw
Responses Re: postgres 9.2.2 point conversion from polygon doesn't always give accurate center  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: postgres 9.2.2 point conversion from polygon doesn't always give accurate center  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-bugs
Hello! I believe I've found a bug in the type conversion process from
polygon to point.

In the documentation found here
http://www.postgresql.org/docs/9.2/interactive/functions-geometry.html,

Table 9-32 claims that running the point() function on a polygon
returns the "center of polygon". This is not the case for some
polygons, as shown below.

I'm running postgres 9.2.2, on Mac 10.8. This is a fresh install of
Postgres.app from http://postgresapp.com/ :

frink:~ cdunklau$ psql
psql (9.2.2)
Type "help" for help.

For the below two queries, I expect to get a result of (0.5, 0.5).

cdunklau=# select point( polygon '((0,0),(0,1),(1,1),(0,1))');
    point
-------------
 (0.25,0.75)
(1 row)

cdunklau=# select point( polygon '((0,0),(1,0),(1,1),(1,0))');
    point
-------------
 (0.75,0.25)
(1 row)


The conversion does indeed work as expected for other polygons:

cdunklau=# select point( polygon '((-1,-1),(-1,1),(1,1),(1,-1))');
 point
-------
 (0,0)
(1 row)


Please let me know if you have problems reproducing this error, or if
I can assist in any way to isolate the problem. I had hoped to use the
type conversion to replace center-finding application logic, but it
appears I'll need to keep the application logic at least until this
bug is fixed.

Best regards,

Colin Dunklau

pgsql-bugs by date:

Previous
From: morgan.huot@altran.com
Date:
Subject: BUG #7845: Error (0x00002747/10055) and Srv Error id: 2019
Next
From: Tom Lane
Date:
Subject: Re: Violation of primary key constraint