类别:

地理空间函数

ST_COVEREDBY

如果一个地理空间对象中没有点位于另一个地理空间对象之外,则返回 TRUE。换言之:

  • GEOGRAPHY 对象 g1 位于 GEOGRAPHY 对象 g2 之外。

  • GEOMETRY 对象 g1 位于 GEOMETRY 对象 g2 之外。

这等同于 ST_COVERS(g2, g1)

尽管 ST_COVEREDBY 和 ST_WITHIN 可能看起来类似,但这两个函数有细微的区别。有关“被覆盖”和“在内部”之间差异的详细信息,请参阅 维度扩展的 9 交叉点模型 (DE-9IM) (link removed)。

备注

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

小技巧

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

另请参阅:

ST_COVERSST_WITHIN

语法

ST_COVEREDBY( <geography_expression_1> , <geography_expression_2> )

ST_COVEREDBY( <geometry_expression_1> , <geometry_expression_2> )
Copy

实参

geography_expression_1

不是 GeometryCollection 或 GEOGRAPHY 的 FeatureCollection 对象。

geography_expression_2

不是 GeometryCollection 或 GEOGRAPHY 的 FeatureCollection 对象。

geometry_expression_1

不是 GeometryCollection 或 GEOMETRY 的 FeatureCollection 对象。

geometry_expression_2

不是 GeometryCollection 或 GEOMETRY 的 FeatureCollection 对象。

返回

BOOLEAN。

使用说明

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

示例

GEOGRAPHY 示例

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

create table geospatial_table_01 (g1 GEOGRAPHY, g2 GEOGRAPHY);
insert into geospatial_table_01 (g1, g2) values 
    ('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))', 'POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))');
Copy
SELECT ST_COVEREDBY(g1, g2) 
    FROM geospatial_table_01;
+----------------------+
| ST_COVEREDBY(G1, G2) |
|----------------------|
| False                |
+----------------------+
Copy
语言: 中文