Sql server 2012 在SQL Server中查找与多边形的坐标
我在这里遇到了一点麻烦,这应该很简单,但我似乎无法让它工作。我已经将一个形状文件(取自GIS)中的多个多边形加载到SQL Server数据库中。我还有一张表,上面有纬度和经度的列表,存储为十进制。我所要做的就是返回每个坐标所在的多边形的Id(或者如果它不在任何一个坐标中,则返回它最接近的那个坐标,但这不应该发生) 我尝试了一些方法,例如:Sql server 2012 在SQL Server中查找与多边形的坐标,sql-server-2012,spatial-query,Sql Server 2012,Spatial Query,我在这里遇到了一点麻烦,这应该很简单,但我似乎无法让它工作。我已经将一个形状文件(取自GIS)中的多个多边形加载到SQL Server数据库中。我还有一张表,上面有纬度和经度的列表,存储为十进制。我所要做的就是返回每个坐标所在的多边形的Id(或者如果它不在任何一个坐标中,则返回它最接近的那个坐标,但这不应该发生) 我尝试了一些方法,例如: SELECT A.Id, B.Id FROM dbo.TableA A JOIN dbo.TableB B ON A.geometryColumn.STI
SELECT A.Id, B.Id
FROM dbo.TableA A
JOIN dbo.TableB B ON A.geometryColumn.STIntersects(B.geom27700) = 1;
及
它们都不返回任何内容。涉及的数据类型包括:
geometryColumn AS geometry::STPointFromText('POINT ('+convert(varchar(20),LocationLong)+' '+convert(varchar(20),LocationLat)+')',0)
geom27700 geometry
有人能看到我哪里出了问题,或者我能做些什么来修复吗?这是针对SQL Server 2012的
谢谢
亚历克斯
geometryColumn AS geometry::STPointFromText('POINT ('+convert(varchar(20),LocationLong)+' '+convert(varchar(20),LocationLat)+')',0)
geom27700 geometry