繁体   English   中英

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

[英]How to find the points that did not intersect with STIntersect using SQL Server

我使用两个表以及点到指定多边形的交点执行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运行时,我得到了重复的几何值。如何编写查询以给我不与多边形相交的点的名称。 还有一种方法可以检查相交的位置是否正确。

如果您得到重复的值,则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
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM