Funktionen h3_toparent
Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
Returnerar den överordnade H3-cellen i indata-H3-cellen med den angivna upplösningen.
Syntax
h3_toparent ( h3cellIdExpr, resolutionExpr )
Argument
h3CellIdExpr
: Ett BIGINT-uttryck eller ett hexadecimalt STRING-uttryck som representerar ett H3-cell-ID.resolutionExpr
: Ett INT-uttryck, vars värde förväntas vara mellan0
ochh3_resolution(h3CellIdExpr)
inkluderande, som anger upplösningen för det överordnade H3-cell-ID:t.
Returer
Ett värde av samma typ som uttryckets h3CellIdExpr
typ, som motsvarar det överordnade H3-cell-ID:t för indata-H3-cellen vid den angivna upplösningen.
Funktionen returnerar NULL om något av de två indatauttrycken är NULL.
Funktionen validerar delvis om indataargumentet är ett giltigt H3-cell-ID. Ett nödvändigt men inte tillräckligt villkor för ett giltigt H3-ID är att dess värde är mellan 0x08001fffffffffff
och 0x08ff3b6db6db6db6
.
Funktionens beteende är odefinierat om indatacells-ID:t inte är ett giltigt cell-ID.
Om värdet för resolutionExpr
är lika med upplösningen för indata-H3-cell-ID returneras indata-H3-cell-ID:t.
Feltillstånd
- Om
h3CellIdExpr
är en STRÄNG som inte kan konverteras till en BIGINT eller motsvarar ett BIGINT-värde som är mindre än eller större än0x08001fffffffffff
0x08ff3b6db6db6db6
returnerar funktionen H3_INVALID_CELL_ID. - Om
resolutionExpr
är mindre än0
eller större änh3_resolution(h3CellIdExpr)
returnerar funktionen H3_INVALID_RESOLUTION_VALUE.
Exempel
-- Simple example taking a long as input.
> SELECT h3_toparent(599686042433355775, 0)
577199624117288959
-- Simple example taking a valid hexadecimal string as input.
> SELECT h3_toparent('85283473fffffff', 0)
8029fffffffffff
-- First input is an invalid H3 cell ID.
> SELECT h3_toparent(0, 0)
[H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID
-- Second input is an invalid resolution value.
> SELECT h3_toparent('85283473fffffff', -1)
[H3_INVALID_RESOLUTION_VALUE] H3 resolution -1 must be between 0 and 5, inclusive