首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >联合SQL Server表中的所有几何,如Postgres中的GeomUnion

联合SQL Server表中的所有几何,如Postgres中的GeomUnion
EN

Stack Overflow用户
提问于 2010-07-21 02:37:35
回答 3查看 15.6K关注 0票数 12

首先要澄清的是:我说的是联合几何图形,而不是SQL关键字UNION

我正在尝试将一些空间数据从Postgres with PostGIS迁移到SQL Server2008。它很好,直到我看到这样一条语句:

代码语言:javascript
运行
复制
SELECT GeomUnion(the_geom) FROM some_table

这将合并该列中的所有几何图形,并将其作为一个结果返回(类似于COUNT的工作方式)。据我所知,SQL Server只有STUnion函数,它将一个几何图形与另一个几何图形合并在一起。有没有办法做一些类似Postgres的事情?

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

代码语言:javascript
运行
复制
SELECT first_geometry_column.STUnion(second_geometry_column) FROM some_table
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-13 00:46:42

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

代码语言:javascript
运行
复制
DECLARE @Shape GEOMETRY
SET @Shape = GEOMETRY::STGeomFromText('GEOMETRYCOLLECTION EMPTY', @MySrid)

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

它不是很好,但它很有效。

票数 9
EN

Stack Overflow用户

发布于 2014-02-19 02:42:34

UnionAggregate函数是否仅为SQL2012?

代码语言:javascript
运行
复制
SELECT geography::UnionAggregate( geometry ) FROM some_table

嗯,我想是的。http://technet.microsoft.com/en-us/library/ff929095.aspx

票数 12
EN

Stack Overflow用户

发布于 2011-03-05 14:51:27

您最好的选择是创建一个CLR函数来支持聚合。现有的解决方案有几种:

  • Sql spatial tools
  • Spatail aggregate
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3293190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档