如何使用SQL Server查找与STIntersect不相交的点

时间:2015-11-06 07:13:07

标签: sql sql-server tsql

我使用两个表格和一个给定多边形的点的交点来执行STInteract。我已经将所有表转换为所有表的几何。我在为此编写查询时遇到问题。我试图寻找不相交的点。

这是我的两张桌子

  • PO_Database =包含要点
  • POLY_Database =感兴趣的多边形

这是我的剧本:

SELECT GEOM 
FROM [dbo].[PO_Database] as PO
JOIN [dbo].[POLY_Database] as p ON hwy.GEOM.STIntersects(p.NEATCELL) = 1

我尝试将值从1更改为0,但是当查询以0运行时,我得到几何的重复值。如何编写查询以给出与多边形不相交的点的名称。还有一种方法可以检查交叉点是否正确。

1 个答案:

答案 0 :(得分:0)

如果您获得重复值,则POLY_Database表中可能有多行。如果要查找与这些多边形不相交的点,请尝试以下查询:

SELECT GEOM 
FROM [dbo].[PO_Database] as PO
WHERE NOT EXISTS (
    SELECT * FROM [dbo].[POLY_Database] as p 
    WHERE hwy.GEOM.STIntersects(p.NEATCELL) = 1
)