H3地理空間功能
適用於:磚的SQL磚運行時
H3是一個全球性的網格索引係統。網格係統使用一個形狀,如矩形或三角形,鑲嵌細工的表麵,在這種情況下是地球表麵。H3係統旨在使用六邊形(和一些五角大樓),並提供16個級別的決議在其層次結構。在更高的分辨率,鱗狀形狀更小。
參見:
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進口*
進口com。磚。sql。功能。_
H3地理空間功能列表(磚SQL)
進口
函數 |
描述 |
---|---|
返回H3細胞ID(作為一個長整型數字)對應的經度和緯度提供指定的決議。 |
|
h3_longlatash3string (longitudeExpr latitudeExpr resolutionExpr) |
返回H3細胞ID(十六進製字符串)對應的經度和緯度提供指定的決議。 |
返回H3細胞ID(作為一個長整型數字)提供對應點指定的決議。 |
|
返回H3細胞ID(一個字符串)提供對應點指定的決議。 |
|
返回一個數組H3細胞id(表示為bigint)相應的六邊形或五角大樓,指定的決議,所包含的輸入區域地理。 |
|
返回一個數組H3細胞id(表示為字符串)相應的六邊形或五角大樓,指定的決議,所包含的輸入區域地理。 |
|
返回一個數組H3細胞id(表示為bigint)相應的六邊形或五角大樓,指定的決議,所包含的輸入區域地理。 |
|
返回一個數組H3細胞id(表示為字符串)相應的六邊形或五角大樓,指定的決議,所包含的輸入區域地理。 |
出口
函數 |
描述 |
---|---|
返回輸入H3的多邊形邊界單元GeoJSON格式。 |
|
返回輸入H3的多邊形邊界單元WKB格式。 |
|
返回輸入H3的多邊形邊界單元WKT格式。 |
|
返回輸入H3細胞作為一個點的中心GeoJSON格式。 |
|
返回輸入H3細胞作為一個點的中心WKB格式。 |
|
返回輸入H3細胞作為一個點的中心WKT格式。 |
有效性
函數 |
描述 |
---|---|
返回true,如果輸入長整型數字或字符串是一個有效的H3細胞ID。 |
|
返回輸入值,這是長整型數字或字符串類型,如果它對應於一個有效的H3細胞ID,否則或NULL。 |
|
返回輸入值,這是長整型數字或字符串類型,如果它對應於一個有效的H3細胞ID,或者發出一個錯誤。 |
遍曆
函數 |
描述 |
---|---|
返回輸入的最大值的孩子H3細胞在指定的決議。 |
|
返回輸入H3的最小值的子細胞在指定的決議。 |
|
返回輸入的決議H3細胞ID。 |
|
返回一個數組的孩子H3細胞ID輸入H3的ID在指定的決議。 |
|
返回父H3細胞輸入H3的ID細胞ID在指定的決議。 |