STBuffer (tipo de datos geography)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Devuelve un objeto geography que representa la unión de todos los puntos cuya distancia desde una instancia de geography es menor o igual que un valor especificado.

Este método del tipo de datos geography admite instancias de FullGlobe o instancias espaciales mayores que un hemisferio.

Sintaxis

  
.STBuffer ( distance )  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

distance
Es un valor de tipo float (double en .NET Framework) que especifica la distancia desde la instancia de geography en torno a la cual se puede calcular el búfer.

La distancia máxima del búfer no puede ser superior a 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 circunferencia terráquea) o todo el globo terráqueo.

Tipos de valor devuelto

Tipo de valor devuelto de SQL Server: geography

Tipo de valor devuelto de CLR: SqlGeography

Observaciones

STBuffer() calcula un búfer de la misma forma que BufferWithTolerance, mediante la especificación de tolerance = abs(distance) * 0,001 y relative = false.

Un búfer negativo quita todos los puntos que se encuentran dentro de la distancia especificada del límite de la instancia de geography.

STBuffer() devuelve una instancia de FullGlobe en determinados casos; por ejemplo, STBuffer() devuelve una instancia de FullGlobe cuando la distancia del búfer es mayor que la distancia desde el ecuador a los polos. Un búfer no puede superar el globo terráqueo completo.

Este método produce una excepción ArgumentException en las instancias de FullGlobe donde la distancia del búfer supera la siguiente limitación:

0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 circunferencia terráquea)

El límite de distancia máxima permite que la construcción del búfer sea lo más flexible posible.

El error entre el búfer teórico y el calculado es max(tolerance, extents * 1.E-7), donde tolerance = distance * ,001. Para más información sobre las extensiones, vea Referencia de los métodos del tipo de datos geography.

Ejemplos

En el ejemplo siguiente se crea una instancia de LineString``geography. A continuación, se usa STBuffer() para devolver la región que se encuentra en un radio de 1 metro de la instancia.

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

Vea también

BufferWithTolerance (tipo de datos geography)
Métodos de OGC en instancias de Geography