Partilhar via


h3_try_coverash3string Função

Aplica-se a:marcado como sim Databricks SQL marcado como sim Databricks Runtime 16.3 e superior

Esta função comporta-se da mesma forma que h3_coverash3string, mas retorna NULL em vez de um erro se o primeiro argumento for inválido. Retorna um ARRAY de valores de BIGINT que representam IDs de células H3. Esses valores correspondem ao conjunto mínimo de hexágonos ou pentágonos na resolução especificada que cobre totalmente a geografia linear ou areal de entrada.

Sintaxe

h3_try_coverash3string ( geographyExpr, resolutionExpr )

Argumentos

  • geographyExpr: Uma BINARY ou STRING expressão que representa uma geografia linear (linha ou linha múltipla) ou areal (polígono ou polígono múltiplo) em WKB, WKT ou GeoJSON. Espera-se que a geografia tenha coordenadas de longitude e latitude em graus que se referem ao sistema de referência de coordenadas WGS84 .
  • resolutionExpr: Uma INT expressão, com um valor entre 0 e 15 inclusivo, especificando a resolução dos IDs de células H3.

Devoluções

Um ARRAY dos BIGINT valores correspondentes ao conjunto mínimo de hexágonos ou pentágonos na resolução especificada que cobre totalmente a geografia linear ou areal de entrada.

A função retorna NULL se qualquer uma das expressões de entrada for NULL. Se o primeiro argumento de entrada for do tipo BINARY, o valor de entrada deve ser a descrição WKB de uma cadeia de caracteres de linha, polígono, multilinha ou multipolígono. Se o primeiro argumento de entrada for do tipo STRING, o valor de entrada deve ser o WKT ou a descrição GeoJSON de uma cadeia de caracteres, polígono, multilinha ou multipolígono. A dimensão de uma linha, polígono, multilinha ou multipolígono de entrada pode ser 2D, 3DZ, 3DM ou 4D. A função retornará NULL se o primeiro argumento corresponder a um WKB, WKT ou GeoJSON inválido ou não representar uma cadeia de caracteres de linha, polígono, multilinestring ou multipolígono.

Condições de erro

Exemplos

-- Simple example where the input is a triangle in WKT format.
> SELECT h3_coverash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 0);
  [8027fffffffffff,8029fffffffffff,802bfffffffffff,8049fffffffffff]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_coverash3string(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 0);
  [8027fffffffffff,8029fffffffffff,802bfffffffffff,8049fffffffffff]

-- Simple example where the input is a linestring in GeoJSON format.
SELECT h3_coverash3string('{"type":"LineString","coordinates":[[-122.4194,37.7749],[-118.2437,34.0522],[-74.0060,40.7128]]}', 1);
  [8148fffffffffff, 8129bffffffffff, 812a3ffffffffff, 812abffffffffff, 81267ffffffffff, 8126fffffffffff, 81283ffffffffff]

-- Feeding an empty multipoint in GeoJSON format (as opposed to a linestring, polygon, multilinestring, or multipolygon).
> SELECT h3_try_coverash3string('{"type":"MultiPoint","coordinates":[]}', 2);
  null

-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_try_coverash3string(unhex('020700000000'), 2);
  null

-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_try_coverash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-74.0060 40.7128))', 2);
  null

-- Resolution is out of range.
> SELECT h3_try_coverash3string('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