Fungsi geospasial H3
Berlaku untuk: Databricks SQL 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. |
Jarak terkait
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. |