ST_Distance - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

ST_Distance

对于输入几何体,ST_Distance 返回两个输入几何体值的 2D 投影之间的最小欧氏距离。

对于 3DM、3DZ、4D 几何体,ST_Distance 返回两个输入几何体值的 2D 投影之间的欧氏距离。

对于输入地理,ST_Distance 返回两个 2D 点的测地线距离。距离以米为单位。对于点和空点以外的地理,将返回错误。

语法

ST_Distance(geo1, geo2)

Arguments

geo1

一个 GEOMETRYGEOGRAPHY 数据类型的值,或一个计算结果为 GEOMETRYGEOGRAPHY 类型的表达式。geo1 的数据类型必须与 geo2 相同。

geo2

一个 GEOMETRYGEOGRAPHY 数据类型的值,或一个计算结果为 GEOMETRYGEOGRAPHY 类型的表达式。geo2 的数据类型必须与 geo1 相同。

返回类型

DOUBLE PRECISION,采用与输入几何体或地理相同的单位。

如果 geo1geo2 为 null 或为空,则返回 null。

如果 geo1geo2 不具有相同的空间参考系统标识符(SRID)值,则返回一个错误。

如果 geo1geo2 为几何体集合,则返回一个错误。

示例

以下 SQL 返回两个多边形之间的距离。

SELECT ST_Distance(ST_GeomFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeomFromText('POLYGON((-1 -3,-2 -1,0 -3,-1 -3))'));
st_distance ----------- 1.4142135623731

以下 SQL 返回地理中两个点之间的距离。

SELECT ST_Distance(ST_GeogFromText('point(1 1)'),ST_GeogFromText('point( -21.32 121.2)'));
st_distance ------------------ 13090291.8796529