H3地理空間功能

適用於:檢查標記是的磚的SQL檢查標記是的磚運行時

H3是一個全球性的網格索引係統。網格係統使用一個形狀,如矩形或三角形,鑲嵌細工的表麵,在這種情況下是地球表麵。H3係統旨在使用六邊形(和一些五角大樓),並提供16個級別的決議在其層次結構。在更高的分辨率,鱗狀形狀更小。

H3表達式僅支持在Photon-enabled集群和磚SQL倉庫SQL pro和serverless層磚。

閱讀更多關於H3決議,大約H3的起源

參見:

H3為地理空間分析

H3支持處理和分析空間數據的常見模式。從索引的地理空間數據標準格式(經度和緯度,眾所周知的文本(預留),著名的二進製(WKB),或GeoJSONH3細胞id。用一個數據集,您可以通過細胞總ID來回答location-driven問題。與多個索引數據集,您可以使用細胞IDs結合起來,揭示了不同的數據集涉及到另一個。這種數據集加入語義空間的加入,但不需要空間謂詞。

使用H3在磚的好處是什麼?

利用三角洲湖功能有效的存儲和布局的H3索引數據。三角洲湖的優化操作與z值(H3細胞IDs)允許您空間共同部署數據。此外,三角洲湖數據跳過算法使用co-locality明智地減少需要讀取的數據量。

你如何處理數據的靈活性。你可以選擇使用H3細胞id存儲為大整數或字符串。對於使用IDs H3細胞最好的性能,使用大整數表示。詳細使用H3表達式的引用SQL參考指南

請注意

你不需要安裝H3庫。它是包括作為一個可見的依賴在磚運行時,開始磚11.2運行時,使用版本3.7.0 H3的Java庫。

進口磚函數來得到H3(磚運行時)

沒有進口磚所需的SQL和SQL火花。

進口H3函數Python或Scala在筆記本電腦,使用以下命令:

pyspark.databricks.sql.functions進口*
進口comsql功能_

H3地理空間功能列表(磚SQL)

進口

函數

描述

h3_coverash3 (geographyExpr resolutionExpr)

返回一個數組H3細胞id(表示為BIGINT)五邊形和六邊形拚成的最小集合,對應的指定的決議,全麵覆蓋輸入區域地理。

h3_coverash3string (geographyExpr resolutionExpr)

返回一個數組H3細胞id(表示為字符串)五邊形和六邊形拚成的最小集合,對應的指定的決議,全麵覆蓋輸入區域地理。

h3_longlatash3 (longitudeExpr latitudeExpr resolutionExpr)

返回H3細胞ID(作為一個長整型數字)對應的經度和緯度提供指定的決議。

h3_longlatash3string (longitudeExpr latitudeExpr resolutionExpr)

返回H3細胞ID(十六進製字符串)對應的經度和緯度提供指定的決議。

h3_pointash3 (geographyExpr resolutionExpr)

返回H3細胞ID(作為一個長整型數字)提供對應點指定的決議。

h3_pointash3string (geographyExpr resolutionExpr)

返回H3細胞ID(一個字符串)提供對應點指定的決議。

h3_polyfillash3 (geographyExpr resolutionExpr)

返回一個數組H3細胞id(表示為BIGINT)相應的六邊形或五角大樓,指定的決議,所包含的輸入區域地理。

h3_polyfillash3string (geographyExpr resolutionExpr)

返回一個數組H3細胞id(表示為字符串)相應的六邊形或五角大樓,指定的決議,所包含的輸入區域地理。

h3_try_polyfillash3 (geographyExpr resolutionExpr)

返回一個數組H3細胞id(表示為BIGINT)相應的六邊形或五角大樓,指定的決議,所包含的輸入區域地理。

h3_try_polyfillash3string (geographyExpr resolutionExpr)

返回一個數組H3細胞id(表示為字符串)相應的六邊形或五角大樓,指定的決議,所包含的輸入區域地理。

出口

函數

描述

h3_boundaryasgeojson (h3CellIdExpr)

返回輸入H3的多邊形邊界單元GeoJSON格式。

h3_boundaryaswkb (h3CellIdExpr)

返回輸入H3的多邊形邊界單元WKB格式。

h3_boundaryaswkt (h3CellIdExpr)

返回輸入H3的多邊形邊界單元WKT格式。

h3_centerasgeojson (h3CellIdExpr)

返回輸入H3細胞作為一個點的中心GeoJSON格式。

h3_centeraswkb (h3CellIdExpr)

返回輸入H3細胞作為一個點的中心WKB格式。

h3_centeraswkt (h3CellIdExpr)

返回輸入H3細胞作為一個點的中心WKT格式。

轉換

函數

描述

h3_h3tostring (h3CellIdExpr)

將輸入轉換為H3細胞ID到對應的十六進製字符串表示。

h3_stringtoh3 (h3CellIdStringExpr)

將輸入字符串轉換成,預計將十六進製字符串代表一個H3細胞ID, H3的相應的BIGINT表示細胞ID。

謂詞

函數

描述

h3_ischildof (h3CellId1Expr h3CellId2Expr)

返回true,如果第一個H3細胞ID等於或者孩子的第二個H3細胞ID。

h3_ispentagon (h3CellIdExpr)

返回true,如果輸入長整型數字或十六進製字符串對應於一個五角H3細胞。

有效性

函數

描述

h3_isvalid (expr)

返回true,如果輸入長整型數字或字符串是一個有效的H3細胞ID。

h3_try_validate (h3CellIdExpr)

返回輸入值,這是長整型數字或字符串類型,如果它對應於一個有效的H3細胞ID,否則或NULL。

h3_validate (h3CellIdExpr)

返回輸入值,這是長整型數字或字符串類型,如果它對應於一個有效的H3細胞ID,或者發出一個錯誤。

遍曆

函數

描述

h3_maxchild (h3CellIdExpr resolutionExpr)

返回輸入的最大值的孩子H3細胞在指定的決議。

h3_minchild (h3CellIdExpr resolutionExpr)

返回輸入H3的最小值的子細胞在指定的決議。

h3_resolution (h3CellIdExpr)

返回輸入的決議H3細胞ID。

h3_tochildren (h3CellIdExpr resolutionExpr)

返回一個數組的孩子H3細胞ID輸入H3的ID在指定的決議。

h3_toparent (h3CellIdExpr resolutionExpr)

返回父H3細胞輸入H3的ID細胞ID在指定的決議。

壓實

函數

描述

h3_compact (h3CellIdsExpr)

契約的輸入設置H3細胞盡可能id。

h3_uncompact (h3CellIdsExpr resolutionExpr)

Uncompacts輸入H3細胞id設置為指定的決議。