h3_tessellateaswkb
Retorna um array de estruturas representando os chips que cobrem a geografia na resolução especificada. Mais precisamente, os elementos da matriz retornada são estruturas nomeadas com três campos chamados "cellid", "core" e "chip":
- O campo "cellid" contém uma das células H3 que abrangem a geografia de entrada.
- O campo "core" determina se o polígono limite da célula H3 no campo "cellid" está contido dentro da área geográfica de entrada. Isso só pode acontecer para geografias de entrada de área. Se a célula estiver contida na geografia de entrada, o valor será definido como
Trueefalsecaso contrário. - O campo "chip" é a intersecção (cartesiana) do polígono da célula H3, correspondente ao ID da célula H3 no campo "cellid", com a geografia de entrada, representada no formato WKB. O conjunto de IDs de células H3 retornados como elementos "cellid" das estruturas na matriz é um conjunto de cobertura mínima para a geografia de entrada.
Para a função Databricks SQL correspondente, consulte a funçãoh3_tessellateaswkb.
Sintaxe
Python
from pyspark.databricks.sql import functions as dbf
dbf.h3_tessellateaswkb(col1=<col1>, col2=<col2>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Uma sequência de caracteres representando uma geografia no sistema de referência de coordenadas WGS84 em formato WKT ou GeoJSON, ou um valor BINÁRIO representando uma geografia linear ou areal no sistema de referência de coordenadas WGS84 em formato WKB. |
|
| A resolução dos IDs de células H3 que cobrem a área geográfica. |
Exemplos
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))')]