Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
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 unię wszystkich wartości punktów, których odległość od wystąpienia geograficznego jest mniejsza lub równa określonej wartości, co pozwala na określoną tolerancję.
Ta metoda typu danych geografii obsługuje wystąpienia FullGlobe lub wystąpienia przestrzenne, które są większe niż półkula.
Syntax
.BufferWithTolerance ( distance, tolerance, relative )
Arguments
odległość
Jest wyrażeniem zmiennoprzecinkowym określającym odległość od wystąpienia geograficznego , w którym ma być obliczany bufor.
Maksymalna odległość buforu nie może przekroczyć 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 obwodu Ziemi) lub pełnego globusa.
tolerance
Jest wyrażeniem zmiennoprzecinkowym określającym tolerancję odległości buforu.
Maksymalna różnica w idealnej odległości buforu dla zwróconego przybliżenia liniowego jest wartością tolerancji .
Na przykład idealna odległość buforu punktu jest okręgiem, ale ta odległość musi być przybliżona przez wielokąt. Tym mniejsza tolerancja, tym więcej punktów będzie miał wielokąt. Ten wynik zwiększa złożoność wyniku, ale minimalizuje błąd.
Minimalny limit wynosi 0,1 procent odległości, a każda tolerancja mniejsza niż ta zostanie zaokrąglona do minimalnego limitu.
relative
To bit określający, czy wartość tolerancji jest względna, czy bezwzględna. Jeśli wartość to "TRUE" lub 1, tolerancja jest względna. Ta wartość jest produktem parametru tolerancji i zakresu kątowego * promień równikowy wielokropka. Tolerancja jest bezwzględna, jeśli wartość to "FALSE" lub 0. Ta wartość tolerancji jest bezwzględnym maksymalnym odchyleniami w idealnej odległości buforu dla zwróconego przybliżenia liniowego.
Typy zwracane
Typ zwracany programu SQL Server: lokalizacja geograficzna
Typ zwracany CLR: SqlGeography
Remarks
Ta metoda zgłasza wyjątek ArgumentException , jeśli odległość nie jest liczbą (NAN) lub jeśli odległość jest dodatnia lub ujemna nieskończoność. Ta metoda zgłasza również wyjątek ArgumentException , jeśli tolerancja to zero (0), a nie liczba (NaN), ujemna lub dodatnia lub ujemna nieskończoność.
STBuffer()zwróci wystąpienie FullGlobe w niektórych przypadkach; na przykład zwraca wystąpienie STBuffer() na dwóch biegunach, gdy odległość buforu jest większa niż odległość od równika do biegunów.
Ta metoda zgłosi wyjątek ArgumentException w wystąpieniach FullGlobe , w których odległość buforu przekracza następujące ograniczenie:
0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 obwód Ziemi)
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 geography Data Type Method Reference (Dokumentacja metody typu danych geografii).
Ta metoda nie jest dokładna.
Examples
Poniższy przykład tworzy Point wystąpienie i używa BufferWithTolerance() go do uzyskania przybliżonego buforu wokół niego.
DECLARE @g geography;
SET @g = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();
Zobacz też
STBuffer (typ danych geograficznych)
Rozszerzone metody w wystąpieniach geografii