STBuffer (tipo de datos geography)
Devuelve un objeto de geografía 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 de tipo de datos de geografía admite instancias de FullGlobe o instancias espaciales mayores que un hemisferio.
Sintaxis
.STBuffer ( distance )
Argumentos
distance
Es un valor de tipo float (double en .NET Framework) que especifica la distancia desde la instancia de geography alrededor de la cual se puede calcular el búfer.La distancia máxima del búfer no puede superar 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 circunferencia terráquea) o todo el globo terráqueo.
Tipos de valor devueltos
SQL Server , tipo de valor devuelto: geography
Tipo de valor devuelto de CLR: SqlGeography
Comentarios
STBuffer() calcula un búfer de la misma forma que BufferWithTolerance, especificando tolerance = abs(distancia) * 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() devolverá una instancia de FullGlobe en ciertos 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 producirá 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 obtener más información sobre extents, 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
Referencia
BufferWithTolerance (tipo de datos geography)