Freigeben über


h3_pointash3-Funktion

Gibt die H3-Zellen-ID (als BIGINT) zurück, die dem angegeben Punkt bei der angegebenen Auflösung entspricht.

Gilt für: Häkchen ja Databricks SQL (Vorschau) Häkchen gesetzt ja Databricks Runtime 11.3 LTS und höher

Syntax

h3_pointash3 ( geographyExpr, resolutionExpr )

Argumente

  • geographyExpr: Ein BINARY- oder STRING-Ausdruck, der eine Punktgeografie in WKB, WKT oder GeoJSON darstellt. Für die Geographie werden Längen- und Breitengrade erwartet, die auf WGS84-Koordinatenreferenzsystem verweisen.
  • resolutionExpr: Ein INT-Ausdruck, für den ein Wert zwischen 0 und 15 (einschließlich) erwartet wird und der die Auflösung für die H3-Zellen-ID angibt.

Gibt zurück

Gibt die H3-Zellen-ID (als BIGINT) zurück, die dem angegeben Punkt bei der angegebenen Auflösung entspricht.

Die Funktion gibt NULL zurück, wenn einer der Eingabeausdrücke NULL ist. Wenn das erste Eingabeargument vom Typ BINARY ist, wird erwartet, dass der Eingabewert die WKB-Beschreibung eines Punkts ist. Wenn das erste Eingabeargument vom Typ STRING ist, wird erwartet, dass der Eingabewert entweder die WKT-Beschreibung (https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) oder die GeoJSON-Beschreibung eines Punkts ist. Die Dimension des Eingabepunkts kann 2D, 3DZ, 3DM oder 4D sein. Die Längen- und Breitengradwerte in der WKB-, WKT- oder GeoJSON-Beschreibung werden im WGS84-Koordinatenreferenzsystem erwartet. Die Funktion gibt NULL zurück, wenn die erste Eingabe einem leeren Punkt entspricht.

Fehlerbedingungen

  • Wenn geographyExpr vom Typ BINARY ist und der Wert entweder eine ungültige WKB-Darstellung ist oder keinen Punkt darstellt, gibt die Funktion WKB_PARSE_ERROR zurück.
  • Wenn geographyExpr vom Typ STRING ist und der Wert entweder eine ungültige WKT-Darstellung ist oder keinen Punkt darstellt, gibt die Funktion WKT_PARSE_ERROR zurück.
  • Wenn geographyExpr vom Typ STRING ist und der Wert entweder eine ungültige GeoJSON-Darstellung ist oder keinen Punkt darstellt, gibt die Funktion GEOJSON_PARSE_ERROR zurück.
  • Wenn resolutionExpr kleiner als 0 oder größer als 15 ist, gibt die Funktion H3_INVALID_RESOLUTION_VALUE zurück.

Beispiele

-- Simple example.
> SELECT h3_pointash3('POINT(100 45)', 6)
  604116085645508607

-- The H3 cell ID for the Golden Gate Bridge at resolution 13.
> SELECT h3_pointash3('POINT(-122.4783 37.8199)', 13)
  635714569676958015

-- The function returns NULL if the input is the empty point.
> SELECT h3_pointash3('{"type":"Point","coordinates":[]}', 15)
  null

-- Feeding a multipoint in WKT format instead of a point.
> SELECT h3_pointash3('MULTIPOINT(100 45)', 6)
  [WKT_PARSE_ERROR] Error parsing WKT: Invalid or unsupported type 'MULTIPOINT' at position 1

-- Feeding an invalid GeoJSON string ("type" value is not correct).
> SELECT h3_pointash3('{"type":"POINT","coordinates":[]}', 15)
  [GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"POINT"' at position 9

-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_pointash3(unhex('0201000000516b9a779c9e5ec0c5feb27bf2e84240'), 2)
  [WKB_PARSE_ERROR] Error parsing WKB: Invalid byte order 2 at position 1

-- Resolution is out of range.
> SELECT h3_pointash3('POINT(-122.4783 37.8199)', 16)
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 16 must be between 0 and 15, inclusive