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设置为指定的决议。