如何使用SQL Server在点数据表中用它们所在的多边形的ID来填充一个字段?

问题描述 投票:0回答:1

我试图使用SQL Server更新点数据表中的一个字段,用每个点所在的多边形的ID来更新。我还没有在网上找到一个很好的例子,如果有任何帮助,我将感激不尽。我把我目前的代码包括在内,尽管我知道它是错误的。

Update Points
Set Points.Loc_ID = Polygon.Area_ID 
Where GlobalID IN 
        (GlobalID IN (Select Points.GlobalID 
                      from Points
                      Join Polygon ON (Polygon.SHAPE).STIntersects(Polygon.SHAPE) = 1))
sql sql-server gis
1个回答
0
投票

在这里做一个猜测,因为你的例子有点单薄。

-- update Points
-- set Loc_ID = Polygon.Area_ID
select Points.geoColumn, Points.Loc_ID, Polygon.Area_ID 
from Points
join Polygon
    on Polygon.SHAPE.STContains(Points.geoColumn) = 1;

我把它编成了一个select,但是更新的部分在那里--只需取消注释,并注释出select子句。神奇的是在连接中--你要寻找包含你的点的多边形。所以我们把它作为连接标准进行测试。

© www.soinside.com 2019 - 2024. All rights reserved.