跳到主要内容

ST_COVERS

引入或更新于:v1.2.911

如果第二个 GEOMETRY 对象中没有任何点位于第一个 GEOMETRY 对象之外,则返回 TRUE。

另请参阅:ST_COVEREDBY

语法

ST_COVERS(<geometry1>, <geometry2>)

参数

参数描述
<geometry1>GEOMETRY 表达式(覆盖对象)。
<geometry2>GEOMETRY 表达式(被测试对象)。

返回类型

Boolean。

示例

-- 多边形覆盖其内部的较小多边形
SELECT ST_COVERS(
TO_GEOMETRY('POLYGON((-2 0, 0 2, 2 0, -2 0))'),
TO_GEOMETRY('POLYGON((-1 0, 0 1, 1 0, -1 0))')
);

┌────────┐
│ result │
├────────┤
true
└────────┘

-- 多边形覆盖其边界上的线段
SELECT ST_COVERS(
TO_GEOMETRY('POLYGON((-2 0, 0 2, 2 0, -2 0))'),
TO_GEOMETRY('LINESTRING(-1 1, 0 2, 1 1)')
);

┌────────┐
│ result │
├────────┤
true
└────────┘

-- 多边形外部的点不被覆盖
SELECT ST_COVERS(
TO_GEOMETRY('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))'),
TO_GEOMETRY('POINT(5 5)')
);

┌────────┐
│ result │
├────────┤
false
└────────┘
欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验