STBuffer (tipo di dati geography)
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 )
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
SQL Server tipo restituito: geography
Tipo CLR restituito: SqlGeography
Osservazioni
STBuffer() consente di calcolare un buffer in modo analogo a BufferWithTolerance, specificando tolerance abs(distanza) * 0,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à ArgumentException nelle istanze FullGlobe in cui la distanza del buffer eccede 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 calcolato e quello teorico è max(tolerance, extents * 1.E-7) dove tolerance = distance * .001. Per ulteriori informazioni su extents, vedere 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();
Vedere anche
Riferimento
BufferWithTolerance (tipo di dati geography)