Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric Preview
Retourneert een geometrisch object dat de samenvoeging vertegenwoordigt van alle puntwaarden waarvan de afstand van een geometrie-exemplaar kleiner is dan of gelijk is aan een opgegeven waarde, waardoor een opgegeven tolerantie mogelijk is.
Syntax
  
.BufferWithTolerance ( distance, tolerance, relative )  
Arguments
              distance
Is een float-expressie die de afstand aangeeft van het geometrieexemplaren om de buffer te berekenen.
              tolerance
Is een float-expressie die de tolerantie van de bufferafstand aangeeft.
Tolerantie verwijst naar de maximale variatie in de ideale bufferafstand voor de geretourneerde lineaire benadering.
De ideale bufferafstand van een punt is bijvoorbeeld een cirkel, maar dit moet bij benadering worden berekend door een veelhoek. Hoe kleiner de tolerantie, hoe meer punten de veelhoek heeft, wat de complexiteit van het resultaat verhoogt, maar de fout afneemt.
              relative
Is een bit die aangeeft of de tolerantiewaarde relatief of absoluut is. Als 'TRUE' of 1, dan is tolerantie relatief en wordt berekend als het product van de tolerantieparameter en de diameter van het begrenzingsvak van het exemplaar. Als 'ONWAAR' of 0 is, is tolerantie absoluut en is de tolerantiewaarde de absolute maximumvariatie in de ideale bufferafstand voor de geretourneerde lineaire benadering.
Return Types
Retourtype SQL Server: geometrie
CLR-retourtype: SqlGeometry
Exceptions
De tolerantieparameter moet groter zijn dan nul. Als tolerantie< = 0 wordt er een System.ArgumentOutOfRangeException gegenereerd.
Note
Omdat tolerantie een float-type is, kan er een System.Runtime.InteropServices.COMException worden gegenereerd als de opgegeven waarde voor tolerantie zeer klein is vanwege de afrondingsproblemen met drijvendekommatypen.
Remarks
Wanneer afstand> 0 wordt geretourneerd, wordt een Polygon - of MultiPolygon-exemplaar geretourneerd.
Note
Omdat de afstand een float is, kan een extreem kleine waarde gelijk zijn aan nul in de berekeningen. Wanneer dit gebeurt, wordt een kopie van het aanroepende geometrie-exemplaar geretourneerd. Zie float en real (Transact-SQL).
Wanneer afstand = 0 wordt een kopie van het aanroepende geometrieexemplaar geretourneerd.
Wanneer afstand< 0 dan
Er wordt een leeg GeometryCollection-exemplaar geretourneerd wanneer de afmetingen van het exemplaar 0 of 1 zijn.
Er wordt een negatieve buffer geretourneerd wanneer de dimensies van het exemplaar 2 of meer zijn.
Note
Een negatieve buffer kan ook een leeg GeometryCollection-exemplaar maken.
Een negatieve buffer verwijdert alle punten binnen de opgegeven afstand van de grens van het geometrieexemplaren .
De fout tussen de theoretische en berekende buffer is max(tolerantie, gebieden * 1.E-7) waarbij tolerantie de waarde is van de tolerantieparameter . Zie de naslaginformatie over methode voor geometriegegevenstypen voor meer informatie over gebieden.
Examples
In het volgende voorbeeld wordt een Point exemplaar gemaakt en gebruikt BufferWithTolerance() om een ruwe buffer eromheen te verkrijgen.
DECLARE @g geometry;  
SET @g = geometry::STGeomFromText('POINT(3 3)', 0);  
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();  
See Also
              STBuffer (geometriegegevenstype)
              Uitgebreide methoden voor geometrieexemplaren