[postgis-users] postgis topology strange behavior

Sandro Santilli strk at keybit.net
Mon Feb 24 07:38:44 PST 2014


On Mon, Feb 24, 2014 at 03:06:04PM +0000, Gonçalo Revez wrote:
> On Mon, Feb 24, 2014 at 1:53 PM, Sandro Santilli <strk at keybit.net> wrote:

> > Does ValidateTopology catches that error ?
> 
> *G: No the validation doesn't catch any error.*

My bet is that there isn't any.

> > In the topology primitives tables there are no polygons, the errors
> > you're after are overlapping or crossing edges, can you find them ?
> 
> *G: yes, the edges, 2 and 6,  are overlapped (or seems to).*

Eye isn't a good tool, nor rasterized computer.
It takes math to tell (I know, had to believe in just math).

> *Shouldn't be create an edge between the part both edges share (and created
> a node) ?*

Possibly. I've some ideas in mind about how to obtain that
but no time to explore further.

For now it depends on the order:
if you place the edge first,
 placing the node will NOT snap the pre-existing edge to it;
if you place the nod first,
 then you get the snap.

> > Can it be you're referring to TopoGeometry overlap ?
> > Those ones are not errors, but perfectly leagal situations.
> > You can find them by counting the number of TopoGeometry objects
> > each topolgy face primitive contributes to.
> > Faces with count > 1 are overlaps, faces with count < 1 are "gaps".
> 
> *G: I have 3 polygons, 3 topoGeometry and 3 faces (and face 0). It didn't
> create gaps.*

There could be an unclosed gap between any 2 adjacent faces.
The universe face getting into them. Count the edges...

> *If i tried to insert the third polygon again, meaning, duplicate the
> topogeometry table record, and then using the same faceid , i get *
> 
> *the error: geometry intersects edge 6*

That's a robustness bug, snapping confuses the construction methods
in a way that the edges become slippery  :/

--strk;


More information about the postgis-users mailing list