ST_3DIntersects — Tests if two geometries spatially intersect in 3D - only for points, linestrings, polygons, polyhedral surface (area)


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.


This function automatically includes a bounding box comparison that makes use of any spatial indexes that are available on the geometries.


Because of floating robustness failures, geometries don't always intersect as you'd expect them to after geometric processing. For example the closest point on a linestring to a geometry may not lie on the linestring. For these kind of issues where a distance of a centimeter you want to just consider as intersecting, use ST_3DDWithin.

Änderung: 3.0.0 das SFCGAL Back-end wurde entfernt, das GEOS Back-end unterstützt TIN.

Verfügbarkeit: 2.0.0

This function supports 3d and will not drop the z-index.

This function supports Polyhedral surfaces.

This function supports Triangles and Triangulated Irregular Network Surfaces (TIN).

This method implements the SQL/MM specification. 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);