Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_COVEREDBY

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

功能描述

如果几何/地理 A 中的每个点都位于几何/地理 B 的内部(即与其内部或边界相交),则返回 TRUE。换句话说,测试 A 是否没有位于 B 之外的点。

语法格式

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

参数说明

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

函数返回类型

BOOLEAN 类型

使用说明

  1. 数学术语: ST_COVEREDBY(A, B) ⇔ A ⋂ B = A
  2. ST_COVEREDBY 与 ST_COVERS 相反。 因此,ST_COVEREDBY(A,B) = ST_COVERS(B,A)
  3. 此函数定义更简单, 不存在边界不在其几何形状内的情况。
  4. 此功能自动包括利用几何上可用的任何空间索引的边界框比较。
  5. 此函数是由 GEOS 模块执行的。
  6. 此函数支持 GEOMETRYCOLLECTION。

示例

一个圆在圆内部时:

sql
SQL>  SELECT ST_COVEREDBY(smallc,smallc) As smallinsmall,
       ST_COVEREDBY(smallc, bigc) As smallcoveredbybig,
       ST_COVEREDBY(ST_ExteriorRing(bigc), bigc) As exteriorcoveredbybig,
       ST_WITHIN(ST_ExteriorRing(bigc),bigc) As exeriorwithinbig
     FROM (SELECT ST_BUFFER(ST_GEOMFROMTEXT('POINT(1 2)'), 10) As smallc,
       ST_BUFFER(ST_GEOMFROMTEXT('POINT(1 2)'), 20) As bigc) As foo;

+--------------+-------------------+----------------------+------------------+
| SMALLINSMALL | SMALLCOVEREDBYBIG | EXTERIORCOVEREDBYBIG | EXERIORWITHINBIG |
+--------------+-------------------+----------------------+------------------+
| T            | T                 | T                    | F                |
+--------------+-------------------+----------------------+------------------+

(1 row)