H3 térinformatikai függvények

A következőkre vonatkozik:check marked yes Databricks SQL check marked yes 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 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ét

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.
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.