Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Vrátí geometrický objekt, který představuje sjednocení všech hodnot bodů, jejichž vzdálenost od instance geometrie je menší nebo rovna zadané hodnotě, což umožňuje zadanou toleranci.
Syntax
.BufferWithTolerance ( distance, tolerance, relative )
Arguments
vzdálenost
Je plovoucí výraz určující vzdálenost od instance geometrie , kolem které se má vypočítat vyrovnávací paměť.
tolerance
Je plovoucí výraz určující tolerance vzdálenosti vyrovnávací paměti.
Tolerance odkazuje na maximální odchylku ideální vzdálenosti vyrovnávací paměti pro vrácenou lineární aproximaci.
Ideální vzdálenost vyrovnávací paměti bodu je například kruh, ale musí být přibližná mnohoúhelníkem. Čím menší je tolerance, tím více bodů bude mnohoúhelník, což zvyšuje složitost výsledku, ale snižuje chybu.
relative
Je bit určující, jestli je hodnota tolerance relativní nebo absolutní. Pokud je hodnota PRAVDA nebo 1, je tolerance relativní a vypočítá se jako součin parametru tolerance a průměr ohraničujícího rámečku instance. Pokud je hodnota NEPRAVDA nebo 0, je tolerance absolutní a hodnota tolerance je absolutní maximální variace v ideální vzdálenosti vyrovnávací paměti pro vrácenou lineární aproximaci.
Návratové typy
Návratový typ SQL Serveru: geometrie
Návratový typ CLR: SqlGeometry
Exceptions
Parametr tolerance musí být větší než nula. Pokud je tolerance< = 0, System.ArgumentOutOfRangeException vyvolá se ho.
Note
Vzhledem k tomu, že tolerance je typ float , může být vyvolán, System.Runtime.InteropServices.COMException pokud je hodnota zadaná pro tolerance velmi malá kvůli problémům se zaokrouhlováním typů s plovoucí desetinnou čárkou.
Remarks
Při vzdálenosti> 0 je vrácena instance Polygon nebo MultiPolygon .
Note
Vzhledem k tomu, že vzdálenost je plovoucí, může být ve výpočtech velmi malá hodnota rovna nule. V takovém případě se vrátí kopie volající instance geometrie . Viz float a real (Transact-SQL).
Když vzdálenost = 0, vrátí se kopie volající instance geometrie .
Při vzdálenosti< 0 pak
Prázdná instance GeometryCollection je vrácena, když dimenze instance jsou 0 nebo 1.
Záporná vyrovnávací paměť se vrátí, když jsou dimenze instance 2 nebo více.
Note
Záporná vyrovnávací paměť může také vytvořit prázdnou instanci GeometryCollection .
Záporná vyrovnávací paměť odebere všechny body v dané vzdálenosti hranice instance geometrie .
Chyba mezi teoretickou a vypočítanou vyrovnávací pamětí je max(tolerance, rozsahy * 1.E-7), kde tolerance je hodnota parametru tolerance . Další informace o rozsahech naleznete v tématu Geometry Data Type Method Reference.
Examples
Následující příklad vytvoří Point instanci a používá BufferWithTolerance() k získání přibližné vyrovnávací paměti kolem ní.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('POINT(3 3)', 0);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();
Viz také
STBuffer (datový typ geometrie)
Rozšířené metody v instancích geometrie