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();