Tipo GEOGRAPHY

Aplica-se a:check marked yes Databricks SQL check marked yes Databricks Runtime 17.1 e superior

Important

Este recurso está no Public Preview.

Representa um objeto geográfico (ponto, cadeia de linha, polígono GEOGRAPHY , etc.) cujo sistema de referência de coordenadas é geográfico e é descrito pelo valor SRID do tipo. O espaço subjacente em que o objeto geográfico vive é um espaço periódico com o primeiro eixo representando longitudes em graus e o segundo eixo representando latitudes em graus. Espera-se que as coordenadas estejam no intervalo [-180, 180] para longitudes e no intervalo [-90, 90] para latitudes.

Note

  • Tabelas Iceberg não suportam GEOGRAPHY colunas.

  • GEOGRAPHY as colunas não são suportadas como dimensões nas vistas métricas ou nas vistas materializadas dos Lakeflow Spark Declarative Pipelines porque esses contextos requerem GROUP BY suporte, que os dados geoespaciais atualmente não fornecem. Para usar dados geoespaciais numa vista métrica, adicione a coluna como medida em vez de uma dimensão.

Syntax

GEOGRAPHY ( { srid | ANY } )

Limits

Uma coluna do tipo GEOGRAPHY(ANY) pode conter geografias cujos valores SRID podem ser diferentes por linha. Uma coluna do tipo GEOGRAPHY(ANY) não pode ser persistida.

O único valor SRID permitido para o GEOGRAPHY tipo é 4326. O usuário receberá um erro ST_INVALID_SRID_VALUE se tentar definir uma GEOGRAPHY coluna com um valor SRID diferente de 4326.

Literals

Para obter detalhes sobre como criar um GEOGRAPHY valor, consulte:

Notes

Examples

> SELECT hex(st_asbinary(st_geogfromtext('POINT(1 2)')));
  0101000000000000000000f03f0000000000000040

> SELECT st_asewkt(st_geogfromwkb(X'0101000000000000000000f03f0000000000000040'));
  SRID=4326;POINT(1 2)

> SELECT st_asgeojson(st_geogfromtext('POINT(1 2)'));
  {"type":"Point","coordinates":[[1,2]]}

> SELECT st_astext(st_geogfromgeojson('{"type":"Point","coordinates":[[1,2]]}'));
  POINT(1 2)

> SELECT st_astext(to_geography('{"type":"Point","coordinates":[[1,2]]}'));
  POINT(1 2)

> SELECT try_to_geography('not a geography value');
  NULL