Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Zwraca obiekt geometryczny reprezentujący związek wszystkich wartości punktów, których odległość od wystąpienia geometrii jest mniejsza lub równa określonej wartości, co pozwala na określoną tolerancję.
Syntax
.BufferWithTolerance ( distance, tolerance, relative )
Arguments
odległość
Jest wyrażeniem zmiennoprzecinkowym określającym odległość od wystąpienia geometrii , wokół którego ma być obliczany bufor.
tolerance
Jest wyrażeniem zmiennoprzecinkowym określającym tolerancję odległości buforu.
Tolerancja odnosi się do maksymalnej odchylenia w idealnej odległości buforu dla zwróconego przybliżenia liniowego.
Na przykład idealna odległość buforu punktu jest okręgiem, ale musi być przybliżona przez wielokąt. Mniejsza tolerancja, tym więcej punktów będzie miał wielokąt, co zwiększa złożoność wyniku, ale zmniejsza błąd.
relative
To bit określający, czy wartość tolerancji jest względna, czy bezwzględna. Jeśli wartość "TRUE" lub 1, tolerancja jest względna i jest obliczana jako produkt parametru tolerancji i średnicy pola ograniczenia wystąpienia. Jeśli wartość "FAŁSZ" lub 0, tolerancja jest bezwzględna, a wartość tolerancji jest bezwzględnym maksymalnym odchyleniami w idealnej odległości buforu dla zwróconego przybliżenia liniowego.
Typy zwracane
Zwracany typ programu SQL Server: geometria
Typ zwracania CLR: SqlGeometry
Exceptions
Parametr tolerancji musi być większy niż zero. Jeśli tolerancja< = 0, System.ArgumentOutOfRangeException jest zgłaszany.
Note
Ponieważ tolerancja jest typem zmiennoprzecinkowym , można zgłosić wartość, System.Runtime.InteropServices.COMException jeśli wartość podana dla tolerancji jest bardzo mała z powodu problemów z zaokrąglaniem typów zmiennoprzecinkowych.
Remarks
Gdy zostanie zwrócona odległość > 0, zwracane jest wystąpienie Wielokąta lub MultiPolygonu.
Note
Ponieważ odległość jest zmiennoprzecinkowa, bardzo mała wartość może równa się zero w obliczeniach. W takim przypadku zostanie zwrócona kopia wywołania wystąpienia geometrii . Zobacz float i real (Transact-SQL).
Gdy odległość = 0, zwracana jest kopia wywołania wystąpienia geometrii .
Odległość< 0
Puste wystąpienie GeometryCollection jest zwracane, gdy wymiary wystąpienia to 0 lub 1.
Bufor ujemny jest zwracany, gdy wymiary wystąpienia są co najmniej 2.
Note
Bufor ujemny może również utworzyć puste wystąpienie GeometryCollection .
Bufor ujemny usuwa wszystkie punkty w danej odległości od granicy wystąpienia geometrii .
Błąd między buforem teoretycznym i obliczonym jest max(tolerancja, zakresy * 1.E-7), gdzie tolerancja jest wartością parametru tolerancji . Aby uzyskać więcej informacji na temat zakresów, zobacz geometryczna dokumentacja metody typów danych.
Examples
Poniższy przykład tworzy Point wystąpienie i używa BufferWithTolerance() go do uzyskania przybliżonego buforu wokół niego.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('POINT(3 3)', 0);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();
Zobacz też
STBuffer (geometria typu danych)
Metody rozszerzone w wystąpieniach geometrycznych