1

Entity Framework 5.0 と SQL サーバー ジオメトリ タイプを使用しています。ポイントを取り、そのポイントのバッファーと交差し、特定の属性要件を満たす線を見つけようとしています。これは可能ですか?

STIntersect メソッドは知っていますが、これらは 2 つの機能の比較として機能しているようです。ライン データセットと 1 つのポイントがあります。そのため、どれだけの結果が得られるかわかりません。

4

1 に答える 1

1

STBuffer ジオメトリ メソッドを使用して、ポイントの周囲の領域を取得し、それを変数 (または任意の場所) に格納できます。そこから、STIntersects を使用して、線分を調べることができます。そのようです:

DECLARE @g geometry, @l geometry;
SELECT @g = geometry::STGeomFromText('POINT(0 0)', 0),
@l = geometry::STGeomFromText('LINESTRING(0 1, 4 0)', 0);

SELECT @g, @l, @g.STBuffer(1), @l.STIntersects(@g.STBuffer(1));

また、地理空間を行っている場合は、適切なデータ型 (地理と幾何学) を使用するという私の標準的な警告が適用されます。

于 2013-05-31T21:40:28.417 に答える