Opened 13 years ago
Last modified 3 years ago
#1224 new enhancement
Provide a topology.ST_ValidateTopoGeo as per ISO specs
Reported by: | strk | Owned by: | strk |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS Fund Me |
Component: | topology | Version: | master |
Keywords: | Cc: |
Description (last modified by )
The sql/mm specs require an ST_ValidateTopoGeo 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 (12)
comment:1 by , 13 years ago
Milestone: | PostGIS 2.0.0 → PostGIS 2.1.0 |
---|
comment:2 by , 11 years ago
Type: | defect → enhancement |
---|
comment:3 by , 11 years ago
Milestone: | PostGIS 2.1.0 → PostGIS 2.2.0 |
---|
comment:4 by , 11 years ago
comment:5 by , 10 years ago
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.
Rémi-C
comment:6 by , 10 years ago
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:8 by , 10 years ago
Milestone: | PostGIS 2.2.0 → PostGIS Future |
---|
comment:10 by , 5 years ago
Hey remic … re-reading this ticket, how about contributing your reLinking function ?
comment:11 by , 3 years ago
Description: | modified (diff) |
---|---|
Summary: | Provide a topology.ST_ValidateTopology as per ISO specs → Provide a topology.ST_ValidateTopoGeo as per ISO specs |
comment:12 by , 3 years ago
For the record: I filed #4942 to provide a RecomputeEdgeLinking function
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.