代码之家  ›  专栏  ›  技术社区  ›  Brendan Long

合并SQL Server表中的所有几何体,如Postgres中的GeomUnion

  •  11
  • Brendan Long  · 技术社区  · 14 年前

    UNION .

    我正在尝试用PostGIS将Postgres中的一些空间数据移动到sqlserver2008。很好,直到我看到这样的声明:

    SELECT GeomUnion(the_geom) FROM some_table
    

    COUNT STUnion 函数,将一个几何体与另一个几何体合并。有没有什么办法可以做一些类似于博士后的事情?

    眩晕 函数的工作原理如下:

    SELECT first_geometry_column.STUnion(second_geometry_column) FROM some_table
    
    3 回复  |  直到 14 年前
        1
  •  11
  •   nportelli    11 年前

    UnionAggregate函数是否仅适用于SQL2012?

    SELECT geography::UnionAggregate( geometry ) FROM some_table
    

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

        2
  •  9
  •   Brendan Long    14 年前

    我最后的做法是使用变量:

    DECLARE @Shape GEOMETRY
    SET @Shape = GEOMETRY::STGeomFromText('GEOMETRYCOLLECTION EMPTY', @MySrid)
    
    SELECT @Shape = @Shape.STUnion(Shape)
      FROM MyShapeTable
    

    虽然没那么好,但很管用。

        3
  •  5
  •   Goran    14 年前

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