Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime
H3 je globální systém indexování mřížky. Mřížkové systémy používají tvar, jako jsou obdélníky nebo trojúhelníky, k překrytí povrchu, což je v tomto případě povrch Země. Systém H3 byl navržen tak, aby používal šestiúhelníky (a několik pětiúhelníků) a v rámci své hierarchie nabízí 16 úrovní rozlišení. Ve vyšším rozlišení jsou tesselované obrazce menší.
Ve službě Databricks Runtime 17.0 nebo novějších se výrazy H3 podporují na všech výpočetních typech kromě klasických skladů Databricks SQL, včetně clusterů, které nejsou foton.
Přečtěte si další informace o rozlišeních H3 a o původech H3.
Viz také:
- Rychlý start H3 (Databricks SQL)
- Příklad geoprostorových funkcí H3
- abecední seznam geoprostorových funkcí H3
H3 pro geoprostorovou analýzu
H3 podporuje běžný vzor pro zpracování a analýzu prostorových dat. Začněte indexováním geoprostorových dat ze standardních formátů (zeměpisná šířka a délka, dobře známý text (WKT), dobře známý binární soubor (WKB) nebo GeoJSON na ID buněk H3. S jednou datovou sadou můžete agregovat podle ID buňky a odpovídat na otázky řízené umístěním. S několika indexovanými datovými sadami je můžete kombinovat pomocí ID buněk a odhalit, jak různorodé datové sady vzájemně souvisejí. Toto spojení datových sad je sémanticky prostorové spojení, ale bez nutnosti prostorového predikátu.
Jaké jsou výhody používání H3 v Databricks?
Využijte funkce Delta Lake k efektivnímu ukládání a rozložení indexovaných dat H3. Kapalinové shlukování na ID buněk H3 umožňuje prostorově společně najít data. Algoritmy přeskakování dat Delta Lake navíc využívají spolulokalizaci k inteligentnímu snížení objemu dat, která je potřeba číst.
Máte flexibilitu při práci s daty. Můžete se rozhodnout pracovat s ID buněk H3 uloženými jako velká celá čísla nebo řetězce. Pokud chcete dosáhnout nejlepšího výkonu pomocí ID buněk H3, použijte velké celočíselné vyjádření. Podrobné použití výrazů H3 najdete v referenční příručce SQL.
Poznámka:
Knihovnu H3 nemusíte instalovat. Je součástí viditelné závislosti v Databricks Runtime počínaje Databricks Runtime 11.2 s použitím verze 3.7.0 knihovny H3 Java.
Import funkcí Databricks pro získání H3 (Databricks Runtime)
Pro Databricks SQL a Spark SQL není potřeba žádný import.
K importu funkcí H3 pro Python nebo Scala v poznámkových blocích použijte následující příkazy:
Python
from pyspark.databricks.sql import functions as dbf
Scala
import com.databricks.sql.functions._
Seznam geoprostorových funkcí H3 (Databricks SQL)
Dovoz
| Funkce | Popis |
|---|---|
| h3_coverash3(geographyExpr, resolutionExpr) | Vrátí pole ID buněk H3 (reprezentované jako BIGINT), které odpovídají minimální sadě šestnáctkových nebo pětiúhelníků zadaného rozlišení, které plně pokrývají vstupní lineární nebo areální geografii. |
| h3_coverash3string(geographyExpr, resolutionExpr) | Vrátí pole ID buněk H3 (reprezentované jako STRING) odpovídající minimální sadě šestiúhelníku nebo pětiúhelníku zadaného rozlišení, které plně pokrývají vstupní lineární nebo areální geografii. |
| h3_longlatash3(longitudeExpr, latitudeExpr, resolutionExpr) | Vrátí ID buňky H3 (jako BIGINT), které odpovídá zadané délce a zeměpisné šířce v zadaném rozlišení. |
| h3_longlatash3string(longitudeExpr, latitudeExpr, resolutionExpr) | Vrátí ID buňky H3 (jako šestnáctkový ŘETĚZEC) odpovídající zadané délce a zeměpisné šířce v zadaném rozlišení. |
| h3_pointash3(geographyExpr, resolutionExpr) | Vrátí ID buňky H3 (jako BIGINT) odpovídající zadanému bodu v zadaném rozlišení. |
| h3_pointash3string(geographyExpr, resolutionExpr) | Vrátí ID buňky H3 (jako ŘETĚZEC) odpovídající zadanému bodu v zadaném rozlišení. |
| h3_polyfillash3(geographyExpr, resolutionExpr) | Vrátí MATICi ID buněk H3 (reprezentované jako BIGINT), které odpovídají šestiúhelníku nebo pětiúhelníku zadaného rozlišení, jehož centroidy jsou obsaženy ve vstupní areální geografické oblasti. |
| h3_polyfillash3string(geographyExpr, resolutionExpr) | Vrátí pole ID buněk H3 (reprezentované jako STRING) odpovídající šestiúhelníku nebo pětiúhelníku zadaného rozlišení, jehož centroidy jsou obsaženy ve vstupní areální geografické oblasti. |
| h3_tessellateaswkb(geographyExpr, resolutionExpr) | Vrátí tessellaci vstupní geografie za použití buněk H3 v zadaném rozlišení. |
| h3_try_coverash3(geographyExpr, resolutionExpr) | Vrátí pole ID buněk H3 (reprezentované jako BIGINT), které odpovídají minimální sadě šestiúhelníků nebo pětiúhelníků v zadaném rozlišení, jež plně pokrývají zadanou lineární nebo areální geografii, nebo hodnota NULL, pokud je první argument neplatný. |
| h3_try_coverash3string(geographyExpr, resolutionExpr) | Vrátí pole ID buněk H3 (reprezentované jako STRING) odpovídající minimální sadě šestiúhelníků nebo pětiúhelníků o zadaném rozlišení, které plně pokrývají zadanou lineární nebo plošnou geografii, nebo vrátí hodnotu NULL, pokud je první argument neplatný. |
| h3_try_polyfillash3(geographyExpr, resolutionExpr) | Vrátí MATICi ID buněk H3 (reprezentované jako BIGINT), které odpovídají šestiúhelníku nebo pětiúhelníku zadaného rozlišení, jehož centroidy jsou obsaženy ve vstupní areální geografické oblasti. |
| h3_try_polyfillash3string(geographyExpr, resolutionExpr) | Vrátí pole ID buněk H3 (reprezentované jako STRING) odpovídající šestiúhelníku nebo pětiúhelníku zadaného rozlišení, jehož centroidy jsou obsaženy ve vstupní areální geografické oblasti. |
| h3_try_tessellateaswkb(geographyExpr, resolutionExpr) | Vrátí tesselace vstupní geografie pomocí buněk H3 v zadaném rozlišení, nebo NULL, pokud je první argument neplatný nebo pokud funkce nemohla vypočítat tesselaci. |
Vývoz
| Funkce | Popis |
|---|---|
| h3_boundaryasgeojson(h3CellIdExpr) | Vrátí mnohoúhelník vstupní buňky H3 ve formátu GeoJSON . |
| h3_boundaryaswkb(h3CellIdExpr) | Vrátí mnohoúhelník vstupní buňky H3 ve formátu WKB . |
| h3_boundaryaswkt(h3CellIdExpr) | Vrátí polygonální hranici vstupní buňky H3 ve formátu WKT. |
| h3_centerasgeojson(h3CellIdExpr) | Vrátí střed vstupní buňky H3 jako bod ve formátu GeoJSON . |
| h3_centeraswkb(h3CellIdExpr) | Vrátí střed vstupní buňky H3 jako bod ve formátu WKB . |
| h3_centeraswkt(h3CellIdExpr) | Vrátí střed vstupní buňky H3 jako bod ve formátu WKT . |
Převody
| Funkce | Popis |
|---|---|
| h3_h3tostring(h3CellIdExpr) | Převede vstupní ID buňky H3 na ekvivalentní šestnáctkové řetězcové vyjádření. |
| h3_stringtoh3(h3CellIdStringExpr) | Převede vstupní řetězec, který se očekává jako šestnáctkový řetězec představující ID buňky H3, na odpovídající reprezentaci BIGINT ID buňky H3. |
Predikáty
| Funkce | Popis |
|---|---|
| h3_ischildof(h3CellId1Expr, h3CellId2Expr) | Vrátí hodnotu true, pokud se první ID buňky H3 rovná druhému nebo je jeho podřízené. |
| h3_ispentagon(h3CellIdExpr) | Vrátí hodnotu true, pokud vstupní BIGINT nebo šestnáctkový řetězec odpovídá pentagonální buňce H3. |
Platnost
| Funkce | Popis |
|---|---|
| h3_isvalid(výraz) | Vrátí hodnotu true, pokud je vstupní BIGINT nebo STRING platným ID buňky H3. |
| h3_try_validate(h3CellIdExpr) | Vrátí vstupní hodnotu typu BIGINT nebo STRING, pokud odpovídá platnému ID buňky H3 nebo null jinak. |
| h3_validate(h3CellIdExpr) | Vrátí vstupní hodnotu typu BIGINT nebo STRING, pokud odpovídá platnému ID buňky H3, nebo vygeneruje chybu jinak. |
Související s vzdáleností
| Funkce | Popis |
|---|---|
| h3_distance(h3CellId1Expr, h3CellId2Expr) | Vrátí hexagonální vzdálenost dvou vstupních ID buněk H3. |
| h3_hexring(h3CellIdExpr, kExpr) | Vrátí pole ID buněk H3, které tvoří prázdný šestiúhelníkový prstenec, jenž je soustředěn v původní buňce H3 a nachází se ve vzdálenosti k od této buňky. |
| h3_kring(h3CellIdExpr, kExpr) | Vrátí ID buněk H3, které jsou ve vzdálenosti k (mřížky) od ID původní buňky. |
| h3_kringdistances(h3CellIdExpr, kExpr) | Vrátí všechna ID buněk H3 (reprezentovaná jako dlouhá celá čísla nebo řetězce) ve vzdálenosti k mřížky od ID buňky H3 původu spolu s jejich vzdáleností od ID buňky H3 původu. |
| h3_try_distance(h3CellId1Expr, h3CellId2Expr) | Vrátí vzdálenost mřížky dvou ID vstupních buněk H3 stejného rozlišení nebo hodnotu NULL, pokud je vzdálenost nedefinovaná. |
Sjezd šikmo
| Funkce | Popis |
|---|---|
| h3_maxchild(h3CellIdExpr, resolutionExpr) | Vrátí potomka s maximální hodnotou ze vstupní buňky H3 při zadaném rozlišení. |
| h3_minchild(h3CellIdExpr, resolutionExpr) | Vrátí dítě s minimální hodnotou zadanou buňkou H3 při daném rozlišení. |
| h3_resolution(h3CellIdExpr) | Vrátí rozlišení vstupního ID buňky H3. |
| h3_tochildren(h3CellIdExpr, resolutionExpr) | Vrátí pole ID podřízených buněk H3 vstupního ID buňky H3 v zadaném rozlišení. |
| h3_toparent(h3CellIdExpr, resolutionExpr) | Vrátí ID buňky H3, která je nadřazená vstupnímu ID buňky H3, v zadaném rozlišení. |
Stlačení
| Funkce | Popis |
|---|---|
| h3_compact(h3CellIdsExpr) | Zkomprimuje vstupní sadu ID buněk H3 co nejlépe. |
| h3_uncompact(h3CellIdsExpr, resolutionExpr) | Rozloží vstupní sadu ID buněk H3 na zadané rozlišení. |