如果兩個(gè)輸入的Geometry對(duì)象有部分交集但互相不包含,則該函數(shù)返回True。

語(yǔ)法

boolean  ST_Crosses(geometry  g1 , geometry  g2);

參數(shù)

參數(shù)名稱 描述
g1 第一個(gè)Geometry對(duì)象。
g2 第二個(gè)Geometry對(duì)象。

描述

  • 兩個(gè)Geometry對(duì)象內(nèi)部的交集不得為空集,相交集合對(duì)象的維度必須比兩個(gè)輸入對(duì)象的最大維度值要小。
  • 兩個(gè)Geometry對(duì)象的交集不得等于任何一個(gè)源對(duì)象。否則,它返回False。
  • 兩個(gè)Geometry對(duì)象的DE-9IM
    • T*T******(對(duì)于Point/Line,Point/Area,和Line/Area的情況)
    • T*****T**(對(duì)于Line/Point,Area/Point,和Area/Line的情況)
    • 0********(對(duì)于Line/Line的情況)
  • 該函數(shù)不支持GeometryCollection類型對(duì)象作為輸入?yún)?shù)。
  • 該函數(shù)會(huì)自動(dòng)生成一個(gè)bounding box用于利用Geometry對(duì)象上的索引。如果不想使用索引,請(qǐng)使用函數(shù)_ST_Crosses。

示例

  • 默認(rèn)調(diào)用:
    SELECT ST_Crosses('LINESTRING(0 0,3 3)'::geometry,'LINESTRING(0 1,1 0)'::geometry);
     st_crosses
    ------------
     t
    (1 row)
                        
  • 有重疊:
     SELECT ST_Crosses('LINESTRING(0 0,3 3)'::geometry,'LINESTRING(0 0,1 1)'::geometry);
     st_crosses
    ------------
     f
    (1 row)
                        
  • 重疊區(qū)域維度與兩個(gè)輸入對(duì)象的最大維度值一致:
    SELECT ST_Crosses('LINESTRING(0 0,3 3)'::geometry,'LINESTRING(1 1,4 4)'::geometry);
     st_crosses
    ------------
     f
    (1 row)