我正在尝试使用空间查询来获取多边形中的点,问题是这些点和多边形在同一个SQL表中,我附加了一张带有Select Query结果的图片,其中您可以看到最后3条记录是包含点的多边形。
我已经用一个点尝试过了,但它不起作用,因为我需要一个列表,其中包含空间查询中多边形及其内部的点的名称。
DECLARE @POI geography;
DECLARE @POLYGON geography;
SET @POI = (SELECT TOP 1 GEO FROM POI WHERE LAYERID <> 1026);
SET @POLYGON = (SELECT TOP 1 GEO FROM POI WHERE LAYERID = 1026);
SELECT @POLYGON.STContains(@POI);发布于 2017-04-28 22:46:20
类似这样的代码应该可以:
select [point].ID, [poly].ID
from GEO as [point]
join GEO as [poly]
on [point].LAYERID <> 1026
and [poly].LAYERID = 1026
and [poly].GEO.STContains([poly].GEO]) = 1;当然,一旦你完成了匹配,你就可以select任何你想要的东西(我选择了各自的I)。
https://stackoverflow.com/questions/43680864
复制相似问题