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'));
相关文档
该文章对您有帮助吗?