Sql server 检索地图多边形Telerik中的点
我试图通过空间查询获得多边形内的点,问题是点和多边形在同一个SQL表中,我附加了一张图片,结果是,你可以看到最后3条记录是包含点的多边形 我试过一个点,但它不起作用,因为我需要一个列表,其中包含多边形的名称和空间查询中的点Sql server 检索地图多边形Telerik中的点,sql-server,telerik,polygon,spatial,spatial-query,Sql Server,Telerik,Polygon,Spatial,Spatial Query,我试图通过空间查询获得多边形内的点,问题是点和多边形在同一个SQL表中,我附加了一张图片,结果是,你可以看到最后3条记录是包含点的多边形 我试过一个点,但它不起作用,因为我需要一个列表,其中包含多边形的名称和空间查询中的点 DECLARE @POI geography; DECLARE @POLYGON geography; SET @POI = (SELECT TOP 1 GEO FROM POI WHERE LAYERID <> 1026);
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);
这样做应该可以:
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;
当然,一旦你完成了匹配,你可以选择你想要的任何东西,我选择了相应的ID