Opened 13 years ago
Closed 13 years ago
#1116 closed defect (fixed)
Topology: ST_ModEdgeHeal return undocumented
Reported by: | aperi2007 | Owned by: | strk |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 2.0.0 |
Component: | documentation | Version: | master |
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 (2)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Component: | topology → documentation |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Summary: | Topology: ST_ModEdgeHeal return wrong id → Topology: ST_ModEdgeHeal return undocumented |
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…