H3 térinformatikai függvények
A következőkre vonatkozik: Databricks SQL Databricks Runtime
A H3 egy globális rácsindexelő rendszer. A rácsrendszerek egy alakzatot, például téglalapokat vagy háromszögeket használnak egy felület tessellate-hoz, amely ebben az esetben a Föld felszíne. A H3 rendszer úgy lett kialakítva, hogy hatszögeket (és néhány ötszöget) használjon, és 16 szintű felbontást kínál a hierarchián belül. Nagyobb felbontás esetén a tesselated alakzatok kisebbek.
A H3-kifejezések csak a Photon-kompatibilis fürtökben és a Databricks SQL Warehouse-ban támogatottak a Databricks SQL Pro és a kiszolgáló nélküli szinteken.
További információ a H3-felbontásokról és a H3 eredetéről.
Lásd még:
- H3 rövid útmutató (Databricks SQL)
- Példa H3 térinformatikai függvényekre
- A H3 térinformatikai függvények betűrendes listája
H3 térinformatikai elemzéshez
A H3 támogatja a térbeli adatok feldolgozásának és elemzésének gyakori mintáját. Először is indexelje a térinformatikai adatokat szabványos formátumokból (szélesség és hosszúság, jól ismert szöveg (WKT), jól ismert bináris (WKB) vagy GeoJSON-ból H3 cellaazonosítókba. Egyetlen adatkészlettel cellaazonosító alapján összesíthető a helyalapú kérdések megválaszolásához. Több indexelt adatkészlettel kombinálhatja őket a cellaazonosítók használatával, és felfedheti, hogy a különböző adathalmazok hogyan kapcsolódnak egymáshoz. Az adathalmazok összekapcsolása szemantikailag térbeli illesztés, térbeli predikátum nélkül.
Milyen előnyökkel jár a H3 használata a Databricksben?
Használja ki a Delta Lake funkcióit a H3 indexelt adatok hatékony tárolásához és elrendezéséhez. A Delta Lake OPTIMIZE művelete Z-rendezéssel (H3 cellaazonosítókon) lehetővé teszi az adatok térbeli társkeresését. Emellett a Delta Lake adatátugrási algoritmusai a közös helység használatával intelligensen csökkentik az olvasandó adatok mennyiségét.
Rugalmasan dolgozhat az adatokkal. Dönthet úgy, hogy nagy egész számként vagy sztringként tárolt H3 cellaazonosítókkal dolgozik. A H3 cellaazonosítók használatával nyújtott legjobb teljesítmény érdekében használja a nagy egész szám ábrázolása. A H3-kifejezések részletes használatához tekintse meg az SQL referencia-útmutatóját.
Feljegyzés
Nem kell telepítenie a H3-kódtárat. Látható függőségként szerepel a Databricks Runtime-ban, kezdve a Databricks Runtime 11.2-es verziójával, a H3 Java-kódtár 3.7.0-s verziójával.
Databricks-függvények importálása a H3 lekéréséhez (Databricks Runtime)
Nincs szükség importálásra a Databricks SQL-hez és a Spark SQL-hez.
Ha A Python vagy a Scala H3-függvényeit jegyzetfüzetekbe szeretné importálni, használja az alábbi parancsokat:
Python
from pyspark.databricks.sql import functions as dbf
Scala
import com.databricks.sql.functions._
H3 térinformatikai függvények listája (Databricks SQL)
Importálás
Függvény | Leírás |
---|---|
h3_coverash3(geographyExpr, resolutionExpr) | A megadott felbontás minimális hexagonjainak vagy ötszögeinek megfelelő H3 cellaazonosítókat (BIGINT-ként) tartalmazó tömböt ad vissza, amely teljes mértékben lefedi a bemeneti lineáris vagy az isalföldrajzi adatokat. |
h3_coverash3string(geographyExpr, resolutionExpr) | A megadott felbontás minimális hatszögének vagy ötszögének megfelelő H3 cellaazonosítókat (sztringként ábrázolva) tartalmazó tömböt ad vissza, amely teljes mértékben lefedi a bemeneti lineáris vagy az arealföldrajzot. |
h3_longlatash3(longitudeExpr, latitudeExpr, resolutionExpr) | A megadott hosszúságnak és szélességnek megfelelő H3 cellaazonosítót adja vissza (BIGINT-ként) a megadott felbontásnál. |
h3_longlatash3string(longitudeExpr, latitudeExpr, resolutionExpr) | A megadott hosszúságnak és szélességnek megfelelő H3 cellaazonosítót adja vissza (hexadecimális sztringként) a megadott felbontásban. |
h3_pointash3(geographyExpr, resolutionExpr) | A megadott pontnak megfelelő H3 cellaazonosítót adja vissza (BIGINT-ként) a megadott felbontásban. |
h3_pointash3string(geographyExpr, resolutionExpr) | A megadott pontnak megfelelő H3 cellaazonosítót adja vissza (sztringként) a megadott felbontásban. |
h3_polyfillash3(geographyExpr, resolutionExpr) | A megadott felbontás hexagonjainak vagy ötszögeinek megfelelő H3 cellaazonosítókat (BIGINT-ként) tartalmazó tömböt ad vissza, amelyeket a bemenetek földrajzi helyének tekintenek. |
h3_polyfillash3string(geographyExpr, resolutionExpr) | A megadott felbontás hatszögeinek vagy ötszögeinek megfelelő H3 cellaazonosítókat (sztringként ábrázolt) tömböt ad vissza, amelyeket a bemenet tartalmaz. |
h3_tessellateaswkb(geographyExpr, resolutionExpr) | A bemeneti földrajzi hely tessellációját adja vissza A megadott felbontásban H3 cellák használatával. |
h3_try_polyfillash3(geographyExpr, resolutionExpr) | A megadott felbontás hexagonjainak vagy ötszögeinek megfelelő H3 cellaazonosítókat (BIGINT-ként) tartalmazó tömböt ad vissza, amelyeket a bemenetek földrajzi helyének tekintenek. |
h3_try_polyfillash3string(geographyExpr, resolutionExpr) | A megadott felbontás hatszögeinek vagy ötszögeinek megfelelő H3 cellaazonosítókat (sztringként ábrázolt) tömböt ad vissza, amelyeket a bemenet tartalmaz. |
Exportálás
Függvény | Leírás |
---|---|
h3_boundaryasgeojson(h3CellIdExpr) | A bemeneti H3 cella sokszöghatárát adja vissza GeoJSON formátumban. |
h3_boundaryaswkb(h3CellIdExpr) | A bemeneti H3 cella sokszöghatárát adja vissza WKB formátumban. |
h3_boundaryaswkt(h3CellIdExpr) | A bemeneti H3 cella sokszöghatárát adja vissza WKT formátumban. |
h3_centerasgeojson(h3CellIdExpr) | A bemeneti H3 cella középpontját adja vissza pontként GeoJSON formátumban. |
h3_centeraswkb(h3CellIdExpr) | A bemeneti H3 cella középpontját adja vissza pontként WKB formátumban. |
h3_centeraswkt(h3CellIdExpr) | A bemeneti H3 cella középpontját adja vissza pontként WKT formátumban. |
Konverziók
Függvény | Leírás |
---|---|
h3_h3tostring(h3CellIdExpr) | A bemeneti H3 cellaazonosítót a megfelelő hexadecimális sztring-ábrázolássá alakítja. |
h3_stringtoh3(h3CellIdStringExpr) | A bemeneti sztringet, amely várhatóan egy H3 cellaazonosítót képviselő hexadecimális sztring lesz, a H3 cellaazonosító megfelelő BIGINT-ábrázolására konvertálja. |
Predikátumok
Függvény | Leírás |
---|---|
h3_ischildof(h3CellId1Expr, h3CellId2Expr) | Igaz értéket ad vissza, ha az első H3 cellaazonosító egyenlő, vagy a második H3 cellaazonosító gyermekének felel meg. |
h3_ispentagon(h3CellIdExpr) | Igaz értéket ad vissza, ha a bemeneti BIGINT vagy hexadecimális SZTRING egy ötszögletes H3 cellának felel meg, vagy sem. |
Érvényesség
Függvény | Leírás |
---|---|
h3_isvalid(kifejezés) | Igaz értéket ad vissza, ha a bemeneti BIGINT vagy a SZTRING érvényes H3 cellaazonosító. |
h3_try_validate(h3CellIdExpr) | A BIGINT vagy a STRING típusú bemeneti értéket adja vissza, ha az érvényes H3 cellaazonosítónak vagy null értékűnek felel meg. |
h3_validate(h3CellIdExpr) | A BIGINT vagy STRING típusú bemeneti értéket adja vissza, ha az érvényes H3 cellaazonosítónak felel meg, vagy ellenkező esetben hibát jelez. |
Távolsághoz kapcsolódó
Függvény | Leírás |
---|---|
h3_distance(h3CellId1Expr, h3CellId2Expr) | A két bemeneti H3 cellaazonosító rácstávolságát adja vissza. |
h3_hexring(h3CellIdExpr, kExpr) | A H3 cellaazonosítók tömbjét adja vissza, amelyek egy üres hatszögletű gyűrűt alkotnak, amely a forrás H3 cellánál középre van állítva, és amelyek rácstávolságban k vannak a forrás H3 cellától. |
h3_kring(h3CellIdExpr, kExpr) | Azokat a H3 cellaazonosítókat adja vissza, amelyek a forráscella azonosítójának (rács) távolságán k belül vannak. |
h3_kringdistances(h3CellIdExpr, kExpr) | Visszaadja az összes H3 cellaazonosítót (hosszú egész számként vagy sztringként jelölve) a H3 cellaazonosító forrásától való rácstávolságon k belül, valamint a forrás H3 cellaazonosítójától való távolságukat. |
h3_try_distance(h3CellId1Expr, h3CellId2Expr) | Az azonos felbontású két bemeneti H3 cellaazonosító rácstávolságát adja vissza, vagy NULL értéket, ha a távolság nincs meghatározva. |
Bejárás
Függvény | Leírás |
---|---|
h3_maxchild(h3CellIdExpr, resolutionExpr) | A bemeneti H3 cella maximális értékének gyermekét adja vissza a megadott felbontásban. |
h3_minchild(h3CellIdExpr, resolutionExpr) | A megadott felbontásban a bemeneti H3 cella minimális értékének gyermekét adja vissza. |
h3_resolution(h3CellIdExpr) | A bemeneti H3 cellaazonosító felbontását adja vissza. |
h3_tochildren(h3CellIdExpr, resolutionExpr) | A bemeneti H3 cellaazonosító gyermek H3 cellaazonosítóinak tömbét adja vissza a megadott felbontásban. |
h3_toparent(h3CellIdExpr, resolutionExpr) | A bemeneti H3 cellaazonosító szülő H3 cellaazonosítóját adja vissza a megadott felbontásban. |
Tömörítés
Függvény | Leírás |
---|---|
h3_compact(h3CellIdsExpr) | A lehető legjobban tömöríti a H3 cellaazonosítók bemeneti készletét. |
h3_uncompact(h3CellIdsExpr, resolutionExpr) | Feloldja a H3 cellaazonosítók bemeneti készletét a megadott felbontáshoz. |