Fungsi geospasial H3

Berlaku untuk:check marked yes Databricks SQL check marked yes Databricks Runtime

H3 adalah sistem pengindeksan kisi global. Sistem kisi menggunakan bentuk, seperti persegi panjang atau segitiga, untuk tessellate permukaan, yang dalam hal ini adalah permukaan Bumi. Sistem H3 dirancang untuk menggunakan segi enam (dan beberapa segi lima), dan menawarkan 16 tingkat resolusi dalam hierarkinya. Pada resolusi yang lebih tinggi, bentuk tesselasi lebih kecil.

Ekspresi H3 hanya didukung dalam kluster yang diaktifkan Photon dan gudang Databricks SQL di tingkat Databricks SQL pro dan tanpa server.

Baca selengkapnya tentang resolusi H3, dan tentang asal-usul H3.

Lihat juga:

H3 untuk Analitik Geospasial

H3 mendukung pola umum untuk memproses dan menganalisis data spasial. Mulailah dengan mengindeks data geospasial dari format standar (garis lintang dan bujur, Teks terkenal (WKT), Biner terkenal (WKB), atau ID sel GeoJSON ke H3. Dengan satu himpunan data, Anda dapat mengagregasi menurut ID sel untuk menjawab pertanyaan berbasis lokasi. Dengan beberapa himpunan data terindeks, Anda dapat menggabungkannya menggunakan ID sel, mengungkapkan bagaimana himpunan data yang berbeda berhubungan satu sama lain. Gabungan himpunan data ini secara semantik merupakan gabungan spasial, tetapi tanpa perlu predikat spasial.

Apa manfaat menggunakan H3 dalam Databricks?

Manfaatkan fitur Delta Lake untuk penyimpanan dan tata letak data terindeks H3 Anda yang efisien. Operasi OPTIMIZE Delta Lake dengan pengurutan Z (pada ID sel H3) memungkinkan Anda menemukan data secara spasial. Selanjutnya, algoritma lompati data Delta Lake menggunakan ko-lokalitas untuk secara cerdas mengurangi volume data yang perlu dibaca.

Anda memiliki fleksibilitas dalam cara Anda bekerja dengan data. Anda dapat memilih untuk bekerja dengan ID sel H3 yang disimpan sebagai bilangan bulat atau string besar. Untuk performa terbaik menggunakan ID sel H3, gunakan representasi bilangan bulat besar. Untuk penggunaan rinci ekspresi H3, lihat panduan referensi SQL.

Catatan

Anda tidak perlu menginstal pustaka H3. Ini termasuk sebagai dependensi yang terlihat dalam Databricks Runtime, dimulai dengan Databricks Runtime 11.2, menggunakan versi 3.7.0 dari pustaka H3 Java.

Mengimpor fungsi Databricks untuk mendapatkan H3 (Databricks Runtime)

Tidak diperlukan impor untuk Databricks SQL dan Spark SQL.

Untuk mengimpor fungsi H3 untuk Python atau Scala di notebook, gunakan perintah berikut:

Python

from pyspark.databricks.sql import functions as dbf

Scala

import com.databricks.sql.functions._

Daftar fungsi geospasial H3 (Databricks SQL)

Impor

Function Deskripsi
h3_coverash3(geographyExpr, resolutionExpr) Mengembalikan ARRAY ID sel H3 (direpresentasikan sebagai BIGINT) yang sesuai dengan sekumpulan segi enam atau segi enam minimal, dari resolusi yang ditentukan, yang sepenuhnya mencakup linier input atau geografi areal.
h3_coverash3string(geographyExpr, resolutionExpr) Mengembalikan ARRAY ID sel H3 (direpresentasikan sebagai STRING) yang sesuai dengan sekumpulan segi enam atau segi enam minimal, dari resolusi yang ditentukan, yang sepenuhnya mencakup geografi linier input atau areal.
h3_longlatash3(longitudeExpr, latitudeExpr, resolutionExpr) Mengembalikan ID sel H3 (sebagai BIGINT) yang sesuai dengan garis bujur dan garis lintang yang disediakan pada resolusi yang ditentukan.
h3_longlatash3string(longitudeExpr, latitudeExpr, resolutionExpr) Mengembalikan ID sel H3 (sebagai STRING heksadesimal) yang sesuai dengan garis bujur dan garis lintang yang disediakan pada resolusi yang ditentukan.
h3_pointash3(geographyExpr, resolutionExpr) Mengembalikan ID sel H3 (sebagai BIGINT) yang sesuai dengan titik yang disediakan pada resolusi yang ditentukan.
h3_pointash3string(geographyExpr, resolutionExpr) Mengembalikan ID sel H3 (sebagai STRING) yang sesuai dengan titik yang disediakan pada resolusi yang ditentukan.
h3_polyfillash3(geographyExpr, resolutionExpr) Mengembalikan ARRAY ID sel H3 (direpresentasikan sebagai BIGINT) yang terkait dengan segi enam atau segi enam, dari resolusi yang ditentukan, yang dimuat oleh geografi areal input.
h3_polyfillash3string(geographyExpr, resolutionExpr) Mengembalikan ARRAY ID sel H3 (direpresentasikan sebagai STRING) yang terkait dengan segi enam atau segi enam, dari resolusi yang ditentukan, yang dimuat oleh geografi areal input.
h3_tessellateaswkb(geographyExpr, resolutionExpr) Mengembalikan tessellation geografi input menggunakan sel H3 pada resolusi yang ditentukan.
h3_try_polyfillash3(geographyExpr, resolutionExpr) Mengembalikan ARRAY ID sel H3 (direpresentasikan sebagai BIGINT) yang terkait dengan segi enam atau segi enam, dari resolusi yang ditentukan, yang dimuat oleh geografi areal input.
h3_try_polyfillash3string(geographyExpr, resolutionExpr) Mengembalikan ARRAY ID sel H3 (direpresentasikan sebagai STRING) yang terkait dengan segi enam atau segi enam, dari resolusi yang ditentukan, yang dimuat oleh geografi areal input.

Ekspor

Function Deskripsi
h3_boundaryasgeojson(h3CellIdExpr) Menampilkan batas poligonal sel H3 input dalam format GeoJSON.
h3_boundaryaswkb(h3CellIdExpr) Menampilkan batas poligonal sel H3 input dalam format WKB.
h3_boundaryaswkt(h3CellIdExpr) Menampilkan batas poligonal sel H3 input dalam format WKT.
h3_centerasgeojson(h3CellIdExpr) Menampilkan pusat sel H3 input sebagai titik dalam format GeoJSON.
h3_centeraswkb(h3CellIdExpr) Menampilkan pusat sel H3 input sebagai titik dalam format WKB.
h3_centeraswkt(h3CellIdExpr) Menampilkan pusat sel H3 input sebagai titik dalam format WKT.

Konversi

Function Deskripsi
h3_h3tostring(h3CellIdExpr) Mengonversi ID sel H3 input ke representasi string heksadesimal yang setara.
h3_stringtoh3(h3CellIdStringExpr) Mengonversi string input, yang diharapkan menjadi string heksadesimal yang mewakili ID sel H3, ke representasi BIGINT yang sesuai dari ID sel H3.

Predikat

Function Deskripsi
h3_ischildof(h3CellId1Expr, h3CellId2Expr) Mengembalikan true jika ID sel H3 pertama sama dengan atau anak dari ID sel H3 kedua.
h3_ispentagon(h3CellIdExpr) Menampilkan true jika input BIGINT atau STRING heksadesimal sesuai dengan sel H3 pentagonal atau tidak.

Validitas

Function Deskripsi
h3_isvalid(expr) Mengembalikan true jika input BIGINT atau STRING adalah ID sel H3 yang valid.
h3_try_validate(h3CellIdExpr) Mengembalikan nilai input, yaitu jenis BIGINT atau STRING, jika sesuai dengan ID sel H3 yang valid, atau NULL sebaliknya.
h3_validate(h3CellIdExpr) Mengembalikan nilai input, yaitu jenis BIGINT atau STRING, jika sesuai dengan ID sel H3 yang valid, atau mengeluarkan kesalahan sebaliknya.
Function Deskripsi
h3_distance(h3CellId1Expr, h3CellId2Expr) Mengembalikan jarak kisi dari dua ID sel H3 input.
h3_hexring(h3CellIdExpr, kExpr) Mengembalikan array ID sel H3 yang membentuk cincin heksagonal berongga yang berpusat di sel H3 asal dan berada pada jarak k kisi dari sel H3 asal.
h3_kring(h3CellIdExpr, kExpr) Mengembalikan ID sel H3 yang berada dalam jarak k (kisi) ID sel asal.
h3_kringdistances(h3CellIdExpr, kExpr) Mengembalikan semua ID sel H3 (direpresentasikan sebagai bilangan bulat atau string panjang) dalam jarak k kisi dari ID sel H3 asal, bersama dengan jaraknya dari ID sel H3 asal.
h3_try_distance(h3CellId1Expr, h3CellId2Expr) Mengembalikan jarak kisi dari dua ID sel H3 input dengan resolusi yang sama, atau NULL jika jarak tidak terdefinisi.

Traversal

Function Deskripsi
h3_maxchild(h3CellIdExpr, resolutionExpr) Mengembalikan turunan dari nilai maksimum sel H3 input pada resolusi yang ditentukan.
h3_minchild(h3CellIdExpr, resolutionExpr) Mengembalikan turunan dari nilai minimum sel H3 input pada resolusi yang ditentukan.
h3_resolution(h3CellIdExpr) Mengembalikan resolusi ID sel H3 input.
h3_tochildren(h3CellIdExpr, resolutionExpr) Mengembalikan array dari ID sel H3 anak dari ID sel H3 input pada resolusi yang ditentukan.
h3_toparent(h3CellIdExpr, resolutionExpr) Mengembalikan ID sel H3 induk dari ID sel H3 input pada resolusi yang ditentukan.

Pemadatan Log

Function Deskripsi
h3_compact(h3CellIdsExpr) Memampatkan set input ID sel H3 sebaik mungkin.
h3_uncompact(h3CellIdsExpr, resolutionExpr) Membatalkan ringkas set input ID sel H3 ke resolusi yang ditentukan.