Sdílet prostřednictvím


Redukce (datový typ zeměpisu)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Vrátí aproximaci dané geografické instance vytvořené spuštěním algoritmu Douglas-Peucker na instanci s danou tolerance.

Tato metoda zeměpisného datového typu podporuje instance FullGlobe nebo prostorové instance, které jsou větší než polokoule.

Syntax

  
.Reduce ( tolerance )  

Arguments

Term Definition
tolerance Je hodnota typu float. tolerance je tolerance vstupu do algoritmu Douglas-Peucker. tolerance musí být kladné číslo.

Návratové typy

Návratový typ SQL Serveru: zeměpisná oblast

Návratový typ CLR: SqlGeography

Remarks

U typů kolekcí tento algoritmus pracuje nezávisle na jednotlivých zeměpisných oblastech obsažených v instanci. Tento algoritmus neupravuje instance bodů .

Tato metoda se pokusí zachovat koncové body instancí LineString , ale nemusí to udělat, aby se zachoval platný výsledek.

Pokud Reduce() je volána se zápornou hodnotou, tato metoda vytvoří ArgumentException. Tolerance použité v Reduce() kladných číslech.

Algoritmus Douglas-Peucker funguje na každé křivce nebo kruhu v geografické instanci odebráním všech bodů s výjimkou počátečního a koncového bodu. Každý odebraný bod se pak přidá zpět, počínaje nejbližším odlehlém bodem, dokud není žádný bod větší než tolerance od výsledku. Výsledek je pak v případě potřeby platný, protože je zaručen platný výsledek.

V SYSTÉMU SQL Server 2012 (11.x) byla tato metoda rozšířena na instance FullGlobe .

Tato metoda není přesná.

Examples

Následující příklad vytvoří LineString instanci a používá Reduce() k zjednodušení instance.

DECLARE @g geography = 'LineString(120 45, 120.1 45.1, 199.9 45.2, 120 46)'  
SELECT @g.Reduce(10000).ToString()  

Viz také

Rozšířené metody v zeměpisných instancích