Compartilhar via


h3_try_coverash3string Função

Aplica-se a:verificação marcada como sim Databricks SQL verificação marcada como sim Databricks Runtime 16.3 e superior

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

Sintaxe

h3_try_coverash3string ( geographyExpr, resolutionExpr )

Arguments

  • geographyExpr: A BINARY ou STRING expressão que representa uma geografia linear (linestring ou multilinestring) ou areal (polígono ou multipolígono) 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 para as IDs da célula H3.

Devoluções

Um conjunto ARRAY de valores BIGINT correspondente 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 retornará 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 deverá ser a descrição WKB de um linestring, polígono, multilinestring ou multipolygon. Se o primeiro argumento de entrada for do tipo STRING, o valor de entrada deve ser a descrição WKT ou GeoJSON de um linestring, polígono, multilhames ou multipolígono. A dimensão da linhagem de entrada, polígono, multilinha ou multipolígono pode ser 2D, 3DZ, 3DM ou 4D. A função retornará NULL se o primeiro argumento corresponder a um WKB inválido, WKT ou GeoJSON ou não representar um linestring, polígono, multilinestring ou multipolygon.

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