Thread: Bug? (geo operator @ )

Bug? (geo operator @ )

From
Daniel Lau
Date:
Hi all,

I was to extract the '_lines' (path) if the lines are contained or on by a
box-like polygon. The result turns wrong if the box-like polygon is
changed from a square (x_max = y_max) to a rectangle (x_max <> y_max).
Please read the example at the end.

Please also notice that although the _lines #2 is contained by both square
and rectangle, it does not appear in both table.

I am wondering if it is a bug. Perhapes I did something wrong?

regards,
Daniel Lau
Hong Kong University of Science and Technology


Example:
_____________________________________________________________________

test=# select * from test;
 geoid |                _lines
-------+---------------------------------------
     0 | ((0,0),(1,1))
     1 | ((1,1),(0,0))
     2 | ((833749,820999),(844362,821001))
     3 | ((1000000,1000000),(1000001,1000001))
     4 | ((0,0),(1,1),(3,-1))
(5 rows)

test=# select * from test  where polygon(pclose(_lines)) @ polygon
'(-2,-2),(850000,850000)';
 geoid |    _lines
-------+---------------
     0 | ((0,0),(1,1))
     1 | ((1,1),(0,0))
(2 rows)

test=# select * from test  where polygon(pclose(_lines)) @ polygon
'(-2,-2),(840000,850000)';
 geoid | _lines
-------+--------
(0 rows)

Re: Bug? (geo operator @ )

From
Tom Lane
Date:
Daniel Lau <iedaniel@ust.hk> writes:
> I was to extract the '_lines' (path) if the lines are contained or on by a
> box-like polygon. The result turns wrong if the box-like polygon is
> changed from a square (x_max = y_max) to a rectangle (x_max <> y_max).

The examples you give are not "box-like"; they are in fact just line
segments.  You need four points to define a box-like polygon.

AFAICS the quoted example is correct behavior.

            regards, tom lane

Re: Bug? (geo operator @ )

From
Daniel Lau
Date:
Thank you for answering my question.
I made a careless mistake.

regards,
Daniel

On Mon, 22 Dec 2003, Tom Lane wrote:

> Daniel Lau <iedaniel@ust.hk> writes:
> > I was to extract the '_lines' (path) if the lines are contained or on by a
> > box-like polygon. The result turns wrong if the box-like polygon is
> > changed from a square (x_max = y_max) to a rectangle (x_max <> y_max).
>
> The examples you give are not "box-like"; they are in fact just line
> segments.  You need four points to define a box-like polygon.
>
> AFAICS the quoted example is correct behavior.
>
>             regards, tom lane
>