Megosztás a következőn keresztül:


STBuffer (földrajzi adattípus)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Olyan földrajzi objektumot ad vissza, amely azoknak a pontoknak az egyesítését jelöli, amelyek távolsága egy földrajzi példánytól kisebb vagy egyenlő egy adott értéknél.

Ez a földrajzi adattípus-módszer támogatja a FullGlobe-példányokat vagy a félgömbnél nagyobb térbeli példányokat.

Syntax

  
.STBuffer ( distance )  

Arguments

távolság
A lebegőpontos (a .NET-keretrendszerben dupla ) típusú érték, amely megadja a földrajzi példánytól a puffer kiszámításához szükséges távolságot.

A puffer maximális távolsága nem haladhatja meg a 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 Föld kerülete) vagy a teljes földgömb.

Visszatérési típusok

SQL Server visszatérési típusa: földrajzi hely

CLR visszatérési típusa: SqlGeography

Remarks

Az STBuffer() a PufferWithTolerance értékével megegyező módon számítja ki a puffert, megadva a tűrés = abs(távolság) * .001 és relatív = hamis értéket.

A negatív puffer eltávolítja az összes pontot a földrajzi példány határától megadott távolságon belül.

STBuffer()bizonyos esetekben FullGlobe-példányt ad vissza; Például egy STBuffer() ad vissza, ha a puffer távolsága nagyobb, mint az egyenlítőtől a pólusokig. A puffer nem haladhatja meg a teljes gömböt.

Ez a metódus egy ArgumentException metódust küld a FullGlobe-példányokban , ahol a puffer távolsága meghaladja a következő korlátozást:

0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 Föld kerülete)

A maximális távolságkorlát lehetővé teszi, hogy a puffer felépítése a lehető legrugalmasabb legyen.

Az elméleti és a számított puffer közötti hiba a max(tolerancia, mértékek * 1.E-7), ahol a tolerancia = távolság * .001. A mértékekkel kapcsolatos további információkért lásd a földrajzi adattípus módszerének referenciaadatait.

Examples

Az alábbi példa létrehoz egy példányt LineString``geography . Ezután STBuffer() a példánytól számított 1 méteren belül adja vissza a régiót.

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

Lásd még:

BufferWithTolerance (földrajzi adattípus)
OGC-metódusok a földrajzi példányokon