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 类型
使用说明
- 数学术语:
ST_COVEREDBY(A, B) ⇔ A ⋂ B = A。 - ST_COVEREDBY 与 ST_COVERS 相反。 因此,
ST_COVEREDBY(A,B) = ST_COVERS(B,A)。 - 此函数定义更简单, 不存在边界不在其几何形状内的情况。
- 此功能自动包括利用几何上可用的任何空间索引的边界框比较。
- 此函数是由 GEOS 模块执行的。
- 此函数支持 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)