h3_distance函數

適用於:檢查標記是的磚的SQL檢查標記是的磚運行時11.2及以上

返回兩個輸入H3細胞的網格距離id。

語法

h3_distance(h3CellId1Expr,h3CellId2Expr)

參數

  • h3CellId1Expr:一個長整型數字表達式,或十六進製字符串表達式代表一個H3細胞ID。

  • h3CellId2Expr:一個長整型數字表達式,或十六進製字符串表達式代表一個H3細胞ID。

返回

網格距離的BIGINT值兩個輸入H3細胞,預計將有相同的分辨率。

函數返回NULL如果任何一個輸入的表達式是NULL。函數部分驗證關於輸入參數是否有效的H3細胞ID,必要但不充分條件之間的有效的H3 ID,它的價值是0 x08001fffffffffff0 x08ff3b6db6db6db6。函數定義的行為如果任何兩個輸入細胞ID不是一個有效的ID。

錯誤條件

  • 如果h3CellId1Exprh3CellId2Expr是一個字符串,不能轉換為長整型數字或對應於一個長整型數字值小於0 x08001fffffffffff或比0 x08ff3b6db6db6db6,該函數返回H3_INVALID_CELL_ID

  • 如果網格距離可能不是計算,函數返回H3_UNDEFINED_GRID_DISTANCE。網格的距離可能是未定義的有下列原因:

    • 兩個輸入H3細胞不同的分辨率。

    • 兩個輸入的任何一個H3細胞是一個五邊形的細胞。

    • 這兩個H3五角細胞細胞分離。

    • 兩個H3細胞相距太遠。

例子

——例子兩個參數是長整型數字代表H3細胞。>選擇h3_distance(599686030622195711,599686015589810175);2——例子代表H3細胞的兩個參數是十六進製字符串。>選擇h3_distance(“85283447 fffffff”,“8528340 ffffffff”)2兩個細胞的例子,相距太遠。>選擇h3_distance(h3_longlatash3(- - - - - -120年,45,13),h3_longlatash3(120年,45,13))(H3_UNDEFINED_GRID_DISTANCE]H3網格距離之間的635723017894513407635869868887430591未定義的——兩個細胞具有不同分辨率的例子。>選擇h3_distance(h3_longlatash3(120年,45,13),h3_longlatash3(120年,45,12));(H3_UNDEFINED_GRID_DISTANCE]H3網格距離之間的635869868887430591631366269260060159未定義的——第一個細胞ID是五角大樓。>選擇h3_distance(590112357393367039,590678880759578623)(H3_UNDEFINED_GRID_DISTANCE]H3網格距離之間的590112357393367039590678880759578623未定義的——距離兩個六邊形由五角大樓。>選擇h3_distance(590112494832320511,590112632271273983)(H3_UNDEFINED_GRID_DISTANCE]H3網格距離之間的590112494832320511590112632271273983未定義的