geography インスタンスからの距離が指定した値以下となる、すべての地点の和集合を表す geography オブジェクトを返します。
この geography データ型メソッドは、半球より大きい FullGlobe インスタンスまたは空間インスタンスをサポートします。
構文
.STBuffer ( distance )
引数
distance
geography インスタンスからのバッファーの幅の距離を指定するための float (.NET Framework では double) 型の値です。バッファーの最大距離は、0.999 * π * minorAxis * minorAxis / majorAxis (~ 0.999 * 地球の円周の 1/2) で求められる値または全球を超えることはできません。
戻り値の型
SQL Server の戻り値の型:geography
CLR の戻り値の型: SqlGeography
説明
STBuffer() は、tolerance = abs(distance) * .001、relative = false を指定して BufferWithTolerance を呼び出すのと同じ方法でバッファーを計算します。
バッファーに負の値を指定すると、geography インスタンスの境界から、指定された距離の範囲内にある地点がすべて削除されます。
STBuffer() は、FullGlobe インスタンスを返すことがあります。たとえば、バッファーの距離が赤道から極地までの距離を超えている場合、STBuffer() は FullGlobe を返します。 バッファーは全球を超えることはできません。
このメソッドは、バッファーの距離が次の制限値を超えている場合、FullGlobe インスタンスで ArgumentException をスローします。
0.999 * π * minorAxis * minorAxis / majorAxis (~ 0.999 * 地球の円周の 1/2)
最大距離の制限により、バッファーを構築する際の柔軟性が最大限に高まります。
理論上のバッファーと計算されたバッファー間の誤差は max(tolerance, extents * 1.E-7) であり、ここで tolerance = distance * .001 です。 extents の詳細については、「geography データ型メソッド リファレンス」を参照してください。
使用例
次の例では、LineString geography インスタンスを作成します。 次に、STBuffer() を使用して、インスタンスから 1 m 以内にある領域を返します。
DECLARE @g geography;
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SELECT @g.STBuffer(1).ToString();
関連項目
参照
BufferWithTolerance (geography データ型)