指定した 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 を超える点がなくなるまで戻されます。 有効な結果が保証されるように、必要に応じて結果が有効になります。
このメソッドは決定的ですが、正確ではありません。