次の方法で共有


BufferWithTolerance (geometry データ型)

geometry インスタンスから各地点までの距離が指定した許容範囲内にある、すべての地点値の和集合を表すジオメトリック オブジェクトを返します。

構文

.BufferWithTolerance (distance,tolerance,relative)

引数

  • distance
    バッファー計算の対象となる geometry インスタンスからの距離を指定する float 式です。

  • tolerance
    バッファー距離の許容範囲を指定する float 式です。

    許容範囲とは、返された線形近似の理想的なバッファー距離の最大幅のことです。

    たとえば、ある地点の理想のバッファー距離は円ですが、多角形によって近似された形状になる必要があります。許容範囲が小さいほど、多角形の頂点の数は多くなります。つまり、計算結果の複雑性が増しますが、元の図形との差が小さくなります。

  • relative
    tolerance 値が相対値か絶対値かを指定する bit です。"TRUE" または 1 の場合許容範囲は相対値で、tolerance パラメーターとインスタンスに外接する四角形の直径の積として計算されます。"FALSE" または 0 の場合許容範囲は絶対値で、tolerance 値は返された線形近似の理想的なバッファー距離の最大幅の絶対値です。

戻り値の型

SQL Server の戻り値の型 : geometry

CLR の戻り値の型 : SqlGeometry

説明

バッファーに負の値を指定すると、geometry インスタンスの境界から、指定された距離の範囲内にあるすべての地点が削除されます。

理論的に計算されたバッファー間の誤差は max(tolerance, extents * 1.E-7) です。ここで、tolerance は tolerance パラメーターの値です。extents の詳細については、「geometry データ型メソッド リファレンス」を参照してください。

Point インスタンスを作成し、BufferWithTolerance() を使用して、インスタンスの周りの大まかなバッファーを取得する例を次に示します。

DECLARE @g geometry;
SET @g = geometry::STGeomFromText('POINT(3 3)', 0);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();