全部產品
Search
文件中心

ApsaraDB RDS:ST_DWithin

更新時間:Jun 19, 2024

如果兩個對象之間的距離在指定範圍之內,則返回True。

文法

boolean ST_DWithin(geometry g1 , geometry g2 , double precision distanceOfSrid);
boolean ST_DWithin(geography gg1 , geography gg2 , double precision distanceMeters);
boolean ST_DWithin(geography gg1 , geography gg2 , double precision distanceMeters , boolean useSpheroid);

參數

參數名稱

描述

g1

第一個Geometry對象。

g2

第二個Geometry對象。

distanceOfSrid

在來源資料SRID下的距離。

gg1

第一個Geography對象。

gg2

第二個Geography對象。

distanceMeters

單位為米的距離值。

useSpheroid

是否使用橢球參考系。使用橢球參考系會使得結果更精確但稍慢。

描述

  • 對於Geometry對象,兩個對象的SRID必須一致才使得函數有意義。

  • 對於Geography對象,預設使用米為單位。

  • 該函數調用時將自動包括外包框比較,該比較將利用Geometry對象上可用的任何索引。

  • 對於3D對象,需要使用ST_3DDWithin

樣本

對比ST_DFullyWithin

SELECT ST_DFullyWithin(g1,g2,2), ST_DWithin(g1,g2,2) from (SELECT 'LINESTRING(0 1,1 1)'::geometry as g1,
                                                                           'LINESTRING(0 0,0 -1)'::geometry as g2) as test;
 st_dfullywithin | st_dwithin
-----------------+------------
 f               | t
(1 row)