次の方法で共有


SqlGeography.Reduce メソッド

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

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

構文

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

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

パラメーター

  • tolerance
    型: System.Double
    Douglas-Peucker アルゴリズムへの入力の許容範囲を表す double です。 tolerance には正の数値を指定する必要があります。

戻り値

型: Microsoft.SqlServer.Types.SqlGeography
現在のインスタンスを簡略化したものを表す SqlGeography 値です。

説明

コレクションの場合、このアルゴリズムはインスタンスに含まれるそれぞれの SqlGeography で個別に実行されます。 このアルゴリズムによって Point インスタンスが変更されることはありません。

このメソッドでは、LineString インスタンスのエンドポイントを保持しようとしますが、有効な結果を保持するために、エンドポイントの保持に失敗する場合があります。

負の値を指定して Reduce が呼び出された場合、このメソッドでは ArgumentException が発生します。 Reduce で使用される許容範囲は正の数値である必要があります。

Douglas-Peucker アルゴリズムでは、開始点と終了点以外のすべての点を取り除くことで、geography インスタンス内の各曲線またはリングを処理します。 その後、取り除かれた各点が、最も遠くの範囲外の点から始めて、結果から tolerance を超える点がなくなるまで戻されます。 有効な結果が保証されるように、必要に応じて結果が有効になります。

このメソッドは決定的ですが、正確ではありません。

関連項目

参照

SqlGeography クラス

Microsoft.SqlServer.Types 名前空間