返回一个由 H3 单元格 ID 组成的字符串数组,这些 ID 对应于指定分辨率下覆盖输入线性或区域地理的六边形或五边形。 如果地理不是线性(线字符串或多行字符串)、是多边形(多边形或多多边形),或者分析地理的输入表示形式时发现错误,则表达式将发出错误。
可接受的输入表示形式是 WKT、 GeoJSON 和 WKB。 在前两种情况下,输入应为字符串类型,而在最后一种情况下,输入应为二进制类型。 支持 Spark Connect。
有关相应的 Databricks SQL 函数,请参阅 h3_coverash3string 函数。
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.h3_coverash3string(col1=<col1>, col2=<col2>)
参数
| 参数 | 类型 | Description |
|---|---|---|
col1 |
pyspark.sql.Column 或 str |
一个字符串,表示 WGS84 坐标引用系统中采用 WKT 或 GeoJSON 格式的线性或异地地理,或者表示 WGS84 坐标引用系统中采用 WKB 格式的线性或异地地理的 BINARY。 |
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))', 1),],['wkt', 'res'])
df.select(dbf.h3_coverash3string('wkt', 'res').alias('result')).collect()
[Row(result=['8126fffffffffff', '81283ffffffffff', '8129bffffffffff', '812a3ffffffffff', '812abffffffffff', '8148fffffffffff', '81263ffffffffff', '81267ffffffffff', '8126bffffffffff'])]