Opened 9 years ago

Last modified 17 months ago

#1224 new enhancement

Provide a topology.ST_ValidateTopology as per ISO specs

Reported by: strk Owned by: strk
Priority: medium Milestone: PostGIS Fund Me
Component: topology Version: master
Keywords: Cc:


The sql/mm specs require an ST_ValidateTopology function. We have a ValidateTopology? (w/out the ST_ prefix) because we do something more than the prescribed checks.

This ticket is for reviewing the SQL/MM prescriptions and make sure there's nothing missing + adding the standard entrypoint.

Change History (10)

comment:1 Changed 9 years ago by strk

Milestone: PostGIS 2.0.0PostGIS 2.1.0

comment:2 Changed 8 years ago by strk

Type: defectenhancement

comment:3 Changed 8 years ago by robe

Milestone: PostGIS 2.1.0PostGIS 2.2.0

comment:4 Changed 7 years ago by strk

I think we're missing a check for face=0 never appearing within another face. Not sure this is in the specs, altough I remember something about checking for "no face within face". I guess the same hold for all faces: they should result in polygons with no holes. Moreover, face 0 may be a multipolygon while other faces should be single polygon.

comment:5 Changed 6 years ago by remic

I don't know if it is in the spec, but ValidateTopology? doesn't check edge-linking (that is, that for each edge, next_left_edge and next_right_edge are correct).

We could use a function I wrote on the whole topology: rc_RecomputeEdgeLinking(topology_name TEXT, nodes_to_update INT[] ). If it returns something, it means there were errors (that were corrected).

I'm not sure either that ValidateTopology? check that left_face and right_face are correctly set.


comment:6 Changed 6 years ago by strk

Uhm, good point about the possibility that edge linking checks are not in the specs. Indeed, better file another ticket to request edge linking checks are added to the existing ValidateTopology? function (never trust specs!!)

comment:7 Changed 6 years ago by strk

See #3042 for the edge-linking checking ticket

comment:8 Changed 6 years ago by strk

Milestone: PostGIS 2.2.0PostGIS Future

comment:9 Changed 3 years ago by robe

Milestone: PostGIS FuturePostGIS Fund Me

Milestone renamed

comment:10 Changed 17 months ago by strk

Hey remic ... re-reading this ticket, how about contributing your reLinking function ?

Note: See TracTickets for help on using tickets.