Freigeben über


h3_try_coverash3string

Gibt ein Array von H3-Zell-IDs zurück, die als Zeichenfolgen dargestellt werden und hexagonalen oder pentagonalen Bereichen der angegebenen Auflösung entsprechen, die die lineare oder flächenmäßige Geografie der Eingabe minimal abdecken. Der Ausdruck gibt zurück None , wenn die Geografie nicht linear ist (Linienzeichenfolge oder mehrzeilige Zeichenfolge), areal (Polygon oder Multipolygon) oder wenn beim Analysieren der Eingabe ein Fehler gefunden wird. Der Ausdruck gibt einen Fehler zurück, wenn die Eingabeauflösung ungültig ist. Die zulässigen Eingabedarstellungen sind WKT, GeoJSON und WKB. In den ersten beiden Fällen wird erwartet, dass die Eingabe vom Typ Zeichenfolge sein wird, während im letzten Fall die Eingabe vom Typ BINARY erwartet wird.

Die entsprechende Databricks SQL-Funktion finden Sie unter h3_try_coverash3string Funktion.

Syntax

from pyspark.databricks.sql import functions as dbf

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

Die Parameter

Parameter Typ Description
col1 pyspark.sql.Column oder str Eine Zeichenfolge, die eine lineare oder areale Geografie im WGS84-Koordinatenreferenzsystem im WKT- oder GeoJSON-Format darstellt, oder eine BINARY, die eine lineare oder areale Geografie im WGS84-Koordinatenreferenzsystem im WKB-Format darstellt.
col2 pyspark.sql.Column, stroder int Die Auflösung der H3-Zell-IDs, die den geographischen Bereich abdecken.

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