共用方式為


Reduce (geometry 資料類型)

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

語法

.Reduce ( tolerance )

引數

  • tolerance
    這是 float 類型的值。tolerance 是輸入到 Douglas-Peucker 演算法的容錯。

傳回類型

SQL Server 傳回類型: geometry

CLR 傳回類型: SqlGeometry

備註

如果是集合類型,這個演算法會在此例項包含的每一個 geometry 上獨立運作。

這個演算法並不會修改 Point 例項。

在 LineString 例項上,Douglas-Peucker 演算法會保留此例項的原始起點和終點,並反覆將原始例項中與結果偏差最大的點加回來,直到沒有任何點的偏差超過給定的容錯為止。

在 Polygon 例項上,Douglas-Peucker 演算法會獨立套用到每一個環形。如果傳回的 Polygon 例項無效,此方法將會產生 FormatException;例如,如果套用 Reduce() 來簡化例項中的每一個環形,就會建立無效的 MultiPolygon 例項,而且產生的環形將會重疊。

範例

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

DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 0, 0 1, 1 0, 2 1, 3 0, 4 1)', 0);
SELECT @g.Reduce(.75).ToString();

請參閱

其他資源