Tous les produits
Search
Centre de documentation

ApsaraDB RDS:ST_Intersection

Dernière mise à jour :Sep 02, 2026

Renvoie un objet Geometry représentant l'intersection des objets Geometry d'entrée.

Syntaxe

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

Paramètres

Nom du paramètre

Description

geomA/geomB

Les deux objets Geometry cibles.

geogA/geogB

Les deux objets Geography cibles.

gField

Le champ Geometry.

Description

  • Si les deux objets d'entrée ne s'intersectent pas, la fonction renvoie un objet nul.

  • Pour les objets Geography, cette fonction encapsule la fonction Geometry. Elle convertit d'abord les objets Geography en objets Geometry, calcule leur intersection dans un système de référence planaire, puis reconvertit le résultat en un objet Geography utilisant le système de coordonnées WGS84.

  • Cette fonction ne prend pas en charge les objets GeometryCollection en tant que paramètres d'entrée.

  • Cette fonction ignore les valeurs de coordonnées M des objets.

  • La fonction d'agrégation intersecte séquentiellement tous les objets Geometry et renvoie l'intersection résultante.

Exemples

  • Appel par défaut :

    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)      
  • Découpage agrégé

    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