BufferWithTolerance (type de données geography)

Retourne un objet géométrique qui représente l'union de toutes les valeurs de points dont la distance d'une instance geography 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 geography autour de laquelle calculer la mémoire tampon.

  • tolerance
    Expression float qui spécifie la tolérance de la distance de mémoire tampon.

    La valeur de tolérance fait référence à la variation maximale dans la 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 de l'étendue angulaire * le rayon équatorial de l'ellipsoïde. Si « FALSE » ou 0, la tolérance est absolue et la valeur tolerance est la variation maximale absolue dans la distance de tampon idéale pour l'approximation linéaire retournée.

Types des valeurs de retour

SQL Server type de retour : geography

Type de retour CLR : SqlGeography

Notes

Une mémoire tampon négative supprime tous les points dans la distance donnée de la limite de l'instance geography.

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 geography.

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 geography;
SET @g = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();