ST_Simplify - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog .

ST_Simplify

ST_Simplify renvoie une copie simplifiée de la géométrie en entrée à l’aide de l’algorithme Ramer-Douglas-Peucker avec la tolérance donnée. Il est possible que la topologie de la géométrie en entrée ne soit pas conservée. Pour plus d’informations sur cet algorithme, consultez Algorithme de Douglas-Peucker sur Wikipédia.

Lorsque ST_Simplify calcule les distances pour simplifier une géométrie, ST_Simplify fonctionne sur la projection 2D de la géométrie en entrée.

Syntaxe

ST_Simplify(geom, tolerance)

Arguments

geom

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

tolerance

Valeur du type de données DOUBLE PRECISION qui représente le niveau de tolérance de l’algorithme Ramer-Douglas-Peucker. Si tolerance est un nombre négatif, zéro est utilisé.

Type de retour

GEOMETRY.

La valeur de l’identifiant de système de référence spatiale (SRID) de la géométrie renvoyée est la valeur SRID de la géométrie d’entrée.

La dimension de la géométrie renvoyée est identique à celle de la géométrie en entrée.

Si geom est null, null est renvoyé.

Exemples

Le code SQL suivant simplifie la linestring d’entrée en utilisant une tolérance de distance euclidienne de 1 avec l’algorithme Ramer-Douglas-Peucker. Les unités de distance sont identiques à celles indiquées dans les coordonnées de la géométrie.

SELECT ST_AsEWKT(ST_Simplify(ST_GeomFromText('LINESTRING(0 0,1 2,1 1,2 2,2 1)'), 1));
st_asewkt ----------- LINESTRING(0 0,1 2,2 1)