空间查询(在多边形中查找点)在应该返回任何内容时不会返回任何内容



首次海报!我有一个定义的闭合多边形,其中包含我在Google地图上画并在SQL查询中定义的一组坐标。我有一个包含形状属性的数据库(我不确定它是几何或地理类型,但我曾尝试过(。

我试图在数据库表中获取形状在多边形内部的所有条目(纬度和经度坐标也可以也可以(。当多边形内部和多边形外部有一些点时,我什么都没有。运行WHERE @g.STIntersects(Shape) = 0也没有获取任何东西,所以我确定这不是果皮方向问题。

我正在运行SQL Server2012。我尝试了ST包含和ST Intersects,我还尝试采用RAW的坐标,从纬度和经度添加了新的几何点,并查看这些点是否与我的Polygon相交,但是出现同样的问题。其他各种帖子相似,但没有达到我问题的根源。

DECLARE @g geometry = geometry::STGeomFromText('polygon ((
-123 45, 
... 
-123 44
-123 45 ))', 4326);
SELECT *
FROM [Database file].[schema name].[table name]
WHERE @g.STIntersects(Shape) = 1

我应该得到多边形内部的点列表,即使手检查坐标表明有些点是,我什么也没得到

我已经弄清楚了问题是什么:显然,我的数据库中的形状文件的srid不是4326,而是其他一些怪异的值。因此,stintersects函数的恢复为无效,而不是0或1。

我保证,在发布之前,我花了很多时间在我的帖子之前花更多的时间来自行弄清楚它。

相关内容

最新更新