Partager via


STBuffer (type de données geography)

S’applique à : SQL ServerAzure SQL Database Azure SQL Managed Instance

Retourne un objet geography qui représente l’union de tous les points dont la distance par rapport à une instance geography est inférieure ou égale à une valeur 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

  
.STBuffer ( distance )  

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.

Arguments

distance
Valeur de type float (double dans le .NET Framework), qui spécifie 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.

Types de retour

Type de retour SQL Server : geography

Type de retour CLR : SqlGeography

Notes

STBuffer() calcule une mémoire tampon de la même manière que BufferWithTolerance, en spécifiant tolerance = abs(distance) * 0,001 et relative = false.

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

STBuffer() retourne une instance FullGlobe dans certains cas ; par exemple STBuffer() retourne une instance FullGlobe quand la distance de mémoire tampon est supérieure à la distance entre l’équateur et les pôles. Une mémoire tampon ne peut pas dépasser le globe complet.

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)

La limite de distance maximale permet à la construction de la mémoire tampon d'être aussi flexible que possible.

L’erreur entre la mémoire tampon théorique et la mémoire tampon calculée correspond à max(tolerance, extents * 1.E-7) où tolerance = distance * 0,001. 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 LineString``geography. Il utilise ensuite STBuffer() pour retourner la région située à une proximité d'un mètre de l'instance.

DECLARE @g geography;  
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);  
SELECT @g.STBuffer(1).ToString();  

Voir aussi

BufferWithTolerance (type de données geography)
Méthodes OGC sur des instances Geography