Reduce (geography 資料類型)
適用於:SQL Server
Azure 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()
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應