如果Geometry對象B完全在Geometry對象A的內部,則返回True。
語法
boolean ST_ContainsProperly(geometry geomA , geometry geomB);
參數
參數名稱 | 描述 |
---|---|
geomA | 第一個Geometry對象。 |
geomB | 第二個Geometry對象。 |
描述
- 如果輸入的Geometry對象B和Geometry對象A的內部相交,但不和A的邊界(或外部)有接觸,那么返回True。B中每個點都在A內部。
- 兩個對象的DE-9IM相交矩陣符合[T**FF*FF*]。
- 該函數不支持GeometryCollection類型對象作為輸入參數。
- 不要將該函數用于無效的Geometry對象,否則會得到不可預料的結果。
- 該函數會自動生成一個bounding box用于利用Geometry對象上的索引。如果不想使用索引,請使用函數_ST_ContainsProperly。
示例
對比ST_ContainsProperly和ST_Contains:
SELECT ST_Contains(g1,g2), ST_ContainsProperly(g1,g2),ST_ContainsProperly(g1,g3)
FROM (SELECT 'POLYGON((0 0,0 3,3 3,3 0,0 0))'::geometry as g1,
'POLYGON((0 0,0 1,1 1,1 0,0 0))'::geometry as g2,
'POLYGON((1 1,1 2,2 2,2 1,1 1))'::geometry as g3 ) as test;
st_contains | st_containsproperly | st_containsproperly
-------------+---------------------+---------------------
t | f | t
(1 row)