Share via


STBuffer (geografiegegevenstype)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Hiermee wordt een geografieobject geretourneerd dat de samenvoeging van alle punten vertegenwoordigt waarvan de afstand van een geografisch exemplaar kleiner is dan of gelijk is aan een opgegeven waarde.

Deze geografiegegevenstypemethode ondersteunt FullGlobe-exemplaren of ruimtelijke instanties die groter zijn dan een halfrond.

Syntax

  
.STBuffer ( distance )  

Arguments

afstand
Is een waarde van het type float (dubbel in het .NET Framework) die de afstand aangeeft van het geografische exemplaar waarmee de buffer moet worden berekend.

De maximale afstand van de buffer mag niet groter zijn dan 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 de omtrek van de aarde) of de volledige wereldbol.

Retourtypen

Retourtype SQL Server: geografie

CLR-retourtype: SqlGeography

Remarks

STBuffer() berekent een buffer op dezelfde manier als BufferWithTolerance, waarbij tolerantie = abs(afstand) * .001 en relatieve = onwaar wordt opgegeven.

Een negatieve buffer verwijdert alle punten binnen de opgegeven afstand van de grens van het geografische exemplaar.

STBuffer() retourneert in bepaalde gevallen een FullGlobe-instantie ; Retourneert bijvoorbeeld STBuffer() een FullGlobe-instantie wanneer de bufferafstand groter is dan de afstand van de evenaar naar de polen. Een buffer kan de volledige wereldbol niet overschrijden.

Deze methode genereert een ArgumentException in FullGlobe-exemplaren waarbij de afstand van de buffer de volgende beperking overschrijdt:

0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 de omtrek van de aarde)

Met de maximale afstandslimiet kan de constructie van de buffer zo flexibel mogelijk zijn.

De fout tussen de theoretische en berekende buffer is max(tolerantie, gebieden * 1.E-7) waarbij tolerantie = afstand * .001. Zie de naslaginformatie over geografiegegevenstypen voor meer informatie over gebieden.

Examples

In het volgende voorbeeld wordt een LineString``geography exemplaar gemaakt. Vervolgens wordt STBuffer() de regio binnen 1 meter van het exemplaar geretourneerd.

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

Zie ook

BufferWithTolerance (geografiegegevenstype)
OGC-methoden voor geografieexemplaren