Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
Databricks SQL
Databricks Runtime
H3 är ett globalt rutnätsindexeringssystem. Rutnätssystem använder en form, som rektanglar eller trianglar, för att tessellera en yta, i detta fall jordens yta. H3-systemet utformades för att använda sexhörningar (och några pentagoner) och erbjuder 16 nivåer av upplösningar i sin hierarki. Vid högre upplösningar är de tesselaterade figurerna mindre.
H3-uttryck stöds endast i Photon-aktiverade kluster och Databricks SQL-lager på Databricks SQL Pro- och serverlösa nivåer.
Läs mer om H3-upplösningar och om H3:s ursprung.
Se även:
- H3-Snabbstart (Databricks SQL)
- Exempel på geospatiala H3-funktioner
- Alfabetisk lista över geospatiala H3-funktioner
H3 för geospatial analys
H3 stöder ett vanligt mönster för bearbetning och analys av rumsliga data. Börja med att indexera geospatiala data från standardformat (latitud och longitud, välkänd text (WKT), välkänd binär (WKB) eller GeoJSON till H3-cell-ID:n. Med en enda datauppsättning kan du aggregera efter cell-ID för att besvara platsdrivna frågor. Med flera indexerade datauppsättningar kan du kombinera dem med hjälp av cell-ID:t, vilket avslöjar hur olika datauppsättningar är relaterade till varandra. Den här sammanfogningen av datauppsättningar är semantiskt en rumslig koppling, men utan behov av ett rumsligt predikat.
Vilka är fördelarna med att använda H3 i Databricks?
Använd Delta Lake-funktioner för effektiv lagring och layout av dina H3-indexerade data. Delta Lake-operationOPTIMIZE med Z-ordning (på H3-cell-ID:n) möjliggör rumslig placering av data. Dessutom använder Delta Lakes algoritmer för datahopp samlokalitet för att på ett intelligent sätt minska mängden data som behöver läsas in.
Du har flexibilitet i hur du arbetar med data. Du kan välja att arbeta med H3-cell-ID:n som lagras som stora heltal eller som strängar. Använd den stora heltalsrepresentationen för bästa prestanda med hjälp av H3-cell-ID:er. Detaljerad användning av H3-uttryck finns i SQL-referensguiden.
Kommentar
Du behöver inte installera H3-biblioteket. Det ingår som ett synligt beroende i Databricks Runtime, från och med Databricks Runtime 11.2 med version 3.7.0 av H3 Java-biblioteket.
Importera Databricks-funktioner för att hämta H3 (Databricks Runtime)
Ingen import krävs för Databricks SQL och Spark SQL.
Om du vill importera H3-funktioner för Python eller Scala i notebook-filer använder du följande kommandon:
python
from pyspark.databricks.sql import functions as dbf
Scala
import com.databricks.sql.functions._
Lista över geospatiala H3-funktioner (Databricks SQL)
Importera
| Funktion | beskrivning |
|---|---|
| h3_coverash3(geographyExpr, resolutionExpr) | Returnerar en matris av H3-cell-ID:n (representerade som BIGINT) som motsvarar den minsta uppsättningen sexhörningar eller femhörningar på den angivna upplösningen, som helt täcker den indata geometri som är linjär eller areal. |
| h3_coverash3string(geographyExpr, resolutionExpr) | Returnerar en MATRIS med H3-cell-ID:er som motsvarar den minimala uppsättningen sexhörningar eller femhörningar, med angiven upplösning, som helt täcker inmatningens linjära eller areala geografier. |
| h3_longlatash3(longitudeExpr, latitudeExpr, resolutionExpr) | Returnerar det H3-cell-ID (som en BIGINT) som motsvarar den angivna longitud och latitud vid den angivna upplösningen. |
| h3_longlatash3string(longitudeExpr, latitudeExpr, resolutionExpr) | Returnerar det H3-cell-ID (som en hexadecimal STRÄNG) som motsvarar den angivna longitud och latitud på den angivna upplösningsnivån. |
| h3_pointash3(geographyExpr, resolutionExpr) | Returnerar det H3-cell-ID (som bigint) som motsvarar den angivna punkten vid den angivna upplösningen. |
| h3_pointash3string(geographyExpr, resolutionExpr) | Returnerar det H3-cell-ID (som en STRÄNG) som motsvarar den angivna punkten vid den angivna upplösningen. |
| h3_polyfillash3(geographyExpr, resolutionExpr) | Returnerar en array med H3-cell-ID:er (som BIGINT) som motsvarar hexagoner eller pentagoner, av angiven upplösning, som ingår i den inmatade arealgeografin. |
| h3_polyfillash3string(geographyExpr, resolutionExpr) | Returnerar en ARRAY med H3-cell-ID:n (representerade som STRING) som motsvarar hexagoner eller pentagoner av den angivna upplösningen, som ingår i det angivna geografiska området. |
| h3_tessellateaswkb(geographyExpr, resolutionExpr) | Returnerar en tessellation av inmatningsgeografin med H3-celler vid den angivna upplösningen. |
| h3_try_coverash3(geographyExpr, resolutionExpr) | Returnerar en ARRAY med H3-cell-ID:n (representeras som BIGINT) som motsvarar den minimala uppsättningen sexhörningar eller femhörningar, med den angivna upplösningen, som helt täcker det linjära eller arealgeografiska indata, eller NULL om det första argumentet är ogiltigt. |
| h3_try_coverash3string(geographyExpr, resolutionExpr) | Returnerar en MATRIS med H3-cell-ID:er (representeras som STRING) som motsvarar den minimala uppsättningen sexhörningar eller femhörningar, av den angivna upplösningen, som helt täcker indata linjärt eller arealgeografi, eller NULL om det första argumentet är ogiltigt. |
| h3_try_polyfillash3(geographyExpr, resolutionExpr) | Returnerar en array med H3-cell-ID:er (som BIGINT) som motsvarar hexagoner eller pentagoner, av angiven upplösning, som ingår i den inmatade arealgeografin. |
| h3_try_polyfillash3string(geographyExpr, resolutionExpr) | Returnerar en ARRAY med H3-cell-ID:n (representerade som STRING) som motsvarar hexagoner eller pentagoner av den angivna upplösningen, som ingår i det angivna geografiska området. |
| h3_try_tessellateaswkb(geographyExpr, resolutionExpr) | Returnerar en tessellation av indataområdet med H3-celler vid den angivna upplösningen eller NULL om det första argumentet är ogiltigt eller om funktionen inte kunde beräkna en tessellation. |
Export
| Funktion | beskrivning |
|---|---|
| h3_boundaryasgeojson(h3CellIdExpr) | Returnerar polygongränsen för H3-indatacellen i GeoJSON-format . |
| h3_boundaryaswkb(h3CellIdExpr) | Returnerar den polygonala gränsen för H3-indatacellen i WKB-format . |
| h3_boundaryaswkt(h3CellIdExpr) | Returnerar den polygonala gränsen för H3-indatacellen i WKT-format . |
| h3_centerasgeojson(h3CellIdExpr) | Returnerar mitten av H3-indatacellen som en punkt i GeoJSON-format . |
| h3_centeraswkb(h3CellIdExpr) | Returnerar mitten av H3-indatacellen som en punkt i WKB-format . |
| h3_centeraswkt(h3CellIdExpr) | Returnerar mitten av H3-indatacellen som en punkt i WKT-format . |
Omvandlingar
| Funktion | beskrivning |
|---|---|
| h3_h3tostring(h3CellIdExpr) | Konverterar indata-H3-cell-ID:t till motsvarande hexadecimal strängrepresentation. |
| h3_stringtoh3(h3CellIdStringExpr) | Konverterar indatasträngen, som förväntas vara en hexadecimal sträng som representerar ett H3-cell-ID, till motsvarande BIGINT-representation av H3-cell-ID:t. |
Predikat
| Funktion | beskrivning |
|---|---|
| h3_ischildof(h3CellId1Expr, h3CellId2Expr) | Returnerar sant om det första H3-cell-ID:t är lika med eller ett barn till det andra H3-cell-ID:t. |
| h3_ispentagon(h3CellIdExpr) | Returnerar sant om indatan BIGINT eller hexadecimal STRING motsvarar en femkants H3-cell eller inte. |
Giltighet
| Funktion | beskrivning |
|---|---|
| h3_isvalid(expr) | Returnerar "true" om BIGINT eller STRING-indatan är ett giltigt H3-cell-ID. |
| h3_try_validate(h3CellIdExpr) | Returnerar indatavärdet, som är av typen BIGINT eller STRING, om det motsvarar ett giltigt H3-cell-ID eller NULL på annat sätt. |
| h3_validate(h3CellIdExpr) | Returnerar indatavärdet, som är av typen BIGINT eller STRING, om det motsvarar ett giltigt H3-cell-ID eller genererar ett annat fel. |
Avståndsrelaterad
| Funktion | beskrivning |
|---|---|
| h3_distance(h3CellId1Expr, h3CellId2Expr) | Returnerar rutnätsavståndet för två H3-cell-ID:er. |
| h3_hexring(h3CellIdExpr, kExpr) | Returnerar en matris med H3-cell-ID:t som bildar en ihålig sexhörningsring centrerad vid ursprungscellen H3 och som är på rutnätsavstånd k från ursprungscellen H3. |
| h3_kring(h3CellIdExpr, kExpr) | Returnerar de H3-cell-ID:n som ligger inom rutnätsavstånd k från ursprungscellens ID. |
| h3_kringdistances(h3CellIdExpr, kExpr) | Returnerar alla H3-cell-ID:n (representeras som långa heltal eller strängar) inom rutnätsavståndet k från ursprungscells-ID:t H3, tillsammans med avståndet från ursprungscells-ID:t H3. |
| h3_try_distance(h3CellId1Expr, h3CellId2Expr) | Returnerar rutnätsavståndet för de två indata-H3-cell-ID:na med samma upplösning eller NULL om avståndet är odefinierat. |
Traversal
| Funktion | beskrivning |
|---|---|
| h3_maxchild(h3CellIdExpr, resolutionExpr) | Returnerar den underordnade cellen med det högsta värdet för H3-indatacellen vid den angivna upplösningen. |
| h3_minchild(h3CellIdExpr, resolutionExpr) | Returnerar det barn med det minsta värdet för den inmatade H3-cellen med den angivna upplösningen. |
| h3_resolution(h3CellIdExpr) | Returnerar upplösningen för indata-H3-cell-ID:t. |
| h3_tochildren(h3CellIdExpr, resolutionExpr) | Returnerar en matris med underordnade H3-cell-ID:n för det givna H3-cell-ID:t vid den angivna upplösningen. |
| h3_toparent(h3CellIdExpr, resolutionExpr) | Returnerar det överordnade H3-cell-ID:t för indata-H3-cell-ID:t med den angivna upplösningen. |
Kompaktion
| Funktion | beskrivning |
|---|---|
| h3_compact(h3CellIdsExpr) | Komprimerar indatauppsättningen med H3-cell-ID så gott som möjligt. |
| h3_uncompact(h3CellIdsExpr, resolutionExpr) | Dekomprimerar indatauppsättningen av H3-cell-ID:n till den specificerade upplösningen. |