只是为了提前澄清一下:我说的是联合几何,而不是SQL关键字UNION。
UNION
我正在尝试将一些空间数据从带有PostGIS的Postgres迁移到SQL Server2008。这很好,直到我看到类似这样的语句:
SELECT GeomUnion(the_geom) FROM some_table
这将合并该列中的所有几何并将其作为一个结果返回(类似于COUNT工作原理)。据我所知,SQL Server仅具有将STUnion一个几何图形与另一个几何图形合并的功能。有什么办法可以做类似于Postgres的方法吗?
COUNT
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
它不是很好,但是可以。