BufferWithTolerance (type de données geometry)
Retourne un objet géométrique qui représente l'union de toutes les valeurs de points dont la distance d'une instance geometry est inférieure ou égale à une valeur spécifiée, en tenant compte d'une tolérance spécifiée.
Syntaxe
.BufferWithTolerance (distance,tolerance,relative)
Arguments
distance
Expression float qui spécifie la distance à partir de l'instance geometry autour de laquelle calculer la mémoire tampon.tolerance
Expression float qui spécifie la tolérance de la distance de tampon.Le terme Tolérance fait référence à la variation maximale de distance de tampon idéale pour l'approximation linéaire retournée.
Par exemple, la distance de mémoire tampon idéale d'un point est un cercle, mais elle doit être exprimée de façon à se rapprocher d'un polygone. Plus la tolérance est petite, plus le polygone aura de points, ce qui augmente la complexité du résultat mais décroît l'erreur.
relative
bit qui spécifie si la valeur tolerance est relative ou absolue. Si 'TRUE' ou 1, la tolérance est relative et calculée comme produit du paramètre tolerance et du diamètre du cadre englobant de l'instance. Si 'FALSE' ou 0, la tolérance est absolue et la valeur tolerance est la variation maximale absolue de distance de tampon idéale pour l'approximation linéaire retournée.
Types des valeurs de retour
SQL Server type de retour : geometry
Type de retour CLR : SqlGeometry
Notes
Une mémoire tampon négative supprime tous les points dans la distance donnée de la limite de l'instance geometry.
L'erreur entre la mémoire tampon théorique et la mémoire tampon calculée est max(tolerance, extents * 1.E-7) où tolerance représente la valeur du paramètre tolerance. Pour plus d'informations sur les extents, consultez Référence de méthodes de type de données geometry.
Exemples
L'exemple suivant crée une instance Point et utilise BufferWithTolerance() pour obtenir une estimation grossière de la mémoire tampon autour d'elle.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('POINT(3 3)', 0);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();
Voir aussi