检索地图Polygon Telerik中的点

时间:2017-04-28 13:00:01

标签: sql-server telerik polygon spatial spatial-query

我试图通过空间查询获取多边形内的点,问题是点和多边形在同一个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);

1 个答案:

答案 0 :(得分:0)

这样的事情应该做:

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任何您想要的内容(我选择了相应的ID)。