Opened 13 years ago
Closed 13 years ago
#1776 closed defect (fixed)
ST_SymDifference involging EMPTY not symmetric
Reported by: | strk | Owned by: | pramsey |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 2.0.1 |
Component: | postgis | Version: | 2.0.x |
Keywords: | Cc: |
Description
strk=# SELECT ST_AsText(ST_SymDifference('POLYGON((0 0, 10 0, 10 10, 0 0))', 'POLYGON EMPTY')); st_astext ------------------------------- POLYGON((0 0,10 0,10 10,0 0)) (1 row) strk=# SELECT ST_AsText(ST_SymDifference('POLYGON EMPTY', 'POLYGON((0 0, 10 0, 10 10, 0 0))')); st_astext --------------- POLYGON EMPTY (1 row)
I belive the first answer is correct and the second should be equal to the first one
Change History (4)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
The code shows this as being intentional:
/* A.SymDifference(Empty) == A */ if ( lwgeom_is_empty(geom2) ) return lwgeom_clone(geom1); /* Empty.DymDifference(B) == Empty */ if ( lwgeom_is_empty(geom1) ) return lwgeom_clone(geom1);
What's the rationale for the second ??? I think it's just plain wrong !
Note:
See TracTickets
for help on using tickets.
See #1775 for a consequence of this