Name

ST_3DIntersects — Prüft, ob sich zwei Geometrien in 3D räumlich schneiden - nur für Punkte, Linienzüge, Polygone, polyedrische Flächen (Bereich)

Synopsis

boolean ST_3DIntersects( geometry geomA , geometry geomB );

Beschreibung

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.

[Note]

Diese Funktion beinhaltet automatisch einen Bounding-Box-Vergleich, der alle räumlichen Indizes verwendet, die für die Geometrien verfügbar sind.

[Note]

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

Beispiele mit dem geometrischen Datentyp

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)
    

Beispiele mit dem Datentyp TIN

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