Todos os produtos
Search
Central de documentação

ApsaraDB RDS:ST_AsText

Última atualização: Aug 24, 2026

Converte um objeto de grade geográfica (GeomGrid ou H3Grid) em sua representação textual usando um padrão de codificação específico.

Para crie um objeto de grade a partir de uma geometria, use ST_AsGrid (2D), ST_As3DGrid (3D) ou ST_H3FromLatLng (H3).

Sintaxe

text ST_AsText(geomgrid    grid
               integer     precision  DEFAULT -1,
               bool        separated  DEFAULT false,
               text        standard   DEFAULT 'GGER')

text[] ST_AsText(geomgrid[] grid
                 integer    precision  DEFAULT -1,
                 bool       separated  DEFAULT false,
                 text       standard   DEFAULT 'GGER')

text ST_AsText(h3grid grid)

Parâmetros

Parâmetro

Tipo

Padrão

Descrição

grid

GeomGrid ou H3Grid

Objeto de grade geográfica a ser convertido.

precision

integer

-1

Nível de precisão da saída. Valores válidos: 1–32. O valor -1 usa o nível de precisão da grade de entrada.

separated

bool

false

Especifica se deve usar codificação separada. Aplicável a grades GGER (Regra de Codificação de Grade Geoespacial 3D).

standard

text

'GGER'

Padrão de codificação a aplicar. Atualmente, oferece suporte a GGER, desenvolvido pelo Ministério de Recursos Naturais da República Popular da China.

Funcionamento

A função ST_AsText codifica uma grade geográfica com base no nível de precisão e no padrão de codificação especificados.

Comportamento da precisão: Se a precisão especificada for maior que a precisão de armazenamento da grade de entrada, a saída não recebe preenchimento com zeros.

Codificação separada (GGER 3D): Quando separated é defina como true, a codificação de altura retorna o código textual binário do valor de índice da grade na dimensão de altura. O prefixo indica a posição da grade em relação à superfície:

  • + — a grade está acima da superfície

  • - — a grade está abaixo da superfície

Exemplos

Codificação padrão

Codifique uma grade 2D usando a precisão padrão e o padrão GGER.

WITH g AS (
  SELECT unnest(ST_AsGrid(
    ST_geomfromtext('POINT(116.31522216796875 39.910277777777778)', 4490), 15)) AS grid
)
SELECT ST_AsText(grid) FROM g;

Saída:

    st_astext
------------------
 G001310322230230

Nível de precisão especificado

Codifique a mesma grade com um nível de precisão menor definindo precision como 8.

WITH g AS (
  SELECT unnest(ST_AsGrid(
    ST_geomfromtext('POINT(116.31522216796875 39.910277777777778)', 4490), 15)) AS grid
)
SELECT ST_AsText(grid, 8) FROM g;

Saída:

  st_astext
-------------
 G00131032
A saída é mais curta porque a precisão foi reduzida de 15 para 8. Os dígitos ausentes não são preenchidos com zeros.

Codificação 3D

Codifique uma grade 3D com elevação de 1001,8 metros no nível de precisão 20.

SELECT unnest(ST_AsText(ST_As3DGrid(
  'srid=4490;POINT(116.31522216796875 39.910277777777778 1001.8)'::geometry,
  20)));

Saída:

         unnest
------------------------
 GZ00262064446046072072

Codificação separada

Codifique uma grade 3D usando codificação separada (separated = true). Os componentes horizontal e de altura são retornados separadamente.

SELECT unnest(ST_AsText(ST_As3DGrid(
  'srid=4490;POINT(116.31522216796875 39.910277777777778 1001.8)'::geometry,
  20), -1, true));

Saída:

             unnest
-------------------------------
 G00131032223023031031, +10010

O prefixo + em 10010 indica que esta grade está acima da superfície.

Codificação H3

Codifique um objeto H3Grid em seu índice textual H3.

SELECT ST_AsText(ST_H3FromLatLng(20.5, 128.2, 8));

Saída:

    st_astext
-----------------
 884a126689fffff

Funções relacionadas

  • [ST_AsGrid]() — Converte uma geometria em um array GeomGrid

  • [ST_As3DGrid]() — Converte uma geometria 3D em um array GeomGrid

  • [ST_H3FromLatLng]() — Crie um H3Grid a partir de uma coordenada de latitude/longitude