和集合的演算


ベン図ぽく表現すると下記のような形、外部領域用意しないと表現としては多少違う気がするが…

--図形1
DECLARE @geom1 AS GEOMETRY;
SET @geom1 = GEOMETRY::Point ( 5, 0, 0 );
SET @geom1 = @geom1.STBuffer(7);

--図形2
DECLARE @geom2 AS GEOMETRY;
SET @geom2 = GEOMETRY::Point ( -5, 0, 0 );
SET @geom2 = @geom2.STBuffer(7);

--論理積(AND)
--STIntersection
--http://technet.microsoft.com/ja-jp/library/bb933832.aspx
SELECT @geom1.STIntersection(@geom2);

--論理和(OR)
--STUnion
--http://technet.microsoft.com/ja-jp/library/bb933850.aspx
SELECT @geom1.STUnion(@geom2);

--XOR
--STSymDifference
--http://technet.microsoft.com/ja-jp/library/bb933820.aspx
SELECT @geom1.STSymDifference(@geom2);
カテゴリー: 開発 パーマリンク