Georuimtelijke H3-functies

Van toepassing op:check marked yes Databricks SQL check marked yes 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 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. Dit samenvoegen 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-ordering (op H3-cel-id's) kunt u gegevens ruimtelijk co-lokaliseren. 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 om H3 (Databricks Runtime) op te halen

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

Lijst met georuimtelijke H3-functies (Databricks SQL)

Importeren

Functie Beschrijving
h3_coverash3(geographyExpr, resolutionExpr) Retourneert een MATRIX van H3-cel-id's (weergegeven als BIGINT) die overeenkomt met de minimale set zeshoeken of vijfhoeken, van de opgegeven resolutie, die volledig betrekking hebben op de lineaire invoer of geografie.
h3_coverash3string(geographyExpr, resolutionExpr) Retourneert een MATRIX van H3-cel-id's (weergegeven als TEKENREEKS) die overeenkomt met de minimale set zeshoeken of vijfhoeken, van de opgegeven resolutie, die volledig betrekking hebben op de lineaire invoer of geografie.
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.
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) Compacteert de invoerset van H3-cel-id's zo goed mogelijk.
h3_uncompact(h3CellIdsExpr, resolutionExpr) Hiermee wordt de invoerset met H3-cel-id's op de opgegeven resolutie niet beïnvloed.