Todos os produtos
Search
Central de documentação

ApsaraDB RDS:ST_Intersection

Última atualização: Sep 02, 2026

Retorna um objeto Geometry que representa a interseção dos objetos Geometry de entrada.

Sintaxe

geometry  ST_Intersection(geometry  geomA , geometry  geomB);
geography  ST_Intersection(geography  geogA , geography  geogB);
geometry ST_Intersection(geometry set gField);

Parâmetros

Nome do parâmetro

Descrição

geomA/geomB

Os dois objetos Geometry de destino.

geogA/geogB

Os dois objetos Geography de destino.

gField

O campo Geometry.

Descrição

  • Se os dois objetos de entrada não se cruzarem, a função retornará um objeto nulo.

  • Para objetos Geography, esta função encapsula a função Geometry. Ela transforma os objetos Geography em objetos Geometry, calcula a interseção em um sistema de referência planar e converte o resultado novamente para um objeto Geography com o sistema de coordenadas WGS84.

  • Esta função não aceita objetos GeometryCollection como parâmetros de entrada.

  • Esta função descarta os valores da coordenada M dos objetos.

  • A função agregada intersecta sequencialmente todos os objetos Geometry e retorna a interseção resultante.

Exemplos

  • Chamada padrão:

    SELECT ST_AsText(ST_Intersection('POLYGON((0 0,0 2,2 2,2 0,0 0))'::geometry,'POLYGON((0 0,3 0,3 1,0 1,0 0))'::geometry));
               st_astext
    --------------------------------
     POLYGON((0 1,2 1,2 0,0 0,0 1))
    (1 row)      
  • Recorte agregado

    create table agg_result(id integer, geom geometry);
    insert into agg_result values(0, ST_GeomFromText('POLYGON((0 0, 0 0.5, 0.5 0.5, 0.5 0, 0 0))'));
    insert into agg_result select i, st_buffer('POINT(0 0)', 0.8 + random()*0.1) from generate_series(1,100) as i;
    select st_astext(st_intersection(geom)) from agg_result;
                   st_astext
    ----------------------------------------
     POLYGON((0 0,0 0.5,0.5 0.5,0.5 0,0 0))
    (1 row)

    Figure 1