Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_INTERSECTS

📄字数 821
👁️阅读量 加载中...

功能描述

如果两个几何图形相交,则返回 TRUE。 如果几何图形有任何共同点,则它们相交。

语法格式

sql
BOOLEAN ST_INTERSECTS( GEOMETRY geomA , GEOMETRY geomB );
BOOLEAN ST_INTERSECTS( GEOGRAPHY geogA, GEOGRAPHY geogB) ;

参数说明

  • geomA:第一个目标 GEOMETRY 对象。
  • geomB:第二个目标 GEOMETRY 对象。
  • geogA:第一个目标 GEOGRAPHY 对象。
  • geogB:第二个目标 GEOGRAPHY 对象。

函数返回类型

BOOLEAN 类型

使用说明

  1. 对于地理,使用 0.00001 米的距离容差,并且使用球体而不是椭球体计算。
  2. 数学术语: ST_INTERSECTS(A, B) ⇔ A ⋂ B ≠ ∅
  3. 如果几何图形的 DE-9IM 交集矩阵与以下之一匹配,则几何图形相交:
  • T********
  • T******
  • T**
  • T
  1. 所有其他空间关系测试都隐含空间相交,但 ST_DISJOINT 除外,它测试几何形状不相交。
  2. 此功能自动包括利用几何上可用的任何空间索引的边界框比较。
  3. 此函数由 GEOS 模块(用于几何)执行,地理是原生的。
  4. 此函数支持 GEOMETRYCOLLECTION。
  5. 此方法等价:ST_Intersects(g1, g2 ) --> Not (ST_Disjoint(g1, g2 ))
  6. 此方法支持圆形字符串和曲线。
  7. 此函数支持三角形和不规则三角网面 (TIN)。

示例

几何示例:

sql
SQL> SELECT ST_INTERSECTS('POINT(0 0)'::GEOMETRY, 'LINESTRING ( 2 0, 0 2 )'::GEOMETRY);

+-------+
| EXPR1 |
+-------+
| F     |
+-------+

(1 row)

SQL> SELECT ST_INTERSECTS('POINT(0 0)'::GEOMETRY, 'LINESTRING ( 0 0, 0 2 )'::GEOMETRY);

+-------+
| EXPR1 |
+-------+
| T     |
+-------+

(1 row)

地理示例:

sql
SQL> SELECT ST_INTERSECTS(
         'SRID=4326;LINESTRING(-43.23456 72.4567,-43.23456 72.4568)'::GEOGRAPHY,
         'SRID=4326;POINT(-43.23456 72.4567772)'::GEOGRAPHY
         );

+-------+
| EXPR1 |
+-------+
| T     |
+-------+

(1 row)