我无法在SQL Spatial表中获取多边形以合并有计算列的位置。
原始查询效果很好:
SELECT RollNumber, Geometry_SPA.STArea() AS SqMetres, Geometry, geometry::UnionAggregate(Geometry_SPA.MakeValid()) AS Geometry_SPA
FROM dbo.LegalParcel
GROUP BY RollNumber, Geometry, Geometry_SPA.STArea()
它返回一组由其税卷编号合并的多边形。
但是我们想知道区域,所以我们添加了一个计算列:
columngeometry::UnionAggregate(Geometry_SPA.STArea()) As SqMetres
由于这需要将Geometry_SPA添加到Group By,现在应该合并的多边形将作为离散记录返回。
我尝试将聚合添加到新的SqMetres列
{{1}}
然而,结果是错误'操作数类型碰撞:浮动与几何'
不兼容如何获得必要的合并记录?
请注意,有人想知道为什么有两个几何列:这是我们的GIS软件的要求。
答案 0 :(得分:0)
显然,问题可追溯到源表中的一些可疑多边形。运行后
更新dbo.legalparcel设置Geometry_SPA = Geometry_SPA.MakeValid() 其中Geometry_SPA.STIsValid()= 0
我现在使用原始计算列获得正确的结果。