Partager via


h3_try_coverash3string

Retourne un tableau d’ID de cellule H3 représenté sous forme de chaînes, correspondant à des hexagones ou à des pentagones de la résolution spécifiée qui couvrent minimalement le linéaire d’entrée ou la zone géographique. L’expression retourne None si la géographie n’est pas linéaire (linestring ou multilignestring), areal (polygone ou multipolygon) ou si une erreur est trouvée lors de l’analyse de l’entrée. L’expression retourne une erreur si la résolution d’entrée n’est pas valide. Les représentations d’entrée acceptables sont WKT, GeoJSON et WKB. Dans les deux premiers cas, l’entrée est censée être de type chaîne, tandis que dans le dernier cas, l’entrée est censée être de type BINARY.

Pour la fonction SQL Databricks correspondante, consultez h3_try_coverash3string.

Syntaxe

from pyspark.databricks.sql import functions as dbf

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

Paramètres

Paramètre Type Descriptif
col1 pyspark.sql.Column ou str Chaîne représentant une zone géographique linéaire ou areale dans le système de référence de coordonnées WGS84 au format WKT ou GeoJSON, ou binaire représentant une géographie linéaire ou areale dans le système de référence de coordonnées WGS84 au format WKB.
col2 pyspark.sql.Column, str ou int Résolution des ID de cellule H3 qui couvrent la zone géographique.

Examples

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 1),],['wkt', 'res'])
df.select(dbf.h3_try_coverash3string('wkt', 'res').alias('result')).collect()
[Row(result=['8126fffffffffff', '81283ffffffffff', '8129bffffffffff', '812a3ffffffffff',     '812abffffffffff', '8148fffffffffff', '81263ffffffffff', '81267ffffffffff', '8126bffffffffff'])]
df_invalid = spark.createDataFrame([('invalid input', 1),], ['wkt', 'res'])
df_invalid.select(dbf.h3_try_coverash3string('wkt', 'res').alias('result')).collect()
[Row(result=None)]