對于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)