我有一个与映射网格上的点相关的 X 和 Y 值表,其中每对值引用每个正方形的左下角,每个值以 500 平方米的增量间隔,以形成网格结构中的点。
下面是一个包含一些类似数据的表格示例,其中 XY_ID 只是 X 和 Y 值的串联。
XY_GridPointID | X_网格点 | Y_GridPoint |
---|---|---|
250000650000 | 250000 | 650000 |
250500650500 | 250500 | 650500 |
251000651000 | 251000 | 651000 |
251500651500 | 251500 | 651500 |
252000652000 | 252000 | 652000 |
252500652500 | 252500 | 652500 |
253000653000 | 253000 | 653000 |
253500653500 | 253500 | 653500 |
254000654000 | 254000 | 654000 |
254500654500 | 254500 | 654500 |
255000655000 | 255000 | 655000 |
然后我有另一个表,每一行都有一个特定的 X 和 Y 值,该值在精确到米的值方面更具体。因此,例如特定行的 X_Value 为 252996,Y_Value 为 652818。
我想要实现的是能够查找上面显示的网格表并通过 X_GridPoint 和 Y_GridPoint 拉取特定行的 X_Value 和 Y_Value 在 500m 增量范围内的位置。
因此,对于 252996 的 X_Value 和 652818 的 Y_Value,这将找到 252500 的 X_GridPoint 和 652500 的 Y_GridPoint,这是上面示例表的第 6 行。这些值基本上会“回退”到该值之前的任何 500m 网格点,并且它永远不会“向上舍入”到下一个 500m 网格点。
带有网格点的表格将包含大约 25,000 行这些组合,并希望链接到具有特定 X 和 Y 值的大型数据集,所以想知道是否有人可以建议最好的方法来解决这个问题以及什么最有效性能。任何想法将不胜感激。
使用 SQL Server 2016