次の方法で共有


SqlGeometry.Reduce メソッド

指定した SqlGeometry インスタンスを簡略化したものを返します。これは、指定された許容範囲で、特定のインスタンスに対して Douglas-Peucker アルゴリズムを実行することにより生成されます。

名前空間:  Microsoft.SqlServer.Types
アセンブリ:  Microsoft.SqlServer.Types (Microsoft.SqlServer.Types.dll)

構文

'宣言
<SqlMethodAttribute(IsDeterministic := True, IsPrecise := False)> _
Public Function Reduce ( _
    tolerance As Double _
) As SqlGeometry
'使用
Dim instance As SqlGeometry 
Dim tolerance As Double 
Dim returnValue As SqlGeometry 

returnValue = instance.Reduce(tolerance)
[SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)]
public SqlGeometry Reduce(
    double tolerance
)
[SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)]
public:
SqlGeometry^ Reduce(
    double tolerance
)
[<SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)>]
member Reduce : 
        tolerance:float -> SqlGeometry
public function Reduce(
    tolerance : double
) : SqlGeometry

パラメーター

  • tolerance
    型: System.Double
    Douglas-Peucker アルゴリズムへの入力の許容範囲を表す double です。

戻り値

型: Microsoft.SqlServer.Types.SqlGeometry
指定された許容範囲内で、呼び出し元の SqlGeometry を簡略化したものを表す SqlGeometry オブジェクトです。

説明

コレクションの場合、このアルゴリズムはインスタンスに含まれるそれぞれの SqlGeometry で個別に実行されます。

このアルゴリズムによって Point インスタンスが変更されることはありません。

LineString インスタンスでは、Douglas-Peucker アルゴリズムはインスタンスの元の始点と終点を保持し、指定された許容範囲を超えない範囲で、結果から最も離れた元のインスタンスの地点を追加する処理を繰り返します。

Polygon インスタンスでは、Douglas-Peucker アルゴリズムが各リングに個別に適用されます。 返された Polygon インスタンスが無効な場合、メソッドは FormatException を生成します。たとえば、インスタンス内の各リングを簡略化するために Reduce が適用され、その結果としてリングが重なる場合、無効な MultiPolygon インスタンスが作成されます。

関連項目

参照

SqlGeometry クラス

Microsoft.SqlServer.Types 名前空間