メインコンテンツまでスキップ

h3_try_tessellateaswkb

指定された解像度で地理をカバーするチップを表す構造体の配列を返します。ジオメトリが無効な場合は null を返します。より正確には、返される配列の要素は、「cellid」、「core」、「chip」という 3 つのフィールド名を持つ名前付き構造体です。

  • 「cellid」フィールドには、入力された地理範囲をカバーする H3 セルの 1 つが含まれます。
  • 「core」フィールドは、「cellid」フィールドの H3 セルの境界ポリゴンが入力地理内に含まれているかどうかを決定します。これは、面積入力地理の場合にのみ発生する可能性があります。セルが入力地理内に含まれている場合、値はTrueに設定され、含まれていない場合はfalseに設定されます。
  • 「chip」フィールドは、「cellid」フィールドの H3 セル ID に対応する H3 セル ポリゴンと、WKB 形式で表される入力地理との (直交) 交差です。配列内の構造体の「cellid」要素として返される H3 セル ID のセットは、入力地理の最小カバー セットです。

対応する Databricks SQL 関数については、 h3_try_tessellateaswkb関数を参照してください。

構文

Python
from pyspark.databricks.sql import functions as dbf

dbf.h3_try_tessellateaswkb(col1=<col1>, col2=<col2>)

パラメーター

パラメーター

Type

説明

col1

pyspark.sql.Column または str

WKT または GeoJSON 形式の WGS84 座標参照システムの地理を表す文字列、または WKB 形式の WGS84 座標参照システムの線形または面的な地理を表す BINARY。

col2

pyspark.sql.Columnstr 、または int

地理をカバーする 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_try_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))')]