Sdílet prostřednictvím


h3_tessellateaswkb

Vrátí pole struktur představujících čipy pokrývající zeměpisné oblasti v zadaném rozlišení. Přesněji řečeno, prvky vráceného pole jsou pojmenované struktury se třemi poli s názvy "cellid", "core" a "chip".

  • Pole "cellid" obsahuje jednu z buněk H3 pokrývajících vstupní zeměpisnou oblast.
  • Pole "jádro" určuje, zda je hranice polygonu buňky H3, uvedená v poli "cellid", obsažena ve vstupní geografii. K tomu může dojít pouze u plošných vstupních geografií. Pokud je buňka obsažena ve vstupní zeměpisné oblasti, hodnota je nastavena na True, a false jinak.
  • Pole "chip" je kartézský průsečík mnohoúhelníku buňky H3, který odpovídá ID buňky H3 v poli "cellid" se vstupní zeměpisnou oblastí ve formě WKB. Sada ID buněk H3, která je vrácena jako elementy „cellid“ ve strukturách v poli, představuje minimální pokrytí pro zadanou zeměpisnou oblast.

Odpovídající funkci SQL Databricks vizte funkceh3_tessellateaswkb.

Syntaxe

from pyspark.databricks.sql import functions as dbf

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

Parametry

Parameter Typ Description
col1 pyspark.sql.Column nebo str Řetězec představující zeměpisnou oblast v referenčním systému souřadnic WGS84 ve formátu WKT nebo GeoJSON nebo BINARY představující lineární nebo areální geografii v referenčním systému souřadnic WGS84 ve formátu WKB.
col2 pyspark.sql.Column, str nebo int Rozlišení ID buněk H3 pokrývajících geografickou oblast.

Examples

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))')]