2016-05-12 4 views

答えて

1

ポリゴンはそこに含まれる領域を表しているため、ポリゴンはそれ自身が領域になります。しかし、境界線の交差点を計算すると、探しているものが得られるはずです。それには:

declare 
    @a geometry = geometry::STGeomFromText('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))', 0), 
    @b geometry = geometry::STGeomFromText('POLYGON((1 1, 1 3, 3 3, 3 1, 1 1))', 0), 
    @c geometry 


select @c = @a.STBoundary().STIntersection(@b.STBoundary()); 

select @c.STPointN(n).ToString() 
from Util.dbo.Numbers as n 
where n.n <= @c.STNumPoints(); 

最後の選択はデモンストレーションのための装飾です。一般的なケースでは、交差点がポイントのセットになることはわかりません(たとえば、2つのポリゴンがエッジを共有する場合、交差点は共有エッジになります)。

+0

ありがとうございました。 –

関連する問題