Megosztás a következőn keresztül:


H3 térinformatikai függvények

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Az H3 egy globális rácsindexelő rendszer. A rácsrendszerek egy, mint téglalapok vagy háromszögek, alakzatokat használnak felületek mozaikmintázatú borításá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 Z-rendezéssel végzett műveleteOPTIMIZE (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. Az H3 cellaazonosítók használatával elérhető legjobb teljesítmény érdekében használja a nagyméretű egész szám ábrázolást. 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ú, a bemeneti lineáris vagy területi földrajzot teljes mértékben lefedő hexagonok vagy ötszögek minimális halmazának megfelelő H3 cellaazonosítókat (BIGINT-ként) tartalmazó tömböt ad vissza.
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) Egy tömböt ad vissza, amely az adott felbontású hexagonoknak vagy ötszögeknek megfelelő H3 cellaazonosítókat (BIGINT formátumban) tartalmaz, és amelyeket az input területi földrajz által határolt térségben találhatók.
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_coverash3(geographyExpr, resolutionExpr) Egy TÖMB-öt ad vissza H3 cellaazonosítókból (BIGINT-ként reprezentálva), amelyek a megadott felbontás minimális hatszög vagy ötszög készletének felelnek meg, és teljes mértékben lefedik a bemeneti lineáris vagy areális földrajzot, és NULL értéket jelenít meg, ha az első argumentum érvénytelen.
h3_try_coverash3string(geographyExpr, resolutionExpr) A megadott felbontás minimális hatszög- vagy ötszögkészleté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 arealföldrajzot, vagy NULL értéket, ha az első argumentum érvénytelen.
h3_try_polyfillash3(geographyExpr, resolutionExpr) Egy tömböt ad vissza, amely az adott felbontású hexagonoknak vagy ötszögeknek megfelelő H3 cellaazonosítókat (BIGINT formátumban) tartalmaz, és amelyeket az input területi földrajz által határolt térségben találhatók.
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.
h3_try_tessellateaswkb(geographyExpr, resolutionExpr) A bemeneti földrajzi hely tessellációját adja vissza a megadott felbontásban H3 cellákkal, vagy NULL értéket, ha az első argumentum érvénytelen, vagy a függvény nem tudta kiszámítani a tessellációt.

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ő a második H3 cellaazonosítóval, vagy annak gyermeke.
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.
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) Az adott felbontásban visszaadja a bemeneti H3 cella minimum értékkel rendelkező gyermekét.
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ás szerint.

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) Szétszedi a H3 cellaazonosítók bemeneti készletét a beállított felbontásra.