ST_Distance()

返回两个几何值之间的最小距离,单位为笛卡尔单位或大地测量米。

语法

ST_Distance(geom1, geom2)
ST_Distance(geom1, geom2, srid)

别名:无。

参数说明

geom1geom2 均为 GEOMETRY 或均为 GEOMETRY32sridINT64 计算坐标系覆盖值。

返回值

GEOMETRY 输入返回 FLOAT64GEOMETRY32 输入返回 FLOAT32

使用说明

  • 未指定覆盖值时,两个几何值必须具有相同 SRID。SRID 4326 返回米;其他受支持 SRID 返回笛卡尔单位。

  • 可选 SRID 覆盖操作数的 SRID,且会检查范围。

示例

DROP DATABASE IF EXISTS geo_distance_demo;
CREATE DATABASE geo_distance_demo;
USE geo_distance_demo;

SELECT ST_Distance(ST_GeomFromText('POINT(0 0)'), ST_GeomFromText('POINT(3 4)')) AS cartesian_distance,
       ST_Distance(ST_GeomFromText('POINT(0 0)'), ST_GeomFromText('POINT(1 0)'), 4326) AS geodesic_meters;

DROP DATABASE geo_distance_demo;

另请参阅

ST_Distance_Sphere()ST_Length()