Ticket #1116 (closed defect: fixed)

Opened 23 months ago

Last modified 23 months ago

Topology: ST_ModEdgeHeal return undocumented

Reported by: aperi2007 Owned by: strk
Priority: medium Milestone: PostGIS 2.0.0
Component: documentation Version: trunk
Keywords: Cc:

Description

Hi. try-ing to use the ST_ModEdgeHeal I notice the function return wrong idedge.

More precisely it seem to do the correct work assigning also the correct value (idedge), but not always retrun that value.

So I to some tests. This is the result:

calling EdgeA (with value id1) the first edge and EdgeB (with value id2) the second edge, the function should merge the two edges and assign it the value of the first edge passed ("id1").

There are 4 possible case: (the character > < show the direction of the edge)

Case 1)

*-(EdgeA)->--* *-(EdgeB)->--*

The Function correctly produce a edge (EdgeC) like this:

*-(EdgeC)-->-----* having id=id1.

But the query select STModEdgeHeal(..); will return the value "id2" instead of "id1".

Case 2)

*-(EdgeA)-<--* *-(EdgeB)->--*

The Function correctly produce a edge (EdgeC) like this:

*-(EdgeC)-->-----* having id=id1. In this case the function ST_ModEdgeHeal will return the right value (id1)

Case 3)

*-(EdgeA)->--* *-(EdgeB)-<--*

The Function correctly produce a edge (EdgeC) like this:

*-(EdgeC)-->-----* having id=id1.

But the query will return a value different from "id1"

Case 4)

*-(EdgeA)-<--* *-(EdgeB)-<--*

The Function correctly produce a edge (EdgeC) like this:

*-(EdgeC)--<-----* having id=id1.

In this case the function ST_ModEdgeHeal will return the right value (id1)

Regards,

Change History

Changed 23 months ago by strk

ST_ModEdgeHeal returns a _node_ identifier (the node being deleted by the operation), not an _edge_ identifier. I've updated the documentation in r7624.

The ISO specs say the function should not have a return, I tought it could have been useful to know abot the node id...

Changed 23 months ago by strk

  • status changed from new to closed
  • resolution set to fixed
  • component changed from topology to documentation
  • summary changed from Topology: ST_ModEdgeHeal return wrong id to Topology: ST_ModEdgeHeal return undocumented
Note: See TracTickets for help on using tickets.