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