Udostępnij przez


STBuffer (typ danych geograficznych)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Zwraca obiekt geografii reprezentujący związek wszystkich punktów, których odległość od wystąpienia geograficznego jest mniejsza lub równa określonej wartości.

Ta metoda typu danych geografii obsługuje wystąpienia FullGlobe lub wystąpienia przestrzenne, które są większe niż półkula.

Syntax

  
.STBuffer ( distance )  

Arguments

odległość
Jest wartością typu zmiennoprzecinkowego (dwukrotnie w programie .NET Framework) określającą odległość od wystąpienia geografii , w którym ma być obliczany bufor.

Maksymalna odległość buforu nie może przekraczać 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 obwodu Ziemi) lub pełnego globusa.

Typy zwracane

Typ zwracany programu SQL Server: lokalizacja geograficzna

Typ zwracany CLR: SqlGeography

Remarks

Funkcja STBuffer() oblicza bufor w taki sam sposób jak BufferWithTolerance, określając tolerancję = abs(odległość) * .001 i względne = .

Bufor ujemny usuwa wszystkie punkty w danej odległości od granicy wystąpienia geografii .

STBuffer()zwróci wystąpienie FullGlobe w niektórych przypadkach; na przykład zwraca wystąpienie STBuffer(), gdy odległość buforu jest większa niż odległość od równika do biegunów. Bufor nie może przekraczać całego świata.

Ta metoda zgłosi wyjątek ArgumentException w wystąpieniach FullGlobe , w których odległość buforu przekracza następujące ograniczenie:

0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 obwód Ziemi)

Maksymalny limit odległości pozwala na tak elastyczną konstrukcję buforu, jak to możliwe.

Błąd między buforem teoretycznym i obliczonym jest max(tolerancja, zakresy * 1.E-7), gdzie tolerancja = odległość * .001. Aby uzyskać więcej informacji na temat zakresów, zobacz geography Data Type Method Reference (Dokumentacja metody typu danych geografii).

Examples

Poniższy przykład tworzy LineString``geography wystąpienie. Następnie użyje STBuffer() metody , aby zwrócić region w ciągu 1 miernika wystąpienia.

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

Zobacz też

BufferWithTolerance (typ danych geograficznych)
Metody OGC w wystąpieniach geograficznych