Share via


A h3_tessellateaswkb függvény

A következőkre vonatkozik:check marked yes 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 a 0 H3 cellaazonosítók felbontását adja meg a között és 15 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, mint 015, 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