我有几何列“GEOMETRY”的多边形表“PARCELA”。如何从这些多边形创建多面体?
谢谢!
不确定这是否是您正在寻找的但是:如果您有多边形 A 和多边形 B,并且您想将它们组合为一个多边形,这就是我使用的。我需要的是把北欧国家聚集在一起,这样我就可以将它们作为一个整体打印在地图上。
我有表格国家,几何列“geom”和国家代码所在的列“ISO3”。所以我使用 ISO3 列作为我的主键。
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