我有一个具有几何列的表。这些几何图形通常是多多边形或多行字符串,我希望将它们分解成它们的组成部分,而不重复其他数据。现在我使用以下命令:
CREATE TABLE newTable AS SELECT index, ST_Dump(geometry) AS geometry FROM initialTable
这工作没有问题,并产生newTable
与多边形和线串和initialTable
包含其他相关信息的行参考列。
然而,我想将这里发现的进度跟踪纳入其中,因为上述语句可能需要一些时间。
因此,我想把上面的语句分成两部分:1)创建表2)填充表第一个方法很简单,但是填充表让我觉得一个multilinestring行可以创建许多linestring行。
如有任何帮助,不胜感激。
在SELECT
中使用ST_Dump
并将结果集重定向到INSERT
语句,例如:
CREATE TABLE newTable (gid int, geom geometry(linestring,4326));
INSERT INTO newtable
SELECT (ST_Dump(geom)).path[1],(ST_Dump(geom)).geom
FROM initialTable;