返回一个由 H3 单元格 ID 表示的数组,这些 ID 表示为长整数,对应于输入区域地理包含的指定分辨率的六边形或五边形。 包含由单元格质心确定:如果单元格的质心位于地理区域内,则单元格被视为覆盖地理区域。 如果地理不是多边形(多边形或多多边形),或者分析地理的输入表示形式时发现错误,表达式将发出错误。 可接受的输入表示形式是 WKT、GeoJSON 和 WKB。 在前两种情况下,输入应为字符串类型,而在最后一种情况下,输入应为 BINARY 类型。 支持 Spark Connect。
有关相应的 Databricks SQL 函数,请参阅 h3_polyfillash3 函数。
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.h3_polyfillash3(col1=<col1>, col2=<col2>)
参数
| 参数 | 类型 | Description |
|---|---|---|
col1 |
pyspark.sql.Column 或 str |
以 WKT 或 GeoJSON 格式表示 WGS84 坐标参考系统地理信息的字符串,或以 WKB 格式表示 WGS84 坐标参考系统地理信息的二进制数据。 |
col2 |
pyspark.sql.Column、str 或 int |
涵盖地理区域的 H3 单元格 ID 的分辨率。 |
例子
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(
... 'POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 2),],
... ['wkt', 'res'])
df.select(dbf.h3_polyfillash3('wkt', 'res').alias('result')).collect()
[Row(result=[586146350232502271, 586147449744130047, 586198577034821631, 586152397546455039, 586199676546449407, 586153497058082815, 586142501941805055, 586201325813891071])]