Todos os produtos
Search
Central de documentação

ApsaraDB RDS:ST_Dump

Última atualização: Sep 02, 2026

Retorna um conjunto de registros geometry_dump de um objeto de geometria e expande coleções em seus componentes individuais.

Sintaxe

geometry_dump[] ST_Dump(geometry g1);

Parâmetros

Parâmetro

Descrição

g1

Objeto de geometria a ser especificado.

Descrição

A função ST_Dump extrai os componentes de um objeto de geometria. Cada registro geometry_dump retornado contém dois campos:

  • geom: objeto de geometria do componente.

  • path: array de inteiros que indica a posição do componente na geometria original.

O comportamento varia conforme o tipo de entrada:

  • Entrada de ponto, LineString ou polígono: retorna um único registro com um array path vazio e a geometria de entrada como geom.

  • Entrada de multigeometria ou coleção: gera um registro por componente, com um array path que indica a posição de cada elemento na coleção.

A função ST_Dump é o inverso de GROUP BY. Enquanto GROUP BY agrega linhas em uma única geometria, ST_Dump expande uma única geometria em várias linhas. Um caso de uso comum é a expansão de um MultiPolygon em polígonos individuais.

Esta função oferece suporte aos seguintes tipos de geometria: Circular String, curva, Polyhedral Surface, Triangle, superfícies de rede irregular triangulada (TIN) e objetos 3D.

Exemplos

O exemplo a seguir expande uma MULTILINESTRING em suas geometrias LINESTRING componentes. A coluna path exibe a posição de cada componente.

SELECT (t.dump).path, ST_AsText((t.dump).geom)
FROM (
  SELECT ST_Dump('MULTILINESTRING((0 0,0 2),(0 1,0 3))'::geometry) AS dump
) AS t;

Saída:

 path |      st_astext
------+---------------------
 {1}  | LINESTRING(0 0,0 2)
 {2}  | LINESTRING(0 1,0 3)
(2 rows)