ST_3DIntersects — Prüft, ob sich zwei Geometrien in 3D räumlich schneiden - nur für Punkte, Linienzüge, Polygone, polyedrische Flächen (Bereich)
boolean ST_3DIntersects(
geometry geomA , geometry geomB )
;
Overlaps, Touches und Within implizieren räumliche Überschneidung. Wenn irgendeine dieser Eigenschaften TRUE zurückgibt, dann überschneiden sich die geometrischen Objekte auch. Disjoint impliziert FALSE für die räumliche Überschneidung.
Diese Funktion beinhaltet automatisch einen Bounding-Box-Vergleich, der alle räumlichen Indizes verwendet, die für die Geometrien verfügbar sind. |
Aufgrund von Floating-Robustness-Fehlern überschneiden sich Geometrien nicht immer so, wie man es nach der geometrischen Bearbeitung erwarten würde. So liegt beispielsweise der Punkt, der einer Geometrie am nächsten liegt, nicht unbedingt auf dem Linienzug. Für diese Art von Problemen, bei denen ein Abstand von einem Zentimeter einfach als Schnittpunkt betrachtet werden soll, verwenden Sie ST_3DDWithin. |
Änderung: 3.0.0 das SFCGAL Back-end wurde entfernt, das GEOS Back-end unterstützt TIN.
Verfügbarkeit: 2.0.0
Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.
Diese Funktion unterstützt polyedrische Flächen.
Diese Funktion unterstützt Dreiecke und dreieckige unregelmäßige Netzoberflächen (TIN).
Diese Methode setzt die SQL/MM-Spezifikation um. SQL-MM IEC 13249-3: 5.1
SELECT ST_3DIntersects(pt, line), ST_Intersects(pt, line) FROM (SELECT 'POINT(0 0 2)'::geometry As pt, 'LINESTRING (0 0 1, 0 2 3)'::geometry As line) As foo; st_3dintersects | st_intersects -----------------+--------------- f | t (1 row)
SELECT ST_3DIntersects('TIN(((0 0 0,1 0 0,0 1 0,0 0 0)))'::geometry, 'POINT(.1 .1 0)'::geometry); st_3dintersects ----------------- t