小编典典

合并SQL Server表中的所有几何图形,例如Postgres中的GeomUnion

sql

只是为了提前澄清一下:我说的是联合几何,而不是SQL关键字UNION

我正在尝试将一些空间数据从带有PostGIS的Postgres迁移到SQL Server2008。这很好,直到我看到类似这样的语句:

SELECT GeomUnion(the_geom) FROM some_table

这将合并该列中的所有几何并将其作为一个结果返回(类似于COUNT工作原理)。据我所知,SQL
Server仅具有将STUnion一个几何图形与另一个几何图形合并的功能。有什么办法可以做类似于Postgres的方法吗?

如果有帮助,该STUnion函数的工作方式如下:

SELECT first_geometry_column.STUnion(second_geometry_column) FROM some_table

阅读 267

收藏
2021-03-23

共1个答案

小编典典

我最终做到这一点的方法是使用变量:

DECLARE @Shape GEOMETRY
SET @Shape = GEOMETRY::STGeomFromText('GEOMETRYCOLLECTION EMPTY', @MySrid)

SELECT @Shape = @Shape.STUnion(Shape)
  FROM MyShapeTable

它不是很好,但是可以。

2021-03-23