BufferWithTolerance (type de données geography)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Retourne un objet géométrique qui représente l’union de toutes les valeurs de points dont la distance par rapport à une instance geography est inférieure ou égale à une valeur spécifique, en tenant compte d’une tolérance spécifique.
Cette méthode de type de données geography prend en charge les instances FullGlobe ou les instances spatiales qui sont plus grandes qu’un hémisphère.
Syntaxe
.BufferWithTolerance ( distance, tolerance, relative )
Arguments
distance
Expression float spécifiant la distance de l’instance geography autour de laquelle calculer la mémoire tampon.
La distance maximale du tampon ne peut pas dépasser 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 de la circonférence de la Terre) ou le globe complet.
tolerance
Expression float spécifiant la tolérance de la distance de mémoire tampon.
La variation maximale dans la distance de mémoire tampon idéale pour l’approximation linéaire retournée est la valeur de tolérance.
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 faible, plus le polygone a de points. Ceci augmente la complexité du résultat, mais réduit l’erreur au minimum.
La limite minimum est de 0,1 pour cent de la distance, plus toute tolérance inférieure à la valeur qui sera arrondie à la limite minimale.
relative
bit spécifiant si la valeur de tolerance est relative ou absolue. Si la valeur est « TRUE » ou 1, la tolérance est relative. Cette valeur est le produit du paramètre tolérance et du rayon équatorial de l’ellipsoïde de l’étendue angulaire *. La tolérance est absolue si la valeur est « FALSE » ou 0. Cette valeur tolerance est la variation maximale dans la distance de mémoire tampon idéale pour l’approximation linéaire retournée.
Types de retour
Type de retour SQL Server : geography
Type de retour CLR : SqlGeography
Notes
Cette méthode lève ArgumentException si distance est une valeur NAN (n’est pas un nombre), ou si distance est un infini positif ou négatif. Cette méthode lève également ArgumentException si tolerance est égal à zéro (0), est une valeur NAN (n’est pas un nombre), est une valeur négative, ou est un infini positif ou négatif.
STBuffer()
retourne une instance FullGlobe dans certains cas ; par exemple STBuffer()
retourne une instance FullGlobe sur deux pôles quand la distance de mémoire tampon est supérieure à la distance entre l’équateur et les pôles.
Cette méthode lève ArgumentException dans les instances FullGlobe où la distance de mémoire tampon dépasse la limite suivante :
0,999 * π * minorAxis * minorAxis / majorAxis (~0.999 * 1/2 de la circonférence de la Terre)
L’erreur entre la mémoire tampon théorique et la mémoire tampon calculée correspond à max(tolérance, étendues * 1.E-7), où tolérance 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.
Cette méthode n'est pas précise.
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();
Voir aussi
STBuffer (type de données geography)
Méthodes étendues sur des instances geography