Categorias:

Funções geoespaciais

H3_POLYGON_TO_CELLS

Retorna um ARRAY de valores INTEGER dos IDs de células H3 que têm centroides contidos em um polígono (especificado por um objeto GEOGRAPHY).

Consulte também:

H3_POLYGON_TO_CELLS_STRINGS , H3_COVERAGE

Sintaxe

H3_POLYGON_TO_CELLS( <geography_polygon> , <target_resolution> )
Copy

Argumentos

geography_polygon

Um objeto GEOGRAPHY que representa um polígono.

target_resolution

Um INTEGER entre 0 e 15 (inclusive) especificando resolução H3 que você deseja usar para as células H3 retornadas.

Especificar qualquer outro valor INTEGER resulta em erro.

Retornos

Retorna um ARRAY de valores INTEGER para IDs das células H3 que possuem centroides contidos no polígono de entrada especificado.

Notas de uso

  • A função utiliza aproximação planar, que trata pontos na superfície da Terra como se estivessem conectados por linhas retas, em vez de arcos curvos. Se você precisar de uma aproximação esférica, use H3_COVERAGE.

  • Uma célula é considerada dentro do polígono se seu centroide estiver contido no polígono.

  • Ao aplicar FLATTEN ao ARRAY retornado pela função, converta cada valor explicitamente em um número inteiro.

Exemplos

O exemplo a seguir retorna um ARRAY de IDs de células H3 que possuem centroides contidos no polígono especificado.

SELECT H3_POLYGON_TO_CELLS(
  TO_GEOGRAPHY(
    'POLYGON((-122.481889 37.826683,-122.479487 37.808548,-122.474150 37.808904,-122.476510 37.826935,-122.481889 37.826683))'
  ),
  9) AS h3_cells_in_polygon;
Copy
+-----------------------+
| H3_CELLS_IN_POLYGON   |
|-----------------------|
| [                     |
|   617700171176476671, |
|   617700171168874495, |
|   617700171177525247, |
|   617700171167563775, |
|   617700171225497599, |
|   617700171188011007, |
|   617700171168350207, |
|   617700171168612351, |
|   617700171167825919  |
| ]                     |
+-----------------------+