我的数据库包含不同的对象,如多边形和点。每个点都存储有单独的半径和索引。
使用以下sql查询检索点半径内的所有对象。
declare @g geometry select @g = Geom from obj where ObjectIndex = 1
declare @i float select @i = radius from obj where ObjectIndex = 1
select * from obj WITH(index(idx_Spatial)) where
Geom.STIntersects(@g.STBuffer(@i)) = 1
我如何更改查询以获取Polygon对象(声明对象)中的所有点?我尝试了以下查询但没有成功。 Rembember:Radius与众不同!
declare @g geometry select @g = Geom from obj where ObjectIndex = 2
select * from obj WITH(index(idx_Spatial)) where
@g.STIntersects(Geom.STBuffer(radius)) = 1
查询处理器无法为具有的查询生成查询计划 空间索引提示