我一直在努力解决这个问题,但一无所获,所以我希望比我更有技能的人能找到答案。
我有两张表,其中一张是一组纬度和经度坐标作为单独的列。在第二个中,我将多边形形状设置为空间几何列。
目标是从表 1 中选择所有的纬度和经度对,可以分别称为:
SQLSTRING = "从 dbo.Table1 中选择 LAT、LONG;"
可以使用脚本语言循环调用第二个表,以使用以下查询逐个解析每个结果:
SQLSTRING = "SELECT * FROM dbo.Table2 a WHERE a.POLY.STContains(geometry::STPointFromText('POINT(" & - 表 1 中的文本经度值- & " " & - 表 1 中的文本纬度值- & ") ',0))=1;"
所以,我的困境是肯定有可能从表 1 中选择所有项目并通过查询运行它们,该查询仅返回表 1 中的纬度和经度包含在表 2 中存储的任何指定多边形内的结果。脚本语言循环显然效率低下,因此可以替换它并返回任何匹配项的单个 SQL 查询将节省大量时间和资源。
任何帮助或指示将不胜感激。预先感谢您的建议。