STBuffer (tipo di dati geography)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure

Restituisce un oggetto geografico che rappresenta l'unione di tutti i punti la cui distanza da un'istanza geography è minore o uguale a un valore specificato.

Questo metodo con tipo di dati geography supporta le istanze FullGlobe o le istanze spaziali con dimensioni maggiori di un emisfero.

Sintassi

  
.STBuffer ( distance )  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

distance
Valore di tipo float (double in .NET Framework) che specifica la distanza dall'istanza geography intorno alla quale calcolare il buffer.

La distanza massima del buffer non può superare 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 della circonferenza della Terra) o l'intero globo.

Tipi restituiti

Tipo SQL Server restituito: geography

Tipo CLR restituito: SqlGeography

Osservazioni:

STBuffer() calcola un buffer in modo analogo a BufferWithTolerance, specificando tolerance = abs(distance) * .001 e relative = false.

Un buffer negativo consente di rimuovere tutti i punti all'interno della distanza specificata del limite dell'istanza geography.

STBuffer() restituisce un'istanza FullGlobe in determinati casi; ad esempio, STBuffer() restituisce un'istanza FullGlobe quando la distanza del buffer è maggiore della distanza dall'equatore ai poli. Un buffer non può superare l'intero globo.

Questo metodo genererà un'eccezione ArgumentException nelle istanze FullGlobe in cui la distanza del buffer supera il limite seguente:

0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 della circonferenza della Terra)

Il limite massimo della distanza consente la massima flessibilità per la costruzione del buffer.

L'errore tra il buffer teorico e quello calcolato è max(tolerance, extents * 1.E-7), dove tolerance = distance * .001. Per altre informazioni sulle estensioni, vedere la Guida di riferimento ai metodi per il tipo di dati geography.

Esempi

Nell'esempio seguente viene creata un'istanza LineString``geography. e viene utilizzato STBuffer() per restituire l'area all'interno di 1 metro dell'istanza.

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

Vedi anche

BufferWithTolerance (tipo di dati geography)
Metodi OGC sulle istanze di geografia