h3_tessellateaswkb
指定された解像度で地理をカバーするチップを表す構造体の配列を返します。より正確には、返される配列の要素は、「cellid」、「core」、「chip」という 3 つのフィールド名を持つ名前付き構造体です。
- 「cellid」フィールドには、入力された地理範囲をカバーする H3 セルの 1 つが含まれます。
- 「core」フィールドは、「cellid」フィールドの H3 セルの境界ポリゴンが入力地理内に含まれているかどうかを決定します。これは、面積入力地理の場合にのみ発生する可能性があります。セルが入力地理内に含まれている場合、値は
Trueに設定され、含まれていない場合はfalseに設定されます。 - 「chip」フィールドは、「cellid」フィールドの H3 セル ID に対応する H3 セル ポリゴンと、WKB 形式で表される入力地理との (直交) 交差です。配列内の構造体の「cellid」要素として返される H3 セル ID のセットは、入力地理の最小カバー セットです。
対応する Databricks SQL 関数については、 h3_tessellateaswkb関数を参照してください。
構文
Python
from pyspark.databricks.sql import functions as dbf
dbf.h3_tessellateaswkb(col1=<col1>, col2=<col2>)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
|
| WKT または GeoJSON 形式の WGS84 座標参照システムの地理を表す文字列、または WKB 形式の WGS84 座標参照システムの線形または面的な地理を表す BINARY。 |
|
| 地理をカバーする H3 セル ID の解像度。 |
例
Python
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()
Output
[Row(cell='802dfffffffffff', wkt='POINT(40 30)'), Row(cell='806bfffffffffff', wkt='MULTIPOINT((20 0),(20 10))')]