名稱

ST_3DIntersects — 測試兩個幾何物件是否在 3D 空間中相交 - 僅適用於點、線串、多邊形、多面體表面 (區域)

概要

boolean ST_3DIntersects( geometry geomA , geometry geomB );

描述

重疊 (Overlaps)、接觸 (Touches)、包含於 (Within) 都表示空間相交。如果上述任一函數返回 true,則幾何物件也會在空間上相交。不相交 (Disjoint) 表示空間相交為 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