ST_3DIntersects — 測試兩個幾何物件是否在 3D 空間中相交 - 僅適用於點、線串、多邊形、多面體表面 (區域)
boolean ST_3DIntersects(
geometry geomA , geometry geomB )
;
重疊 (Overlaps)、接觸 (Touches)、包含於 (Within) 都表示空間相交。如果上述任一函數返回 true,則幾何物件也會在空間上相交。不相交 (Disjoint) 表示空間相交為 false。
![]() |
|
此函數會自動包含邊界框比較,利用幾何物件上可用的任何空間索引。 |
![]() |
|
由於浮點數的穩健性問題,幾何物件在幾何處理後並不總是如預期般相交。例如,線串上最接近幾何物件的點可能不在線串上。對於這些希望將一公分距離視為相交的情況,請使用 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)
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