是否可以将包含多多边形的形状文件导入PostGIS中的单个多边形?每当我try 导入多边形的形状文件时,它都存储为geom
列中的多多边形(与单个多边形相反).因此,我无法将其从多多边形中提取为单个多边形值.
非常感谢所有有用的建议
是否可以将包含多多边形的形状文件导入PostGIS中的单个多边形?每当我try 导入多边形的形状文件时,它都存储为geom
列中的多多边形(与单个多边形相反).因此,我无法将其从多多边形中提取为单个多边形值.
非常感谢所有有用的建议
您可以将ST_GeometryN与ST_NumGeometries和generate_series函数一起使用,以获得所需的内容.
假设你有Jakub例子中的表格:
CREATE TABLE multi AS(
SELECT 1 as id, 2 as test, ST_GeomFromText('MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0)),((1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))') AS geom
);
这个包含一个多多边形、一个id和另一列.
要从包含所有其他属性的表中获取每个多边形,请try 以下操作:
SELECT id, test, ST_GeometryN(geom, generate_series(1, ST_NumGeometries(geom))) AS geom
FROM multi
"id"和"test"是原始表中每一行的值.
因此,您将在单独的单个几何图形部分拆分每个多几何图形,而其他列中的值保持不变.
只需将示例中的列和表格替换为导出的shapefile中的列,就可以得到带有单个多边形的表格.
希望这能回答你的问题.