ST_Distance

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