Opened 4 years ago
Last modified 3 years ago
#4867 new enhancement
topology.InteriorsIntersect(TopoGeometry, TopoGeometry)
Reported by: | strk | Owned by: | strk |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS Fund Me |
Component: | topology | Version: | |
Keywords: | Cc: |
Description (last modified by )
A function returning true if two TopoGeometry objects defined on the _same_ underlaying topology share at least a common element.
NOTE this is different from an && operator (#1290)
Change History (8)
comment:1 by , 4 years ago
comment:2 by , 4 years ago
Important thing: the semantic of the function I want to make is NOT the same as ST_Overlap, I just realized, because ST_Overlap returns FALSE if an area is fully contained in the other. I don't know if an OGC defined predicate does exist to mean "areal geometries have some area in common". It's probably not ST_Intersects because that one also returns true for _linear_ intersections, and it's not ST_Overlap... do we want another function with a common meaning for this ?
comment:3 by , 4 years ago
Description: | modified (diff) |
---|---|
Summary: | topology.Overlap(TopoGeometry, TopoGeometry) → topology.InteriorIntersects(TopoGeometry, TopoGeometry) |
comment:4 by , 4 years ago
Using ST_InteriorIntersects() could be one thing for exposing this at the PostGIS level as well.
On PostGIS side it could be a wrapper around ST_Relate(g1, g2, 'T********')
comment:6 by , 4 years ago
Summary: | topology.InteriorIntersects(TopoGeometry, TopoGeometry) → topology.InteriorsIntersect(TopoGeometry, TopoGeometry) |
---|
comment:7 by , 4 years ago
For using in an EXCLUSION CONSTRAINT we'd also need an operator: https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-EXCLUSION
What could an "interiors intersect" operator look like ?
comment:8 by , 3 years ago
Milestone: | PostGIS 3.2.0 → PostGIS Fund Me |
---|
Calling it ST_Overlaps may greatly speed up existing code calling ST_Overlaps(TopoGeometry, TopoGeometry) but if we take that path we'll then have to support ANY TopoGeometry in order to retain semantic of existing calls (can't bail out if the TopoGeometry objects are not in the same topology...)