STBuffer (type de données geography)
Retourne un objet géographique qui représente l'union de tous les points dont la distance à partir d'une instance geography est inférieure ou égale à une valeur spécifiée.
Cette méthode de type de données geography prend en charge des instances FullGlobe ou des instances spatiales qui sont plus grandes qu'un hémisphère.
Syntaxe
.STBuffer ( distance )
Arguments
distance
Valeur de type float (double dans le .NET Framework) qui spécifie la distance à partir de l'instance geography autour de laquelle calculer le tampon.La distance maximale de la mémoire tampon ne peut pas dépasser 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 la circonférence de la terre) ou le globe complet.
Types des valeurs retournées
SQL Server type de retour : 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) * .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 lorsque la distance de mémoire tampon est supérieure à la distance de l'équateur aux pôles. Une mémoire tampon ne peut pas dépasser le globe complet.
Cette méthode lève un ArgumentException dans les instances FullGlobe où la distance de la mémoire tampon dépasse la limitation suivante :
0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 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 est max(tolerance, extents * 1.E-7) où tolerance = distance * .001. Pour plus d'informations sur extents, 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
Référence
BufferWithTolerance (type de données geography)