Georuimtelijke H3-functies
Van toepassing op: Databricks SQL Databricks Runtime
H3 is een globaal indexeringssysteem voor rasters. Rastersystemen gebruiken een vorm, zoals rechthoeken of driehoeken, om een oppervlak tesselen, dat in dit geval het aardoppervlak is. Het H3-systeem is ontworpen voor het gebruik van zeshoeken (en een paar vijfhoeken) en biedt 16 resolutieniveaus binnen de hiërarchie. Bij hogere resoluties zijn de gessseleerde vormen kleiner.
H3-expressies worden alleen ondersteund in clusters met Photon-functionaliteit en Databricks SQL-warehouses in de Databricks SQL pro- en serverloze lagen.
Lees meer over H3-resoluties en over de oorsprong van H3.
Zie ook:
- H3-quickstart (Databricks SQL)
- Voorbeeld van georuimtelijke H3-functies
- alfabetische list van georuimtelijke H3-functies
H3 voor georuimtelijke analyse
H3 ondersteunt een gemeenschappelijk patroon voor het verwerken en analyseren van ruimtelijke gegevens. Begin met het indexeren van georuimtelijke gegevens uit standaardindelingen (breedtegraad en lengtegraad, bekende tekst (WKT), bekende binaire gegevens (WKB) of GeoJSON naar H3-cel-id's. Met één gegevensset kunt u aggregeren op cel-id om locatiegestuurde vragen te beantwoorden. Met meerdere geïndexeerde gegevenssets kunt u deze combineren met behulp van de cel-id's, waarmee wordt aangegeven hoe verschillende gegevenssets zich met elkaar verhouden. Deze samenvoeging van gegevenssets is semantisch een ruimtelijke join, maar zonder dat er een ruimtelijk predicaat nodig is.
Wat zijn de voordelen van het gebruik van H3 in Databricks?
Maak gebruik van Delta Lake-functies voor efficiënte opslag en indeling van uw geïndexeerde H3-gegevens. Met de OPTIMIZE-bewerking van Delta Lake met Z-volgorde (op H3-cel-id's) kunt u gegevens ruimtelijk zoeken. Bovendien maken de algoritmen voor het overslaan van gegevens van Delta Lake gebruik van co-lokaliteit om het aantal gegevens dat moet worden gelezen op intelligente wijze te verminderen.
U hebt flexibiliteit in de wijze waarop u met de gegevens werkt. U kunt ervoor kiezen om te werken met H3-cel-id's die zijn opgeslagen als grote gehele getallen of tekenreeksen. Gebruik voor de beste prestaties met H3-cel-id's de weergave van een groot geheel getal. Raadpleeg de SQL-referentiehandleiding voor gedetailleerd gebruik van H3-expressies.
Notitie
U hoeft de H3-bibliotheek niet te installeren. Het is opgenomen als een zichtbare afhankelijkheid in Databricks Runtime, te beginnen met Databricks Runtime 11.2, met behulp van versie 3.7.0 van de H3 Java-bibliotheek.
Databricks-functies importeren in get H3 (Databricks Runtime)
Er is geen import nodig voor Databricks SQL en Spark SQL.
Als u H3-functies voor Python of Scala in notebooks wilt importeren, gebruikt u de volgende opdrachten:
Python
from pyspark.databricks.sql import functions as dbf
Scala
import com.databricks.sql.functions._
List van georuimtelijke H3-functies (Databricks SQL)
Importeren
Functie | Beschrijving |
---|---|
h3_coverash3(geographyExpr, resolutionExpr) | Retourneert een ARRAY van H3-cel-id's (weergegeven als BIGINT) die overeenkomen met de minimale set van zeshoeken of vijfhoeken, van de opgegeven resolutie, die de lineaire of areale geografie volledig dekken. |
h3_coverash3string(geographyExpr, resolutionExpr) | Retourneert een ARRAY van H3-cel-ID's (weergegeven als TEKENREEKS) die horen bij de minimale set van zeshoeken of vijfhoeken, van de opgegeven resolutie, die de gehele lineaire of areale geografie beslaan. |
h3_longlatash3(longitudeExpr, latitudeExpr, resolutionExpr) | Retourneert de H3-cel-id (als bigint) die overeenkomt met de opgegeven lengtegraad en breedtegraad bij de opgegeven resolutie. |
h3_longlatash3string(longitudeExpr, latitudeExpr, resolutionExpr) | Retourneert de H3-cel-id (als een hexadecimale TEKENREEKS) die overeenkomt met de opgegeven lengtegraad en breedtegraad bij de opgegeven resolutie. |
h3_pointash3(geographyExpr, resolutionExpr) | Retourneert de H3-cel-id (als bigint) die overeenkomt met het opgegeven punt op de opgegeven resolutie. |
h3_pointash3string(geographyExpr, resolutionExpr) | Retourneert de H3-cel-id (als een TEKENREEKS) die overeenkomt met het opgegeven punt op de opgegeven resolutie. |
h3_polyfillash3(geographyExpr, resolutionExpr) | Retourneert een MATRIX van H3-cel-id's (weergegeven als BIGINT) die overeenkomen met zeshoeken of vijfhoeken, van de opgegeven resolutie, die zijn opgenomen in de invoer geografie. |
h3_polyfillash3string(geographyExpr, resolutionExpr) | Retourneert een MATRIX van H3-cel-id's (weergegeven als TEKENREEKS) die overeenkomt met zeshoeken of vijfhoeken, van de opgegeven resolutie, die zijn opgenomen in de invoer geografie. |
h3_tessellateaswkb(geographyExpr, resolutionExpr) | Retourneert een tesselatie van de invoergeografie met behulp van H3-cellen met de opgegeven resolutie. |
h3_try_polyfillash3(geographyExpr, resolutionExpr) | Retourneert een MATRIX van H3-cel-id's (weergegeven als BIGINT) die overeenkomen met zeshoeken of vijfhoeken, van de opgegeven resolutie, die zijn opgenomen in de invoer geografie. |
h3_try_polyfillash3string(geographyExpr, resolutionExpr) | Retourneert een MATRIX van H3-cel-id's (weergegeven als TEKENREEKS) die overeenkomt met zeshoeken of vijfhoeken, van de opgegeven resolutie, die zijn opgenomen in de invoer geografie. |
Export
Functie | Beschrijving |
---|---|
h3_boundaryasgeojson(h3CellIdExpr) | Retourneert de veelhoekige grens van de ingevoerde H3-cel in GeoJSON-indeling . |
h3_boundaryaswkb(h3CellIdExpr) | Retourneert de veelhoekige grens van de invoer H3-cel in WKB-indeling . |
h3_boundaryaswkt(h3CellIdExpr) | Retourneert de veelhoekige grens van de invoer H3-cel in WKT-indeling . |
h3_centerasgeojson(h3CellIdExpr) | Retourneert het midden van de H3-invoercel als een punt in GeoJSON-indeling . |
h3_centeraswkb(h3CellIdExpr) | Retourneert het midden van de ingevoerde H3-cel als een punt in WKB-indeling . |
h3_centeraswkt(h3CellIdExpr) | Retourneert het midden van de invoer H3-cel als een punt in WKT-indeling . |
Conversies
Functie | Beschrijving |
---|---|
h3_h3tostring(h3CellIdExpr) | Converteert de cel-id van de invoer H3 naar de equivalente hexadecimale tekenreeksweergave. |
h3_stringtoh3(h3CellIdStringExpr) | Converteert de invoertekenreeks, die naar verwachting een hexadecimale tekenreeks is die een H3-cel-id vertegenwoordigt, naar de bijbehorende BIGINT-weergave van de H3-cel-id. |
Predicaten
Functie | Beschrijving |
---|---|
h3_ischildof(h3CellId1Expr, h3CellId2Expr) | Retourneert true als de eerste H3-cel-id gelijk is aan of een onderliggend element van de tweede H3-cel-id. |
h3_ispentagon(h3CellIdExpr) | Retourneert waar als de invoer BIGINT of hexadecimale TEKENREEKS overeenkomt met een vijfhoekige H3-cel of niet. |
Geldigheid
Functie | Beschrijving |
---|---|
h3_isvalid(expr) | Retourneert waar als de invoer BIGINT of STRING een geldige H3-cel-id is. |
h3_try_validate(h3CellIdExpr) | Retourneert de invoerwaarde, die van het type BIGINT of STRING is, als deze overeenkomt met een geldige H3-cel-id of anderszins NULL. |
h3_validate(h3CellIdExpr) | Retourneert de invoerwaarde, van het type BIGINT of STRING, als deze overeenkomt met een geldige H3-cel-id of een fout verzendt. |
Afstand gerelateerd
Functie | Beschrijving |
---|---|
h3_distance(h3CellId1Expr, h3CellId2Expr) | Retourneert de rasterafstand van de twee H3-cel-id's van invoer. |
h3_hexring(h3CellIdExpr, kExpr) | Retourneert een matrix van H3-cel-id's die een lege zeshoekige ring vormen die is gecentreerd op de oorspronkelijke H3-cel en die zich op rasterafstand k van de oorspronkelijke H3-cel bevinden. |
h3_kring(h3CellIdExpr, kExpr) | Retourneert de H3-cel-id's die zich binnen (raster) afstand k van de oorspronkelijke cel-id bevinden. |
h3_kringdistances(h3CellIdExpr, kExpr) | Retourneert alle H3-cel-id's (weergegeven als lange gehele getallen of tekenreeksen) binnen de rasterafstand k van de oorspronkelijke H3-cel-id, samen met de afstand van de oorspronkelijke H3-cel-id. |
h3_try_distance(h3CellId1Expr, h3CellId2Expr) | Retourneert de rasterafstand van de twee H3-cel-id's van de twee invoercellen van dezelfde resolutie of NULL als de afstand niet is gedefinieerd. |
Traversal
Functie | Beschrijving |
---|---|
h3_maxchild(h3CellIdExpr, resolutionExpr) | Retourneert het onderliggende element van de maximumwaarde van de ingevoerde H3-cel met de opgegeven resolutie. |
h3_minchild(h3CellIdExpr, resolutionExpr) | Retourneert het onderliggende element van de minimumwaarde van de ingevoerde H3-cel met de opgegeven resolutie. |
h3_resolution(h3CellIdExpr) | Retourneert de resolutie van de ingevoerde H3-cel-id. |
h3_tochildren(h3CellIdExpr, resolutionExpr) | Retourneert een matrix van de onderliggende H3-cel-id's van de ingevoerde H3-cel-id bij de opgegeven resolutie. |
h3_toparent(h3CellIdExpr, resolutionExpr) | Retourneert de bovenliggende H3-cel-id van de ingevoerde H3-cel-id bij de opgegeven resolutie. |
Compressie
Functie | Beschrijving |
---|---|
h3_compact(h3CellIdsExpr) | Hiermee wordt de invoer set van H3-cel-ID's zo goed mogelijk samengepakt. |
h3_uncompact(h3CellIdsExpr, resolutionExpr) | Zet de invoer set van H3-cel-id's om naar de opgegeven resolutie. |