Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Olyan geometriai objektumot ad vissza, amely az összes olyan pontérték egyesítését jelöli, amelynek a mértani példánytól való távolsága kisebb vagy egyenlő egy megadott értéknél, ami lehetővé teszi a megadott tűrést.
Syntax
.BufferWithTolerance ( distance, tolerance, relative )
Arguments
távolság
Egy lebegőpontos kifejezés, amely megadja a geometriai példány távolságát, amely körül ki kell számítani a puffert.
tolerance
A puffer távolságának tűrését meghatározó lebegőpontos kifejezés.
A tolerancia a visszaadott lineáris közelítés ideális puffertávolságának maximális eltérésére utal.
Például egy pont ideális puffertávolsága egy kör, de ezt sokszög alapján kell megközelíteni. Minél kisebb a toleranciája, annál több ponttal rendelkezik a sokszög, ami növeli az eredmény összetettségét, de csökkenti a hibát.
relative
Egy bit , amely meghatározza, hogy a tűrésérték relatív vagy abszolút. Ha "IGAZ" vagy 1, akkor a tűrés relatív, és a tűrésparaméter szorzataként és a példány határolókeretének átmérőjeként számítják ki. Ha "HAMIS" vagy 0, akkor a tűrés abszolút, a tűrésérték pedig a visszaadott lineáris közelítés ideális puffertávolságának abszolút legnagyobb változása.
Visszatérési típusok
SQL Server visszatérési típusa: geometria
CLR visszatérési típus: SqlGeometry
Exceptions
A tűrésparaméternek nullánál nagyobbnak kell lennie. Ha a tolerancia< = 0, akkor egy System.ArgumentOutOfRangeException van dobva.
Note
Mivel a tűrésegy lebegőpontos típus, akkor lehet dobni, System.Runtime.InteropServices.COMException ha a tűrésérték nagyon kicsi a lebegőpontos típusok kerekítési problémái miatt.
Remarks
Ha a távolság> 0, akkor a függvény egy polygon vagy MultiPolygon példányt ad vissza.
Note
Mivel a távolság lebegőpontos, egy rendkívül kis érték nullával egyenlő lehet a számításokban. Ha ez történik, a hívó geometriapéldány egy példánya lesz visszaadva. Lásd : lebegőpontos és valós (Transact-SQL).
Ha a távolság = 0, akkor a hívó geometriapéldány egy példánya lesz visszaadva.
Ha a távolság< 0, akkor
A rendszer üres GeometryCollection-példányt ad vissza, ha a példány mérete 0 vagy 1.
A rendszer negatív puffert ad vissza, ha a példány mérete 2 vagy több.
Note
A negatív puffer üres GeometryCollection-példányt is létrehozhat.
A negatív puffer eltávolítja az összes pontot a geometriapéldány határának megadott távolságán belül.
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 a tűrésparaméter értéke. A kiterjedésekkel kapcsolatos további információkért lásd a geometria adattípusának metódusreferenciáit.
Examples
Az alábbi példa létrehoz egy példányt Point , és egy durva puffert kér BufferWithTolerance() le körülötte.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('POINT(3 3)', 0);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();
Lásd még:
STBuffer (geometriai adattípus)
Kiterjesztett módszerek geometriai példányokon