指定した解像度で geography をカバーするチップを表す構造体の配列を返します。 より正確には、返される配列の要素は、"cellid"、"core"、および "chip" という 3 つのフィールド名を持つ構造体という名前です。
- "cellid" フィールドには、入力地理をカバーする H3 セルのいずれかが含まれています。
- "core" フィールドは、"cellid" フィールドの H3 セルの境界ポリゴンが入力地理内に含まれているかどうかを決定します。 これは、面積入力地理に対してのみ発生します。 セルが入力 geography に含まれている場合、値は
Trueに設定され、それ以外の場合はfalse。 - "chip" フィールドは、"cellid" フィールドの H3 セル ID に対応する H3 セル ポリゴンと、入力ジオメトリの WKB 形式で表される部分との (デカルト) 交差部分です。 配列内の構造体の "cellid" 要素として返される H3 セル ID のセットは、入力地理データの最小被覆集合です。
対応する Databricks SQL 関数については、 h3_tessellateaswkb 関数を参照してください。
構文
from pyspark.databricks.sql import functions as dbf
dbf.h3_tessellateaswkb(col1=<col1>, col2=<col2>)
パラメーター
| パラメーター | タイプ | Description |
|---|---|---|
col1 |
pyspark.sql.Column または str |
WKT 形式または GeoJSON 形式の WGS84 座標参照システムの地理を表す文字列、または WKB 形式の WGS84 座標参照システムの線形または等値地理を表す BINARY。 |
col2 |
pyspark.sql.Column、str、または int |
地理をカバーする H3 セル ID の解像度。 |
例示
from pyspark.databricks.sql import functions as dbf
from pyspark.sql import functions as f
df = spark.createDataFrame([('MULTIPOINT(20 0,20 10,40 30)', 0),], ['wkt', 'res'])
chips = df.select(
... f.inline(dbf.h3_tessellateaswkb('wkt', 'res')).alias('cell', 'core', 'chip'))
chips.select(dbf.h3_h3tostring('cell').alias('cell'),
... dbf.st_astext(dbf.st_geomfromwkb('chip')).alias('wkt')).collect()
[Row(cell='802dfffffffffff', wkt='POINT(40 30)'), Row(cell='806bfffffffffff', wkt='MULTIPOINT((20 0),(20 10))')]