全部產品
Search
文件中心

MaxCompute:ST_DISTANCE

更新時間:Aug 27, 2026

ST_DISTANCE函數用於計算兩個地理對象之間的最短距離,以米為單位。

命令格式

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

參數說明

value1、value2:必填。GEOGRAPHY資料類型的地理對象。可根據需求使用ST_GEOGPOINTST_GEOGFROMWKBST_GEOGFROMTEXTST_MAKELINEST_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'));

相關文檔