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 představující sjednocení všech hodnot bodů, jejichž vzdálenost od zeměpisné instance je menší nebo rovna zadané hodnotě, což umožňuje zadanou toleranci.
Tato metoda zeměpisného datového typu podporuje instance FullGlobe nebo prostorové instance, které jsou větší než polokoule.
Syntax
.BufferWithTolerance ( distance, tolerance, relative )
Arguments
vzdálenost
Je plovoucí výraz určující vzdálenost od zeměpisné instance, kolem které se má vypočítat vyrovnávací paměť.
Maximální vzdálenost vyrovnávací paměti nesmí překročit 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 Obvod Země) nebo celý glóbus.
tolerance
Je plovoucí výraz určující tolerance vzdálenosti vyrovnávací paměti.
Maximální variace ideální vzdálenosti vyrovnávací paměti pro vrácenou lineární aproximaci je hodnota tolerance.
Ideální vzdálenost vyrovnávací paměti bodu je například kruh, ale tato vzdálenost musí být přibližná mnohoúhelníkem. Čím menší je tolerance, tím více bodů bude mnohoúhelník obsahovat. Tento výsledek zvyšuje složitost výsledku, ale minimalizuje chybu.
Minimální limit je 0,1 % vzdálenosti a jakákoli tolerance menší než je zaokrouhlená nahoru na minimální limit.
relative
Je bit určující, jestli je hodnota tolerance relativní nebo absolutní. Pokud je hodnota PRAVDA nebo 1, je tolerance relativní. Tato hodnota je součin parametru tolerance a angulární rozsah * rovníkový poloměr elipsoidu. Tolerance je absolutní, pokud je hodnota NEPRAVDA nebo 0. Tato hodnota tolerance je absolutní maximální variace ideální vzdálenosti vyrovnávací paměti pro vrácenou lineární aproximaci.
Návratové typy
Návratový typ SQL Serveru: zeměpisná oblast
Návratový typ CLR: SqlGeography
Remarks
Tato metoda vyvolá ArgumentException , pokud vzdálenost není číslo (NAN) nebo pokud je vzdálenost kladná nebo záporná nekonečno. Tato metoda také vyvolá ArgumentException , pokud je tolerance nula (0), nikoli číslo (NaN), záporné nebo kladné nebo záporné nekonečno.
STBuffer()vrátí instanci FullGlobe v určitých případech; Například vrátí instanci STBuffer() na dvou pólech, pokud je vzdálenost vyrovnávací paměti větší než vzdálenost od rovníku k pólům.
Tato metoda vyvolá argumentException v FullGlobe instance, kde vzdálenost vyrovnávací paměti překračuje následující omezení:
0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 Obvod Země)
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 rozsadách najdete v referenční dokumentaci k metodě datového typu zeměpisu.
Tato metoda není přesná.
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 geography;
SET @g = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();
Viz také
STBuffer (zeměpisný datový typ)
Rozšířené metody v zeměpisných instancích