ST_Intersection - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d'informations, consultez le billet de blog.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

ST_Intersection

ST_Intersection renvoie une géométrie représentant l’intersection de deux géométries définie par des points. En d’autres termes, il renvoie la partie des deux géométries d’entrée partagées entre elles.

Syntaxe

ST_Intersection(geom1, geom2)

Arguments

geom1

Valeur de type de données GEOMETRY ou expression qui est évaluée sur un type GEOMETRY.

geom2

Valeur de type de données GEOMETRY ou expression qui est évaluée sur un type GEOMETRY.

Type de retour

GEOMETRY

Si geom1 et geom2 ne partagent aucun espace (ils sont disjoints), une géométrie vide est alors renvoyée.

Si geom1 ou geom2 est vide, une géométrie vide est renvoyée.

Si geom1 et geom2 n’ont pas la même valeur pour l’identifiant de système de référence spatiale (SRID), une erreur est renvoyée.

Si geom1 ou geom2 est une collection géométrique, une erreur est renvoyée.

Si geom1 ou geom2 n’est pas une géométrie bidimensionnelle (2D), une erreur est renvoyée.

Exemples

Le code SQL suivant renvoie la géométrie non vide représentant l’intersection de deux géométries d’entrée.

SELECT ST_AsEWKT(ST_Intersection(ST_GeomFromText('polygon((0 0,100 100,0 200,0 0))'), ST_GeomFromText('polygon((0 0,10 0,0 10,0 0))')));
st_asewkt ------------------------- POLYGON((0 0,0 10,5 5,0 0))

Le code SQL suivant renvoie une géométrie vide lorsque des géométries d’entrée disjointes (non croisées) sont transmises.

SELECT ST_AsEWKT(ST_Intersection(ST_GeomFromText('linestring(0 100,0 0)'), ST_GeomFromText('polygon((1 0,10 0,1 10,1 0))')));
st_asewkt ------------------ LINESTRING EMPTY