类别:

地理空间函数

ST_INTERSECTS

如果两个 GEOGRAPHY 对象或两个 GEOMETRY 对象相交(即共享空间的任何部分),则返回 TRUE。

备注

此函数不支持使用 GeometryCollection 或 FeatureCollection 作为输入值。

小技巧

您可以使用搜索优化服务,提高用于调用此函数的查询的性能。有关详细信息,请参阅 搜索优化服务

另请参阅:

ST_DISJOINT

语法

ST_INTERSECTS( <geography_expression_1> , <geography_expression_2> )

ST_INTERSECTS( <geometry_expression_1> , <geometry_expression_2> )
Copy

实参

geography_expression_1

GEOGRAPHY 对象。

geography_expression_2

GEOGRAPHY 对象。

geometry_expression_1

GEOMETRY 对象。

geometry_expression_2

GEOMETRY 对象。

返回

BOOLEAN。

使用说明

  • 对于 GEOMETRY 对象,如果两个输入 GEOMETRY 对象具有不同的 SRIDs,该函数会报告错误。

示例

GEOGRAPHY 示例

该示例展示了 ST_INTERSECTS 函数的简单用法:

SELECT ST_INTERSECTS(
    TO_GEOGRAPHY('POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))'),
    TO_GEOGRAPHY('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))')
    );
+---------------------------------------------------------+
| ST_INTERSECTS(                                          |
|     TO_GEOGRAPHY('POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))'), |
|     TO_GEOGRAPHY('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))')  |
|     )                                                   |
|---------------------------------------------------------|
| True                                                    |
+---------------------------------------------------------+
Copy

GEOMETRY 示例

该示例展示了 ST_INTERSECTS 函数的简单用法:

SELECT ST_INTERSECTS(
  TO_GEOMETRY('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))'),
  TO_GEOMETRY('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))')
);
Copy
+------------------------------------------------------+
| ST_INTERSECTS(                                       |
|   TO_GEOMETRY('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))'), |
|   TO_GEOMETRY('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))')  |
| )                                                    |
|------------------------------------------------------|
| True                                                 |
+------------------------------------------------------+
Copy
语言: 中文