[postgis-users] (Bug?) Strange Behavior with ST_SymDifference (line, surface)
Sandro Santilli
strk at keybit.net
Fri Sep 27 06:26:07 PDT 2013
Your ascii art doesn't render correctly with fixed font,
unfortunately. Anyway I think I understood the issue.
I belive the problem is with mix of dimensions.
A line has 1 dimension only, by definition.
If we had to make "space" to subtract the points that
compose that line, how much space would those points take ?
Points have even less dimension: 0...
It's like subtracting points from an area and expecting
to see holes in it. Does it sound ?
--strk;
On Fri, Sep 27, 2013 at 02:52:42PM +0200, Rémi Cura wrote:
> hey,
> I'm experiencing a strange behavior with ST_SymDifference
> :<http://postgis.net/docs/manual-2.0/ST_SymDifference.html>
>
> When doing symdiff of a line and a surface, I get the same surfaces with
> added points on surfaces boundary (where line crossed surface).
>
> Example :
> ___________
> *├---------┤*
> -------------------
>
> gives
> ___________
> *| |***
> -------------------
>
> I read the SQL MM definition
> (here<http://jtc1sc32.org/doc/N1101-1150/32N1107-WD13249-3--spatial.pdf>,
> page 67-68-69), and I found no trace of behavior with line against
> surfaces.
>
> Mathematically , if we take for definition the union without the
> intersection, the result is false (no point on the line should be in the
> result, yet they are).
>
> I was expecting as output one polygon each side of the line (ie 2 polygons).
>
> I would appreciate any thoughts about this.
> Cheers,
>
> Rémi-C
> PS : I know I can use ST_Split or other tricks for the same result in this
> simple case, but not so easily for trickier case.
More information about the postgis-users
mailing list