交差点を求める


川と交差する国道を探す等

基本

DECLARE @l1 geometry;
SET @l1 = geometry::STLineFromText('LINESTRING (100 200, 200 100)', 2448);

DECLARE @l2 geometry;
SET @l2 = geometry::STLineFromText('LINESTRING (100 100, 200 200)', 2448);

--交差する場合は 1 
SELECT @l1.STCrosses(@l2);

--交差している点を得る
DECLARE @p1 as geometry;
SET @p1 =  @l1.STIntersection(@l2);
SELECT @p1.ToString();

テーブルに適用する場合

SELECT
 TAB.*,
 DST.SHP.STIntersection(TAB.Shape) AS Points
FROM
 国道 TAB
INNER JOIN
 河川 DST
ON
 DST.SHP.STCrosses(TAB.Shape) = 1;
カテゴリー: 開発 タグ: パーマリンク