ST_DISTANCE

更新时间:
复制 MD 格式

ST_DISTANCE函数用于计算两个地理对象之间的最短距离,以米为单位。

命令格式

DOUBLE ST_DISTANCE(GEOGRAPHY <value1>, GEOGRAPHY <value2>)

参数说明

value1、value2:必填。GEOGRAPHY数据类型的地理对象。可根据需求使用ST_GEOGPOINT、ST_GEOGFROMWKB、ST_GEOGFROMTEXT、ST_MAKELINE和ST_MAKEPOLYGON函数来构造GEOGRAPHY类型对象。

返回值说明

返回DOUBLE类型,表示两个地理对象之间的最短距离,单位为米。返回规则如下:

  • 若value1或value2为空的地理对象,则返回NULL。

  • 由于S2地理库的精度问题的影响,返回值可能与实际距离存在非常微小的差异。

使用示例

  • 示例1:计算两个地理点之间的最短距离

    SELECT ST_DISTANCE(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POINT(1 1)'));
    
    -- 返回结果:
    +-----------------------+
    | _c0                   |
    +-----------------------+
    | 157249.62809250783    |
    +-----------------------+
  • 示例2:空地理对象处理

    -- 返回NULL,因为第2个地理对象是empty
    SELECT ST_DISTANCE(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POINT EMPTY'));

相关文档