首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从多边形表创建多重多边形

如何从多边形表创建多重多边形
EN

Stack Overflow用户
提问于 2012-04-07 23:45:44
回答 1查看 1.8K关注 0票数 1

我有一个多边形表"PARCELA“,带有几何列" geometry”。如何从这些多边形创建多重多边形?

谢谢!

EN

Stack Overflow用户

发布于 2012-07-17 19:35:25

不确定这是否是你要找的,但是:如果你有多边形A和多边形B,并且你想把它们组合成一个多边形,这里就是我使用的。我需要的是把北欧国家聚集在一起,这样我就可以把它们作为一个整体打印在地图上。

我有表国家与几何列"geom“和列"ISO3”,其中国家代码所在。所以我使用ISO3列作为我的主键。

代码语言:javascript
运行
复制
DECLARE @gtbl TABLE(g geometry, id INT)
INSERT INTO @gtbl 
SELECT null,1

DECLARE @t TABLE(PK INT Identity(1,1), ISO3 VARCHAR(3))

INSERT INTO @t
Select ISO3 From countries WHERE ISO3 in ('FIN','SWE','NOR','DNK')

Declare @maxPK int; Select @maxPK = MAX(PK) From @t
Declare @pk int; Set @pk = 1

While @pk <= @maxPK

Begin

    IF ((SELECT g FROM @gtbl) IS NULL)
        BEGIN
            UPDATE gtbl SET g = c.Geom.MakeValid()
            FROM @gtbl gtbl, countries c WHERE  c.ISO3 in (Select ISO3 From @T Where PK = @pk)
        END
    ELSE
        BEGIN
            UPDATE gtbl SET g = g.STUnion(c.Geom.MakeValid())
            FROM @gtbl gtbl, countries c
            WHERE  c.ISO3 in (Select ISO3 From @T Where PK = @pk)
        END

    Select @pk = @pk + 1
End


SELECT * FROM @gtbl
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10055846

复制
相关文章

相似问题

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