共用方式為


Reduce (geography 資料類型)

適用於:SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體

傳回在給定 geography 執行個體上執行 Douglas-Peucker 演算法 (具有給定的容錯) 所產生之該執行個體的近似值。

這個 geography 資料類型方法可支援 FullGlobe 執行個體或大於半球的空間執行個體。

Syntax

  
.Reduce ( tolerance )  

注意

若要檢視 SQL Server 2014 (12.x) 和更早版本的 Transact-SQL 語法,請參閱舊版文件

引數

詞彙 定義
tolerance 這是 float 類型的值。 tolerance 是輸入到 Douglas-Peucker 演算法的容錯。 tolerance 必須是正數。

傳回型別

SQL Server 傳回類型:geography

CLR 傳回類型:SqlGeography

備註

如果是集合類型,這個演算法會在此執行個體包含的每一個 geography 上獨立運作。 此演算法不會修改 Point 執行個體。

這個方法會嘗試保留 LineString 執行個體的端點,但為了保留有效的結果,這項嘗試可能會失敗。

如果使用負值呼叫 Reduce(),這個方法會產生 ArgumentException。 在 Reduce() 中使用的容錯必須是正數。

Douglas-Peucker 演算法可作用於 geography 執行個體中的每個曲線或環形,且會移除起點和終點以外的所有點。 接著會從最外圍的點開始加回每個移除的點,直到沒有點超出結果的 tolerance。 若有必要,之後會將結果設為有效,因為此方法保證結果有效。

在 SQL Server 2012 (11.x) 中,此方法已擴充至 FullGlobe 執行個體。

這個方法並不精確。

範例

下列範例會建立 LineString 執行個體,並使用 Reduce() 來簡化此執行個體。

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

另請參閱

地理例項上擴充的方法