Partager via


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 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 étendues, 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();