名称

ST_DFullyWithin — 测试一个几何图形是否完全位于另一个几何图形的指定距离内

大纲

boolean ST_DFullyWithin(geometry g1, geometry g2, double precision distance);

描述

g2完全位于g1指定的distance距离范围内时,返回TRUE。从视觉上看,当g2完全包含在g1扩展distance距离的缓冲区内时,返回TRUE。

[注意]

此功能自动包括利用几何上可用的任何空间索引的边界框比较。

可用性:1.1.0

更改:3.5.0 版本:该函数的逻辑现在使用缓冲区内包含测试,而不是 ST_MaxDistance 算法。结果可能与之前的版本不同,但应该更接近用户的预期。

示例

Code
SELECT
    ST_DFullyWithin(geom_a, geom_b, 10) AS DFullyWithin10,
    ST_DWithin(geom_a, geom_b, 10) AS DWithin10,
    ST_DFullyWithin(geom_a, geom_b, 20) AS DFullyWithin20
FROM (VALUES
    ('POINT(1 1)'::geometry, 'LINESTRING(1 5,2 7,1 9,14 12)'::geometry)
    ) AS v(geom_a, geom_b)
栅格输出
dfullywithin10 | dwithin10 | dfullywithin20
----------------+-----------+----------------
 f              | t         | t
Figure
Geometry figure for visual-st-dfullywithin-01