sql - 如何使用 SQL Server 使用它们所在的多边形的 ID 填充点表中的字段?
问题描述
我正在尝试使用 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;
我已将其编码为选择,但更新部分在那里 - 只需取消注释并注释掉选择子句。魔术就在连接中 - 您正在寻找包含您的点的多边形。因此,我们将其作为连接标准进行测试。
推荐阅读
- vue.js - 使用 vue-cli 和 vue-cli-service 是一种不好的做法吗?
- c++ - 用其他派生类C++重载基类的成员函数
- javascript - 如何在正常函数调用之前显示一些东西而不是之后停止显示?
- python - Tkinter 按钮颜色
- python - PyQt5 QGridLayout 大小不正确
- r - r kmeans 重复运行中集群的一致顺序
- c# - c# 在 char(253) 分隔符上将字符串转换为数组
- x86 - 写入和读取的持久内存缓存策略
- python - 如何在 pandas resample().mean() 和 resample().sum() 时禁用 nans 计算?
- python - 为什么即使我手动将它们放入包缓存中,Anaconda 仍会尝试下载包?