geo_h3cell_rings()

Berechnet die H3-Zellringe.

Weitere Informationen finden Sie unter H3 Cell.

Syntax

geo_h3cell_rings(h3cell,Distanz)

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich BESCHREIBUNG
h3cell string ✔️ Ein H3 Cell-Tokenwert, wie er von geo_point_to_h3cell()berechnet wurde.
distance int ✔️ Definiert den maximalen Ringabstand von einer bestimmten Zelle. Der gültige Abstand liegt im Bereich [0, 142].

Gibt zurück

Ein geordnetes Array von Ringarrays, bei dem der erste Ring die ursprüngliche Zelle, der zweite Ring benachbarte Zellen enthält usw. Wenn entweder die H3-Zelle oder der Abstand ungültig ist, erzeugt die Abfrage ein NULL-Ergebnis.

Hinweis

  • Nur für unmittelbare Nachbarn der H3-Zelle finden Sie weitere Informationen unter geo_h3cell_neighbors()..
  • Eine Zelle ist möglicherweise nicht im Ring vorhanden, wenn eine fünfeckige Verzerrung aufgetreten ist.

Beispiele

Im folgenden Beispiel werden Ringe bis abstand 2 erzeugt.

print rings = geo_h3cell_rings('861f8894fffffff', 2)

Ausgabe

Ringe
[
["861f8894fffffff"],
["861f88947ffff","861f8895fffffff","861f88867ffffff","861f8d497ffffff","861f8d4b7ffffff","861f8896fffffff";
["861f88967ffff","861f88977ffff","861f88957ffffff","861f8882fffffff","861f88877ff","861f88847ffff" "861f8886fffffff","861f8d49fffffff","861f8d487ffffff","861f8d4a7ffffff","861f8d59fffffffff","861f8d597ffffff"]
]

Im folgenden Beispiel werden alle Zellen auf Ebene 1 (alle Nachbarn) erzeugt.

print neighbors = geo_h3cell_rings('861f8894fffffff', 1)[1]

Ausgabe

Nachbarn
["861f88947ffff", "861f8895fffffff", "861f88867ffffff", "861f8d497ffffff", "861f8d4b7ffffffff","861f8896fffffff"]

Das folgende Beispiel erzeugt eine Liste von Zellen aus allen Ringen.

print rings = geo_h3cell_rings('861f8894fffffff', 1)
| mv-apply rings on 
(
  summarize cells = make_list(rings)
)

Ausgabe

Zellen
["861f8894fffff","861f88947ffff","861f8895fffff","861f88867ffffff","861f8d497ffff","861f8d4b7ffffffff","861f8896fffffff"]

Im folgenden Beispiel wird die GeoJSON-Geometrieauflistung aller Zellen zusammengesetzt.

print rings = geo_h3cell_rings('861f8894fffffff', 1)
| mv-apply rings on 
(
  summarize make_list(rings)
)
| mv-expand list_rings to typeof(string)
| project polygon = geo_h3cell_to_polygon(list_rings)
| summarize polygon_lst = make_list(polygon)
| project geojson = bag_pack(
    "type", "Feature",
    "geometry", bag_pack("type", "GeometryCollection", "geometries", polygon_lst),
    "properties", bag_pack("name", "H3 polygons collection"))

Ausgabe

geojson
{ "type": "Feature", "geometry": { "type": "GeometryCollection", "geometries": [ ... ... ... ]}, "properties": { "name": "H3 polygons collection" }}

Im folgenden Beispiel wird aufgrund der ungültigen Zelle true zurückgegeben.

print is_null = isnull(geo_h3cell_rings('abc', 3))

Ausgabe

is_null
1

Im folgenden Beispiel wird aufgrund des ungültigen Abstands true zurückgegeben.

print is_null = isnull(geo_h3cell_rings('861f8894fffffff', 150))

Ausgabe

is_null
1