BufferWithTolerance (geography データ型)
geography インスタンスからの距離が指定した値以下であるすべての地点値の和集合を表す、指定した許容範囲以内のジオメトリック オブジェクトを返します。
構文
.BufferWithTolerance ( distance, tolerance, relative )
引数
distance
バッファー計算の対象となる geography インスタンスからの距離を指定する float 式です。tolerance
バッファー距離の許容範囲を指定する float 式です。許容範囲値とは、返された線形近似の理想的なバッファー距離の最大幅のことです。
たとえば、ある地点の理想のバッファー距離は円ですが、多角形によって近似された形状になる必要があります。許容範囲が小さいほど、多角形の頂点の数は多くなります。つまり、計算結果の複雑性が増しますが、元の図形との差が小さくなります。
relative
tolerance 値が相対値か絶対値かを指定する bit です。"TRUE" または 1 の場合、許容範囲は相対値です。楕円の赤道半径と角度と tolerance パラメーターの積として計算されます。"FALSE" または 0 の場合、許容範囲は絶対値です。tolerance 値は、返された線形近似の理想的なバッファー距離の最大幅になります。
戻り値の型
SQL Server の戻り値の型: geography
CLR の戻り値の型: SqlGeography
説明
バッファーに負の値を指定すると、geography インスタンスの境界から、指定した距離の範囲内にある地点がすべて削除されます。
理論上のバッファーと計算されたバッファー間の誤差は max(tolerance, extents * 1.E-7) であり、ここで tolerance は、tolerance パラメーターの値です。extents の詳細については、「geography データ型メソッド リファレンス」を参照してください。
例
Point インスタンスを作成し、BufferWithTolerance() を使用して、インスタンスの周りの大まかなバッファーを取得する例を次に示します。
DECLARE @g geography;
SET @g = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();