Partager via


Reduce (type de données geometry)

Retourne une approximation de l'instance geometry donnée produite en exécutant l'algorithme de Douglas-Peucker sur l'instance avec la tolérance donnée.

Syntaxe

.Reduce ( tolerance )

Arguments

  • tolerance
    Valeur de type float. tolerance est la tolérance à entrer dans l'algorithme de Douglas-Peucker.

Types des valeurs de retour

Type de retour SQL Server : geometry

Type de retour CLR : SqlGeometry

Notes

Pour les types collection, cet algorithme fonctionne indépendamment sur chaque geometry contenue dans l'instance.

Cet algorithme ne modifie pas d'instances Point.

Sur les instances LineString, l'algorithme de Douglas-Peucker conserve les points de départ et de terminaison d'origine de l'instance, et il rajoute de manière itérative le point de l'instance d'origine qui dévie le plus du résultat, jusqu'à ce qu'aucun point ne dévie plus que la tolérance donnée.

Sur les instances Polygon, l'algorithme de Douglas-Peucker est appliqué indépendamment à chaque anneau. La méthode produira un FormatException si l'instance Polygon retournée n'est pas valide ; par exemple, une instance MultiPolygon non valide est créée si Reduce() est appliquée pour simplifier chaque anneau dans l'instance et que les anneaux résultants se chevauchement.

Exemples

L'exemple suivant crée une instance LineString et utilise Reduce() afin de simplifier l'instance.

DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 0, 0 1, 1 0, 2 1, 3 0, 4 1)', 0);
SELECT @g.Reduce(.75).ToString();

Voir aussi

Autres ressources