名称

ST_3DIntersects — 测试两个几何体在 3D 空间中是否相交 - 仅适用于点、线串、多边形、多面体表面(区域)

概要

boolean ST_3DIntersects( geometry geomA , geometry geomB );

描述

重叠、接触、包含都意味着空间相交。如果上述任何一个返回 true,则几何体也空间相交。不相交意味着空间相交为 false。

[Note]

此函数自动包含边界框比较,该比较利用几何体上可用的任何空间索引。

[Note]

由于浮点鲁棒性失效,几何体在经过几何处理后并不总是像您预期的那样相交。例如,线串上离几何体最近的点可能并不在线串上。对于这些问题,例如一厘米的距离您希望将其视为相交,请使用 ST_3DDWithin

已更改:3.0.0 SFCGAL 后端已删除,GEOS 后端支持 TIN。

可用性:2.0.0

此函数支持 3D,并且不会删除 z 索引。

此函数支持多面体表面。

此函数支持三角形和不规则三角网表面 (TIN)。

此方法实现了 SQL/MM 规范。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)
    

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

另请参阅

ST_3DDWithin, ST_Intersects