Sdílet prostřednictvím


Funkce h3_tessellateaswkb

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 14.2 a vyšší

Vrátí tessellation vstupní geografie pomocí buněk H3 v zadaném rozlišení. Tessellation je reprezentována polem struktur, každý představuje prvek tessellation. Každý prvek tessellation se skládá z ID buňky H3 (reprezentované jako dlouhé celé číslo), logické hodnoty označující, zda vstupní geografie plně pokrývá buňku, a binární hodnota odpovídající popisu průniku vstupní geografie s buňkou H3.

Vrácené buňky H3 společně tvoří minimální krytinu šestiúhelníku nebo pětiúhelníku v zadaném rozlišení, které plně pokrývají vstupní zeměpisnou oblast. Vrácené zeměpisné oblasti (prostřednictvím jejich reprezentací WKB ) tvoří tessellation vstupní geografické oblasti.

Syntaxe

h3_tessellateaswkb ( geographyExpr, resolutionExpr )

Argumenty

  • geographyExpr: Binární nebo ŘETĚZCový výraz představující zeměpisnou oblast ve WKB, WKT nebo GeoJSON. Zeměpisná oblast má souřadnice zeměpisné délky a zeměpisné šířky ve stupních, které odkazují na referenční systém souřadnic WGS84 .
  • resolutionExpr: Výraz INT s hodnotou mezi 0 a 15 včetně určující rozlišení ID buněk H3.

Návraty

POLE pojmenovaných struktur se třemi poli typu BIGINT, BOOLEAN a BINARY, pojmenované cellid, corea chip, v uvedeném pořadí, představující tessellation vstupní geografie s buňkami H3 v zadaném rozlišení.

První pole ve struktuře je ID buňky H3 (reprezentované jako dlouhé celé číslo). Druhé pole ve struktuře je logická hodnota označující, jestli je buňka H3 jádrovou buňkou, v takovém případě hodnota pole je true nebo není, v takovém případě hodnota pole je false. Základní buňka je buňka H3, která je plně pokryta vstupní geografickou oblastí (to znamená průnik se vstupní geografií je samotná buňka). Třetí pole je binární hodnota představující popis WKB zeměpisné oblasti, která je průnikem vstupní geografie a buňky H3. Vrácené buňky H3 společně tvoří minimální zakrývající sadu vstupních zeměpisných oblastí. Zeměpisné oblasti odpovídající vráceným popisům WKB společně tvoří tessellation (rozklad) vstupní geografické oblasti.

Funkce vrátí NULL , pokud je některý ze vstupních výrazů NULL. Pokud je prvním vstupním argumentem typ BINARY, očekává se, že vstupní hodnotou bude popis WKB bodu, čáry, mnohoúhelníku, multipointu, víceřádkového řetězce nebo multipolygonu. Pokud je prvním vstupním argumentem typ STRING, očekává se, že vstupní hodnota bude buď WKT , nebo GeoJSON popis bodu, přímky, mnohoúhelníku, multipointu, multilinestringu nebo multipolygonu. Dimenze vstupní geografické oblasti může být 2D, 3DZ, 3DM nebo 4D.

Chybové podmínky

Příklady

> 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