對于Geometry對象,返回二維基于參考坐標系的歐氏距離。對于Geography對象,返回兩個對象的最小球面距離,以米為單位。

語法

float  ST_Distance(geometry  g1 , geometry  g2);
float  ST_Distance(geography  gg1 , geography  gg2);
float  ST_Distance(geography  gg1 , geography  gg2 , boolean  useSpheroid);

參數

參數名稱 描述
g1 第一個Geometry對象。
g2 第二個Geometry對象。
gg1 第一個Geography對象。
gg2 第二個Geography對象。
useSpheroid 是否使用橢球。默認為true,如果為false,將會使用一些精度,以提高速度。

描述

該函數支持Circular Strings和Curves對象。

示例

對比ST_Distance與ST_3DDistance
SELECT ST_Distance(g1,g2),ST_3DDistance(g1,g2) FROM(SELECT 'POINT(0 0 0)'::geometry as g1,
                                                                 'POINT(1 1 1)'::geometry as g2) as test;
   st_distance   |  st_3ddistance
-----------------+------------------
 1.4142135623731 | 1.73205080756888
(1 row)