Bagikan melalui


geo_h3cell_rings()

Menghitung Cincin sel H3.

Baca selengkapnya tentang Sel H3.

Sintaks

geo_h3cell_rings(h3cell,distance)

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Jenis Diperlukan Deskripsi
h3cell string ✔️ Nilai token Sel H3 karena dihitung oleh geo_point_to_h3cell().
Jarak int ✔️ Menentukan jarak cincin maksimum dari sel tertentu. Jarak yang valid berada dalam rentang [0, 142].

Mengembalikan

Array array cincin yang diurutkan di mana cincin pertama berisi sel asli, cincin kedua berisi sel tetangga, dan sebagainya. Jika Sel H3 atau jarak tidak valid, kueri menghasilkan hasil null.

Catatan

  • Hanya untuk tetangga terdekat H3 Cell, silakan lihat geo_h3cell_neighbors().
  • Sel mungkin tidak ada di ring jika distorsi pentagonal ditemui.

Contoh

Contoh berikut menghasilkan cincin hingga jarak 2.

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

Output

cincin
[
["861f8894fffffff"],
["861f88947ffffff","861f8895fffffff","861f88867ffffff","861f8d497ffffff","861f8d4b7ffffff","861f8896fffffff"],
["861f88967ffffff","861f88977ffffff","861f88957ffffff","861f8882fffffff","861f88877ffffff","861f88847ffffff","861f8886fffffff","861f8d49fffffff","861f8d487ffffff","861f8d4a7ffffff","861f8d59fffffff","861f8d597ffffff"]
]

Contoh berikut menghasilkan semua sel pada level 1 (semua tetangga).

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

Output

tetangga
["861f88947ffffff", "861f8895fffffff", "861f88867ffffff", "861f8d497ffffff", "861f8d4b7ffffff","861f8896fffffff"]

Contoh berikut menghasilkan daftar sel dari semua cincin.

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

Output

sel
["861f8894fffffff","861f88947ffffff","861f8895fffffff","861f88867ffffff","861f8d497ffffff","861f8d4b7ffffff","861f8896fffffff"]

Contoh berikut menyusun koleksi geometri GeoJSON dari semua sel.

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

Output

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

Contoh berikut menampilkan true karena sel yang tidak valid.

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

Output

is_null
1

Contoh berikut menampilkan true karena jarak yang tidak valid.

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

Output

is_null
1