联合SQL Server表中的所有几何,如Postgres中的GeomUnion [英] Union all geometry in a SQL Server table like GeomUnion in Postgres
本文介绍了联合SQL Server表中的所有几何,如Postgres中的GeomUnion的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
先说明一下:我说的是联合几何图形,而不是SQL关键字UNION
。
我正在尝试将一些空间数据从带有PostGIS的Postgres迁移到SQL Server2008。一切都很好,直到我看到这样的声明:
SELECT GeomUnion(the_geom) FROM some_table
这将合并该列中的所有几何图形,并将其作为一个结果返回(类似于COUNT
的工作方式)。据我所知,SQL Server只有STUnion
函数,它将一个几何图形与另一个几何图形合并在一起。有没有办法做一些类似波斯格雷斯的事情?
如果有帮助,STUnion
函数的工作方式如下:
SELECT first_geometry_column.STUnion(second_geometry_column) FROM some_table
推荐答案
我最终这样做的方式是使用变量:
DECLARE @Shape GEOMETRY
SET @Shape = GEOMETRY::STGeomFromText('GEOMETRYCOLLECTION EMPTY', @MySrid)
SELECT @Shape = @Shape.STUnion(Shape)
FROM MyShapeTable
它不是很好,但它很好用。
这篇关于联合SQL Server表中的所有几何,如Postgres中的GeomUnion的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文