A h3_tessellateaswkb
függvény
A következőkre vonatkozik: Databricks Runtime 14.2 és újabb verziók
A bemeneti földrajzi hely tessellációját adja vissza A megadott felbontásban H3 cellák használatával. A tessellációt a szerkezetek tömbje jelöli, amelyek mindegyike a tesselláció egy elemét jelöli. A tesselláció minden eleme egy H3 cellaazonosítóból (hosszú egész számként) áll, egy logikai értékből, amely azt jelzi, hogy a bemeneti földrajzi hely teljes mértékben lefedi-e a cellát, és egy BINÁRIS érték, amely megfelel a bemeneti földrajzi hely és a H3 cella metszetének WKB-leírásának .
A visszaadott H3-cellák együttesen egy minimális hatszöget vagy ötszöget alkotnak a megadott felbontásban, amely teljes mértékben lefedi a bemeneti földrajzi helyet. A visszaadott földrajzi helyek (WKB-ábrázolásukon keresztül) a bemeneti földrajzi hely tessellációját alkotják.
Syntax
h3_tessellateaswkb ( geographyExpr, resolutionExpr )
Argumentumok
geographyExpr
: A WKB, A WKT vagy a GeoJSON földrajzi helyeket jelképező BINÁRIS vagy SZTRING kifejezés. A földrajzi hely várhatóan hosszúsági és szélességi koordinátákkal rendelkezik, amelyek a WGS84 koordináta-referenciarendszerre hivatkoznak.resolutionExpr
: Egy INT-kifejezés, amely a0
H3 cellaazonosítók felbontását adja meg a között és15
a befogadó érték között.
Válaszok
Nevesített szerkezetek tömbje, amely három BIGINT, LOGIKAI ÉS BINÁRIS típusú mezőből áll, a neve cellid
, core
és chip
, illetve a bemeneti földrajzi hely tessellációját jelöli H3 cellákkal a megadott felbontásban.
A szerkezet első mezője egy H3 cellaazonosító (hosszú egész számként jelenik meg). A szerkezet második mezője egy logikai érték, amely azt jelzi, hogy a H3 cella egy magcella-e, ebben az esetben a mező értéke true
vagy sem, ebben az esetben a mező értéke false
. A magcella egy H3 cella, amelyet teljes mértékben lefed a bemeneti földrajzi hely (azaz a bemeneti földrajzi metszéspontja maga a cella). A harmadik mező egy BINÁRIS érték, amely a bemeneti földrajzi hely és a H3 cella metszetét képező földrajzi hely WKB-leírását jelöli. A visszaadott H3-cellák együttesen alkotják a bemeneti földrajzi hely minimális fedőkészletét. A visszaadott WKB-leírásoknak megfelelő földrajzi helyek együttesen alkotják a bemeneti földrajzi hely tessellációját (felbontását).
A függvény akkor ad NULL
vissza, ha a bemeneti kifejezések bármelyike .NULL
Ha az első bemeneti argumentum BINÁRIS típusú, akkor a bemeneti érték várhatóan egy pont, vonalzó, sokszög, többpont, többsoros vagy többpoligon WKB-leírása lesz.
Ha az első bemeneti argumentum sztring típusú, a bemeneti érték várhatóan egy pont, vonalzó, sokszög, többpont, többsoros vagy többpoligon WKTvagy GeoJSON-leírása lesz.
A bemeneti földrajzi hely mérete lehet 2D, 3DZ, 3DM vagy 4D.
Hibafeltételek
- Ha
geographyExpr
BINÁRIS típusú, és az érték vagy érvénytelen WKB, vagy geometriai gyűjteményt jelöl, a függvény WKB_PAR Standard kiadás_ERROR ad vissza. - Ha
geographyExpr
sztring típusú, és az érték érvénytelen WKT, vagy geometriai gyűjteményt jelöl, a függvény WKT_PAR Standard kiadás_ERROR ad vissza. - Ha
geographyExpr
sztring típusú, és az érték érvénytelen GeoJSON vagy geometriai gyűjteményt jelöl, a függvény GEOJSON_PAR Standard kiadás_ERROR ad vissza. - Ha
resolutionExpr
kisebb vagy nagyobb, mint0
15
, a függvény H3_INVALID_RESOLUTION_VALUE ad vissza.
Példák
> SELECT h3_h3tostring(cellid), core, hex(chip) FROM (SELECT inline(h3_tessellateaswkb('MULTIPOINT(20 0,20 10,40 30)', 0))) ORDER BY 1
802dfffffffffff false 010100000000000000000044400000000000003E40
806bfffffffffff false 010400000002000000010100000000000000000034400000000000000000010100000000000000000034400000000000002440
-- Feeding an empty geometry collection in GeoJSON format (geometry collections are not supported).
> SELECT h3_tessellateaswkb('{"type":"GeometryCollection","geometries":[]}', 2)
[GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"GeometryCollection"' at position 9 SQLSTATE: 22023
-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_tessellateaswkb(unhex('020700000000'), 2)
[WKB_PARSE_ERROR] Error parsing WKB: Invalid byte order 2 at position 1 SQLSTATE: 22023
-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_tessellateaswkb('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-74.0060 40.7128))', 2)
[WKT_PARSE_ERROR] Error parsing WKT: Found non-closed ring at position 80 SQLSTATE: 22023
-- Resolution is out of range.
> SELECT h3_tessellateaswkb('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 16)
[H3_INVALID_RESOLUTION_VALUE] H3 resolution 16 must be between 0 and 15, inclusive SQLSTATE: 22023