我试图使用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))
在这里做一个猜测,因为你的例子有点单薄。
-- 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子句。神奇的是在连接中--你要寻找包含你的点的多边形。所以我们把它作为连接标准进行测试。