Обсуждение: Bug? (geo operator @ )
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)
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
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 >